hdu 1113 简单字符处理问题

#include <map>
#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
map<string,string>node;
string s,t;
int main()
{
    while(cin>>s&&s!="XXXXXX")
    {
        t=s;
        sort(s.begin(),s.end());// 利用sort对string里面的东西排序 减少全排列的问题
        node.insert(make_pair(t,s));
    }
    while(cin>>s)
    {
        int  flag=1;
        if(s=="XXXXXX")
            break;
        sort(s.begin(),s.end());
        map<string,string>::iterator it;
        for(it=node.begin();it!=node.end();it++)
        {
            if(it->second==s)
            {
                flag=0;
                cout<<it->first<<endl;
            }
        }
        if(flag)
            cout<<"NOT A VALID WORD"<<endl;
        cout<<"******"<<endl;
    }
    return 0;
}
posted @ 2016-10-10 18:18  猪突猛进!!!  阅读(269)  评论(0编辑  收藏  举报