Mammoth's Genome Decoding,测英语,测手速,测网速

来源:互联网 发布:淘宝运费险能赔付多少 编辑:程序博客网 时间:2024/04/28 17:23

Codeforces Round #387 (Div. 2)B. Mammoth’s Genome Decoding
这道题善良到不行,就是测你会不会手抖而已,
依次分配AGCT就好了,如果符合就输出

#include <iostream>#include <cstdio>#include <cstring>int main(){    int n;    char s[300];    scanf("%d",&n);    scanf("%s",s);    if(n%4!=0){        printf("===\n");        return 0;    }else {        int a,g,c,t,wen,aver = n/4;        a=g=c=t=wen=0;        for(int i=0;i<n;++i){            if(s[i]=='A')a++;            else if(s[i]=='G')g++;            else if(s[i]=='C')c++;            else if(s[i]=='T')t++;            else wen++;        }        if(a>aver || g>aver || c>aver || t>aver){            printf("===\n");            return 0;        }        if(a+wen<aver || g+wen<aver || c+wen<aver || t+wen<aver ){            printf("===\n");            return 0;        }        for(int i=0;i<n;++i){            if(s[i]=='?'){                if(a<aver){                    s[i]='A';                    a++;                }else if(g<aver){                    s[i]='G';                    g++;                }else if(c<aver){                    s[i]='C';                    c++;                }else if(t<aver){                    s[i]='T';                    t++;                }            }        }        if(a==aver && g==aver && c==aver && t==aver)printf("%s\n",s);        else printf("===\n");    }    return 0;}
0 0