uva1339古老的密碼
阿新 • • 發佈:2018-12-26
此題比較簡單,主要一點就是注意字串的元素可以交換順序然後才對映。
注意,在排序的地方可以直接呼叫c語言中的qsort函式或者c++語言中的sort函式。
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char str1[105],str2[105]; memset(str1,'A',sizeof(str1)); memset(str2,'A',sizeof(str2)); while(scanf("%s %s",str1,str2)==2) { int fq1[26]={0},fq2[26]={0}; int n=strlen(str1); for(int i=0;i<n;i++) { int a1=str1[i]-'A',a2=str2[i]-'A'; fq1[a1]++; fq2[a2]++; } for(int j=0;j<25;j++) for(int k=0;k<25-j;k++) { if(fq1[k]>fq1[k+1]) {int temp=fq1[k];fq1[k]=fq1[k+1];fq1[k+1]=temp;} if(fq2[k]>fq2[k+1]) {int temp=fq2[k];fq2[k]=fq2[k+1];fq2[k+1]=temp;} } int ok=1; for(int i=0;i<26;i++) if(fq1[i]!=fq2[i]) {printf("NO\n");ok=0;break;} if(ok) printf("YES\n"); memset(str1,'A',sizeof(str1)); memset(str2,'A',sizeof(str2)); } return 0; }