問題はこちら
No.559 swapAB列 - yukicoder
求めるものは転倒数と同値
先頭から見ていってAが登場する度に、それ以前に登場したBの個数を数えれば良い
char s[99]; b,ans,n; main(){ gets(s); n=strlen(s); for(int i=0;i<n;i++){ if(s[i]=='A')ans+=b; if(s[i]=='B')b++; } printf("%d",ans); }
'A'は66、'B'は65なので、%2と%5でそれぞれ01にすることができる
b,s; main(c){ for(;read(0,&c,1);b+=c%5)s+=c%2*b; printf("%d",s); }
62B