您的位置:首页 > 其它

sicily 1035 DNA matching

2011-05-20 21:09 260 查看
//刚开始误以为输入的链长都是相同的,导致WA了半天,郁闷!参考了网上一位同学的才发现这个问题。
//也正因为输入的链长是不一致的,所以对于输入我们用动态处理的方式去处理,而不是全部输入后再统计。以下代码非原创....
#include <iostream>
#include <string>
#include <set>
using namespace std;

int main()
{
int test,n,i,ix;
cin>>test;
while(test--)
{
cin>>n;
int count = 0;
set<string> Set;
for(i = 0;i < n;i++)
{
string s,temp;
cin>>s,temp = s;
for(ix = 0;ix < s.size();ix++)
{
if(s[ix]=='A')          temp[ix] = 'T';
else if(s[ix]=='T')     temp[ix] = 'A';
else if(s[ix]=='G')     temp[ix] = 'C';
else if(s[ix]=='C')     temp[ix] = 'G';
}
set<string>::iterator iter = Set.find(temp);
if(iter!=Set.end())         { count++; Set.erase(iter);	}
else                        Set.insert(s);
}
cout<<count<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: