poj 3128
置换分数幂性质。
代码:
#include<iostream>
#include<fstream>
using namespace std;
void read(){
// ifstream cin("in.txt");
int i,j,k,s;
cin>>k;
char c[30];
int num[30];
int v[30];
while(k--){
cin>>c;
memset(v,0,sizeof(v));
memset(num,0,sizeof(num));
for(i=0;i<26;i++)
if(v[i]==0)
{
j=0;s=i;
while(c[s]-'A'!=i)
{
j++;
v[c[s]-'A']=1;
s=c[s]-'A';
}
j++;
v[i]=1;
num[j]++;
}
for(i=2;i<=26;i+=2)
if(num[i]%2)
{
cout<<"No"<<endl;
break;
}
if(i>26) cout<<"Yes"<<endl;
}
}
int main(){
read();
return 0;
}
浙公网安备 33010602011771号