POJ 1029
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
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 }
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 }