uva1584 环状序列,我的方法是字母转数字,大佬帮看看哪里出问题了?
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
char a[100],b[200],d[200];
int c[100]={0};
cin>>a;
int len=strlen(a);
memcpy(b,a,sizeof(char)*len);
for(int n=0; n<len; n++)
b[len+n]=b[n];//将数组扩大一倍
memcpy(d,b,sizeof(char)*len*2);
for(int x=0; x<2*len; x++)
switch(b[x])
{
case 'A':
b[x]='1';
break;
case 'C':
b[x]='2';
break;
case 'G':
b[x]='3';
break;
case 'T':
b[x]='4';
break;
}
for(int i=0; i<len; i++)
for(int j=i; j<i+len; j++)
c[i]+=c[i]*10+b[j]-'0';
int count=0,temp=0;
for(int fhyu=0; fhyu<len; fhyu++)
for(int lap=0; lap<len; lap++)
{
if(c[fhyu]<=c[lap])
count++;
if(count==len)
temp=fhyu;
}
for(int bat=temp; bat<temp+len; bat++)
cout<<d[bat];
cout<<endl;
}
return 0;
}
qq_49705193
2020/11/27 09:06- c++
- 点赞
- 收藏
- 回答