为什么样例输出三个0?
查看原帖
为什么样例输出三个0?
1054257
AndyCGM楼主2024/3/17 13:06
#include <iostream>
#include <string>
using namespace std;
int main(){
    int T;
    cin >> T;
    for (int i=1; i<=T; i++){
        int ans=0;
        string s;
        cin >> s;
        int isUnstable=0;
        for (int i=0; i<s.size(); i++){
            if (s[i]!='A' && s[i]!='T' && s[i]!='C' && s[i]!='G'){
                cout << 0;
                isUnstable++;
                break;
            }
        }
        if (isUnstable) continue;
        for (int i=0; i<s.size(); i++){
            //一个是s[i],一个是s[s.size()-i-1]
            int flag=0;
            flag+=(s[i]=='A' && s[i]=='T');
            flag+=(s[i]=='T' && s[i]=='A');
            flag+=(s[i]=='C' && s[i]=='G');
            flag+=(s[i]=='G' && s[i]=='C');
            if (flag){
                ans+=i;
                ans++;
            }
        }
        cout << ans << endl;
    }
}
2024/3/17 13:06
加载中...