(STL中自带的排序功能7.3.3)POJ 1318 Word Amalgamation(求解一个单词是否在字典里面。解法:将单词按字典序处理后的结果与字典中的单词安字典序处理后的结果进行比较)

来源:互联网 发布:手机免费自动关机软件 编辑:程序博客网 时间:2024/05/14 12:29
/* * POJ_1318.cpp * *  Created on: 2013年11月1日 *      Author: Administrator */#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <string>using namespace std;const int maxn = 110;int main(){string a[maxn],b[maxn],c;int n,i;while(cin >> a[i]){//要使用cin >> a[i],这是需要#include <string>if(a[i][0] == 'X'){break;}i++;}sort(a,a+i);//数组的排序用这种方式n = i;for(i = 0 ; i < n ; ++i){b[i] = a[i];//b[i]保存第i个字符串的原序,a[i]保存字符串安字典序处理后的结果sort(a[i].begin(),a[i].end());//字符串的排序用这种方式}while(cin >> c){if(c[0] == 'X'){break;}bool flag = false;sort(c.begin(),c.end());for(i = 0 ; i < n ; ++i){if(c == a[i]){//将字符串c按字典序处理后的结果与a[i]比较flag = true;cout<<b[i]<<endl;}}if(!flag){printf("NOT A VALID WORD\n");}printf("******\n");}return 0;}