Friday, 1 April 2016

UVa 417 - Word Index

#include<bits/stdc++.h>
using namespace std;
int main()
{
    vector<string>name;
    string x[20000];
    string s;
    char a[10],t[20];
    int i,j,k,l,m,n=0,b,c,d,e,f,g;
    for(i=1;i<=26;i++)
    {
        m=i+96;
        a[0]=m;
        a[1]='\0';
        string s(a);
        x[n++]=s;
        //name.push_back(s);

    }
    for(i=1;i<26;i++)
    {
        for(j=i+1;j<=26;j++)
        {
            a[0]=i+96;
            b=a[0];
            a[1]=j+96;
            c=a[1];
            if(c>b)
            {
                a[0]=i+96;
                a[1]=j+96;
                a[2]='\0';
                string s(a);
                x[n++]=s;
                //name.push_back(s);

            }
        }
    }
    for(i=1;i<25;i++)
    {
        for(j=i+1;j<26;j++)
        {
            for(k=j+1;k<=26;k++)
            {
                a[0]=i+96;
                b=a[0];
                a[1]=j+96;
                c=a[1];
                a[2]=k+96;
                d=a[2];
                if(d>c&&c>b)
                {
                    a[0]=i+96;
                    a[1]=j+96;
                    a[2]=k+96;
                    a[3]='\0';
                    string s(a);
                    x[n++]=s;

                    //name.push_back(s);

                }
            }
        }
    }
    for(i=1;i<=23;i++)
    {
        for(j=i+1;j<=24;j++)
        {
            for(k=j+1;j<=25;j++)
            {
                for(l=k+1;l<=26;l++)
                {
                    a[0]=i+96;
                    b=a[0];
                    a[1]=j+96;
                    c=a[1];
                    a[2]=k+96;
                    d=a[2];
                    a[3]=l+96;
                    e=a[3];
                    if(e>d&&d>c&&c>b)
                    {
                        a[0]=i+96;
                        a[1]=j+96;
                        a[2]=k+96;
                        a[3]=l+96;
                        a[4]='\0';
                        string s(a);
                        x[n++]=s;
                        //cout<<x[n-1]<<"\t"<<n-1<<endl;
                        //name.push_back(s);

                    }
                }
            }
        }
    }
    for(i=1;i<=22;i++)
    {
        for(j=i+1;j<=23;j++)
        {
            for(k=j+1;k<=24;k++)
            {
                for(l=k+1;k<=25;k++)
                {
                    for(m=l+1;l<=26;l++)
                    {
                        a[0]=i+96;
                        b=a[0];
                        a[1]=j+96;
                        c=a[1];
                        a[2]=k+96;
                        d=a[2];
                        a[3]=l+96;
                        e=a[3];
                        a[4]=m+96;
                        f=a[4];
                        if(f>e&&e>d&&d>c&&c>b)
                        {
                            a[0]=i+96;
                            a[1]=j+96;
                            a[2]=k+96;
                            a[3]=l+96;
                            a[4]=m+96;
                            a[5]='\0';
                            string s(a);
                            x[n++]=s;
                            //name.push_back(s);

                        }
                    }
                }
            }
        }
    }
    while(scanf("%s",t))
    {
        bool flag=0;
        for(i=0;i<n;i++)
        {
            if(t==x[i])
            {
                cout<<i+1<<endl;
                flag=1;
                break;
            }
        }
        if(flag==0)
            cout<<0<<endl;
    }
    return 0;


}

No comments:

Post a Comment