D - Hello XTCPC

    xiaoxiao2022-07-14  170

    添加链接描述@TOC

    把x,t,C,p,c的出现次数记录下来,前提是每个字母出现的的次数小于前面的时候,才加一,以此来保证序列的顺序

    #include<stdio.h> #include<string.h> char s[200010]; int b[200010]; int main() { int i,n,a1,a2,a3,a4,a5,len,count; while(~scanf("%d",&n)) { a1=a2=a3=a4=a5=0; scanf("%s",s); len=strlen(s); count=0; for(i=0;i<len;i++) { if(s[i]= =‘x’) a1++; if(s[i]= =‘t’&&a2<a1) a2++; if(s[i]= =‘C’&&a3<a2) a3++; if(s[i]= =‘p’&&a4<a3) a4++; if(s[i]==‘c’&&a5<a4) a5++; if(a1&&a2&&a3&&a4&&a5) { count++;//序列出现次数加一,各字母数减一 a1–; a2–; a3–; a4–; a5–; } } printf("%d\n",count); } return 0; }

    最新回复(0)