superman

聚精会神搞建设 一心一意谋发展
posts - 190, comments - 17, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

ZOJ 1181 - Word Amalgamation

Posted on 2008-04-18 09:50 superman 阅读(278) 评论(0)  编辑 收藏 引用 所属分类: ZOJ
 1 /* Accepted 1181 C++ 00:00.00 848K */
 2 #include <string>
 3 #include <iostream>
 4 #include <algorithm>
 5 
 6 using namespace std;
 7 
 8 int main()
 9 {
10     string s, dict[100];
11     int n = 0, cnt[100][26= {0};
12     
13     while( (cin >> s) && s != "XXXXXX" )
14         dict[n++= s;
15     
16     sort( dict, dict + n );
17     
18     forint i = 0; i < n; i++ )
19         forint j = 0; j < dict[i].size(); j++ )
20             cnt[i][dict[i][j] - 97]++;
21     
22     while( (cin >> s) && s != "XXXXXX" )
23     {
24         int x[26= {0};
25         forint i = 0; i < s.size(); i++ )
26             x[s[i] - 97]++;
27         bool find = false;
28         forint i = 0; i < n; i++ )
29             if( s.size() == dict[i].size() )
30             {
31                 int j;
32                 for( j = 0; j < 26; j++ )
33                     if( cnt[i][j] != x[j] )
34                         break;
35                 if( j == 26 )
36                 {
37                     find = true;
38                     cout << dict[i] << endl;
39                 }
40             }
41         if( find == false )
42             cout << "NOT A VALID WORD" << endl;
43         cout << "******" << endl;
44     }
45     
46     return 0;
47 }
48 

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理