Cod sursa(job #1267790)

Utilizator paul_danutDandelion paul_danut Data 20 noiembrie 2014 12:14:24
Problema Dtcsu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <fstream>
#include <string>
#include <vector>

using namespace std;

ifstream f("dtcsu.in");
ofstream g("dtcsu.out");

string n;
vector<string>  s(276998);


bool bin(int st,int dr, string e)
{
          int m;
         while(st<=dr)
         {
             m=(st+dr)/2;
             if(s[m].compare(e)==0)
                   return 1;
             else
                  if(s[m].length()==e.length())
                         {if(s[m].compare(e)<0)
                                    st=m+1;
                           else
                                    dr=m-1;}
                 else
                          if(s[m].length()>e.length())
                              dr=m-1;
                         else
                               st=m+1;
            }
        return 0;
}
int i,q,nr=0;
char a[20];

int main()
{
     s.push_back("0");
    for(i=1;i<=276997;i++)
            {f>>a;
            s.push_back(a);}
    f>>q;

    for(i=1;i<=q;i++)
         {
                 f>>a;
                 n=n.assign(a);
                 if(bin(1,276997,n))
                       nr++;
          }
    g<<nr;
    f.close();g.close();
}