hdu 1880 魔咒词典

      用map做超内存,然后老老实实的用普通方法去做秒了!

map方法(Memory Limit Exceeded):

#include

using namespace std;
int main()
{
    string str;
    mappq;
    while(getline(cin,str),str!="@END@")
    {
        string str1;
        int pn=str.find(']');
        str1=str.substr(0,pn+1);
        pq[str1]=str.substr(pn+2,str.length()-1);
        str1=str.substr(1,pn-1);
        pq[str.substr(pn+2,str.length()-1)]=str1;
    }
    int t;
    cin>>t;
    getchar();
    while(t--)
    {
        getline(cin,str);
        if(pq[str].size())
            cout<


 

普通方法:

#include
using namespace std;
struct point
{
    string m,g;
}pq[100005];
int main ()
{
    string str;
    int k=0,pn;
    while(getline(cin,str),str!="@END@")
    {
        pn=str.find(']');
        pq[k].m=str.substr(0,pn+1);
        pq[k].g=str.substr(pn+2,str.length()-1);
        k++;
    }
    int t;
    cin>>t;
    getchar();
    while(t--)
    {
        int f=0;
        getline(cin,str);
        for(int i=0;i



 

你可能感兴趣的:(数据结构)