标签:des style blog http io color ar os sp
Description
Input
Output
Sample Input
tarp given score refund only trap work earn course pepper part XXXXXX resco nfudre aptr sett oresuc XXXXXX
Sample Output
score ****** refund ****** part tarp trap ****** NOT A VALID WORD ****** course ******
题目大意:输入几行单词作为字典,在XXXX后面输入要查找的单词,然后按顺序输出每个要查找的单词在字典中的各种顺序,每个单词后面都有星号。。。
解题思路:用一个数组来储存字典和要查找的单词,用另一个数组记录所有单词按ASC2码的排序,然后逐个枚举,找出相同的输出第一个数组中储存的单词
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 char str[103][7]; 6 char in[7]; 7 int cmp(char a,char b) 8 { 9 10 return strcmp(a,b)>1; 11 } 12 bool cmp1(char a,char b) 13 { 14 return a<b; 15 } 16 bool is_same(int len,char *in,char *a) 17 { 18 char out[7]; 19 strcpy(out,a); 20 sort(out,out+len,cmp1); 21 if(strcmp(out,in)==0) 22 return true; 23 return false; 24 } 25 int main() 26 { 27 int i=0; 28 while(scanf("%s",str[i++])==1&&strcmp(str[i-1],"XXXXXX")){} 29 int n=i-1; 30 qsort(str,n,sizeof(str[0]),cmp); 31 while(1) 32 { 33 scanf("%s",in); 34 if(strcmp(in,"XXXXXX")==0) 35 break; 36 bool flag=false; 37 int len=strlen(in); 38 sort(in,in+len,cmp1); 39 for(int i=0;i<n;i++) 40 { 41 if(len==strlen(str[i])&&is_same(len,in,str[i])) 42 { 43 printf("%s\n",str[i]); 44 flag=true; 45 } 46 } 47 if(!flag) 48 printf("NOT A VALID WORD\n"); 49 printf("******\n"); 50 } 51 return 0; 52 }
POJ 1318 Word Amalgamation结题报告
标签:des style blog http io color ar os sp
原文地址:http://www.cnblogs.com/wangrunwen/p/4083155.html