首页 > 代码库 > POJ 2159

POJ 2159

稍加分析后,你会发现,就是统计次数而已

#include <iostream>#include <cstdio>using namespace std;int a[110],b[110];int aa[30],bb[30];char cipher[110],m[110];int main(){	while(scanf("%s",cipher)!=EOF){		scanf("%s",m);		if(strlen(cipher)!=strlen(m)){			printf("NO\n");			continue;		}		memset(a,0,sizeof(a));		memset(b,0,sizeof(b));		memset(aa,0,sizeof(aa));		memset(bb,0,sizeof(bb));		a[0]=26;		b[0]=26;		for(int i=0;cipher[i]!=‘\0‘;i++){			a[aa[cipher[i]-‘A‘]]--;			a[(++aa[cipher[i]-‘A‘])]++;		}		for(int i=0;m[i]!=‘\0‘;i++){			b[bb[m[i]-‘A‘]]--;			b[(++bb[m[i]-‘A‘])]++;		}		bool flag=true;		for(int i=0;i<110;i++){			if(a[i]!=b[i]){				flag=false;				break;			}		}		if(flag){			printf("YES\n");		}		else{			printf("NO\n");		}	}	return 0;}

  

POJ 2159