hdoj1113(字符串map应用)

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<map>
#include<algorithm>
using namespace std;
#define END "XXXXXX"
const int SIZE=10000+16;
map<string, string> dic;

void Fun_in()
{
    string s;
    while(cin>>s&&s.compare(END))
    {
        string t=s;
        sort(t.begin(),t.end());
        dic[s]=t;
    }
}

void Fun_out()
{
    string word;
    while(cin>>word&&word.compare(END))
    {
        bool flag=false;
        string t=word;
        sort(t.begin(),t.end());
        for(map<string, string>:: iterator it=dic.begin();it!=dic.end();it++)
        {
            if(!it->second.compare(t))
            {
                flag=true;
                cout<<it->first<<endl;
            }
        }
        
        if(!flag)
            cout<<"NOT A VALID WORD"<<endl;
        
        cout<<"******"<<endl;
        
    }
    
}

int main()
{
    Fun_in();
    Fun_out();

    return 0;
}
原文地址:https://www.cnblogs.com/program-ccc/p/4700809.html