菜鸟求助,问一道题
  • 板块学术版
  • 楼主gaojizhe05
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/11/11 18:39
  • 上次更新2023/11/11 20:25:12
查看原帖
菜鸟求助,问一道题
699271
gaojizhe05楼主2023/11/11 18:39

菜鸟求助——T396767[10 月入门赛-G] 基因

问题

过了样例,但测试点全部UKE
希望大佬帮处一下,谢谢!

错误代码

#include <bits/stdc++.h>
using namespace std;
int T,n,ans;
string x,y;
bool isa,isb;
char c[4]={'A','T','C','G'};
char p[4][2]={{'A','T'},{'T','A'},{'C','G'},{'G','C'}};
int main(){
	cin>>T;
	for(int i=1;i<=T;i++){
		cin>>n>>x;
		ans=0;
		isa=0;isb=0;
		for(int j=0,k=n-1;j<n;j++,k--){
		    y[j]=x[k];
		    //cout<<x[k]<<' '<<y[j]<<endl;
		}
		for(int j=0;j<n;j++){
			char a=x[j],b=y[j];
			//cout<<a<<' '<<b<<endl;
			for(int k=0;k<4;k++){
				if(a==c[k]) isa=1;
				if(b==c[k]) isb=1;
			}
			if(isa==0||isb==0){
				ans=0;
				break;
			}
			for(int k=0;k<4;k++){
				//cout<<a<<' '<<b<<' '<<p[k][0]<<' '<<p[k][1]<<endl;
			    if(a==p[k][0]&&b==p[k][1]){
			    	ans+=j+1;
			    	break;
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
2023/11/11 18:39
加载中...