Ray's playground

 

POJ 1029

code
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int coinNumber, caseNumber;
 7     int size;
 8     int total = 0;
 9     char sign;
10     int coin[1001= {0};
11     bool real[1001= {0};
12     int w[1001= {0};
13 
14     cin >> coinNumber >> caseNumber;
15 
16     while(caseNumber--)
17     {
18         cin >> size;
19         for(int i=0; i<size*2; i++)
20         {
21             cin >> coin[i];
22         }
23 
24         cin >> sign;
25         if(sign == '=')
26         {
27             for(int i=0; i<size*2; i++)
28             {
29                 real[coin[i]] = true;
30             }
31         }
32         else if(sign == '<')
33         {
34             total++;
35             for(int i=0; i<size; i++)
36             {
37                 w[coin[i]]--;
38             }
39             for(int i=size; i<size*2; i++)
40             {
41                 w[coin[i]]++;
42             }
43         }
44         else if(sign == '>')
45         {
46             total++;
47             for(int i=0; i<size; i++)
48             {
49                 w[coin[i]]++;
50             }
51             for(int i=size; i<size*2; i++)
52             {
53                 w[coin[i]]--;
54             }
55         }
56     }
57 
58     int count =0, pos = 0;
59     for(int i=1; i<=coinNumber; i++)
60     {
61         if(real[i])
62         {
63             continue;
64         }
65 
66         if(w[i] == total || w[i] == -total)
67         {
68             count ++;
69             pos = i;
70         }
71     }
72 
73     if (count != 1)
74     {
75         cout << 0 << endl;
76     }
77     else
78     {
79         cout << pos << endl;
80     }
81  
82     return 0;
83 }

 

posted on 2010-08-23 20:38  Ray Z  阅读(310)  评论(0编辑  收藏  举报

导航