USACO 1.1 Greedy Gift Givers

[报告]

   模拟吧!

   这个样例几乎包含了所有可能会发生的错误。

   只要A了样例,也就A了这题。

   如果N增大,则需要用HASH。

[程序]


#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
#define N 10
using namespace std;
ifstream fin ("gift1.in");
ofstream fout ("gift1.out");
class person
{
      public:
             string name;
             long in,out;
             inline person()
             {
                    in=out=0;
                    name="";
             }
};
long n;
person p[N+1];
inline long found(string aa)
{
    //   cout << "Found " << aa << "  ";
       for (long i=1;i<=n;i++)
           if (p[i].name==aa)
           {
    //          cout << i << endl;
              return i;
           }
  //     cout << " Can't" << endl;
       return -1;
}
inline void init()
{
       fin >> n;
       for (long i=1;i<=n;i++)
           fin >> p[i].name;
       for (long i=1;i<=n;i++)
       {
           string a;
           fin >> a;
           long k=found(a),m;
  

posted @ 2009-12-11 10:12  为美好世界献上珂学  阅读(105)  评论(0)    收藏  举报