Flippy Sequence

    科技2022-09-10  119

    题目连接:

    https://vjudge.net/problem/ZOJ-4060

     

    思路:遍历找到俩个字符串不同的段数,通过观察可以发现,假设段数X

    1.X=0   C(n,2)+n

    2 X=1  2*(n-1) 自己可以推算一下

    3 X=2      6

    4 X> =3   0

     

     

     

     

    code :

    #include<iostream> #include<cstdio> using namespace std; const int N=1e6+10; typedef long long ll; char s[N],t[N]; int main() { int T; ll n; scanf("%d\n",&T); while(T--){ scanf("%lld",&n); scanf("%s",s+1); scanf("%s",t+1); int ans=0; for(int i=1;i<=n;i++){ if(s[i]!=t[i]){ ans++; while(s[i]!=t[i]){ i++; } } } if(ans==0) printf("%lld\n",n*(n+1)/2); else if(ans==1) printf("%lld\n",(n-1 )*2); else if(ans==2 ) printf("6\n"); else printf("0\n"); } return 0; }

     

    Processed: 0.013, SQL: 9