2016 第七届 蓝桥杯 国赛 碱基
来源:互联网 发布:虚拟机下安装linux 编辑:程序博客网 时间:2024/06/05 19:36
碱基
生物学家正在对n个物种进行研究。
其中第i个物种的DNA序列为s[i],其中的第j个碱基为s[i][j],碱基一定是A、T、G、C之一。
生物学家想找到这些生物中一部分生物的一些共性,他们现在关注那些至少在m个生物中出现的长度为k的连续碱基序列。准确的说,科学家关心的序列用2m元组(i1,p1,i2,p2….im,pm)表示,
满足:
1<=i1
package lq.lq2016;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map.Entry;import java.util.Scanner;public class BasicGroup2 { static int n,m,k,ans=0; static int mod=1000000007; static String[]S,num; static int[] start; static HashMap<String,Integer> mp = new HashMap<String,Integer>(); static HashSet<String> result = new HashSet<String>(); static void dfs(int ind ){ if(ind==n){ ArrayList<String> set = new ArrayList<String>(); StringBuffer[] s = new StringBuffer[n]; for(int i = 0;i < n;i++) s[i] = new StringBuffer(""); for(int i = 0;i < n;i++) { if(!num[i].equals("")) { if(!set.contains(num[i])) { set.add(num[i]); s[set.size() - 1].append(i); s[set.size() - 1].append(start[i]); } else { int j = set.indexOf(num[i]); s[j].append(i); s[j].append(start[i]); } } } for(int i = 0;i < n;i++) { if(s[i].toString().length() == m * 2) { if(!result.contains(s[i].toString())){ ans = (ans + 1) % mod; result.add(s[i].toString()); } } } return; } String str=S[ind]; num[ind]=""; dfs(ind+1); for(int i=0;(i+k)<=str.length();i++){ String tmp=str.substring(i,i+k); num[ind]=tmp; start[ind] = i; dfs(ind+1); } } public static void main(String[] args) { Scanner in =new Scanner(System.in); n = in.nextInt(); m = in.nextInt(); k = in.nextInt(); S = new String[n]; start=new int[n]; for(int i = 0;i < n;i++) S[i] = in.next(); num=new String[n]; dfs(0); System.out.println(ans);}}
阅读全文
0 0
- 2016 第七届 蓝桥杯 国赛 碱基
- 第七届 蓝桥杯 决赛 碱基(哈希,不保证对)
- 2016 第七届 蓝桥杯 国赛 机器人塔
- 2016 第七届 蓝桥杯 国赛 路径之谜
- 互补的碱基链
- 配对碱基链
- 【OpenJudge】配对碱基链
- 07:配对碱基链
- 7.配对碱基链
- 第七届 蓝桥杯 省赛 第七题 剪邮票
- 第七届 蓝桥杯 5题
- 蓝桥杯第七届 平方怪圈
- 蓝桥杯第七届 有奖猜谜
- 蓝桥杯第七届 生日蜡烛
- 蓝桥杯第七届方格填数法二
- 蓝桥杯--第七届决赛:反幻方
- 蓝桥杯--第七届决赛:打靶
- 蓝桥杯第七届-生日蜡烛
- 2017 蓝桥杯模拟 风险度量
- 设置JTable每行的颜色
- 第一个Kotlin程序
- SpringMVC--JSON数据
- 2016 第七届 蓝桥杯 国赛 路径之谜
- 2016 第七届 蓝桥杯 国赛 碱基
- 系统研发随记
- Spring--IOC
- 2016 第七届 蓝桥杯 国赛 机器人塔
- 9. Palindrome Number
- 用好你的Control键(针对类Unix系统用户)
- 【python开发】利用PIP3的时候出现的问题Fatal error in launcher: Unable to create process using '"'
- Python学习笔记(三)
- CompletionService