【LA3461】Leonardo的笔记本

白书例题。

#include<bits/stdc++.h>
using namespace std;
char s[200],vis[200],cnt[200];
inline int read(){
    int f=1,x=0;char ch;
    do{ch=getchar();if(ch=='-')f=-1;}while(ch<'0'||ch>'9');
    do{x=x*10+ch-'0';ch=getchar();}while(ch>='0'&&ch<='9');
    return f*x;
}
int main(){
    int T=read();
    while(T--){
        scanf("%s",s);memset(cnt,0,sizeof(cnt));memset(vis,0,sizeof(vis));
        for(int i=0;i<26;i++)
            if(!vis[i]){
                int j=i,n=0;
                do{vis[j]=1;j=s[j]-'A';++n;}while(j!=i);
                cnt[n]++;
            }
        int flag=1;
        for(int i=2;i<=26;i+=2)if(cnt[i]%2)flag=0;
        if(flag)puts("Yes");else puts("No");
    }
}
原文地址:https://www.cnblogs.com/zcysky/p/6906081.html