[Codeforces] Dima and Guards

http://codeforces.com/contest/366/problem/A

简单的要死但却wa了两次的题, 原因是变量名写错了, 却没有仔细检查, 误以为解法上有玄机....

 1 #include <cstdio>
 2 #include <vector>
 3 #include <cstring>
 4 #include <map>
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     int n = 0;
10     scanf("%d", &n);
11     map<int, vector<int> > m;
12     for (int i = 1; i <= 4; ++i) {
13         vector<int> t(4, 0);
14         for (int j = 0; j < 4; ++j) {
15             scanf("%d", &t[j]);
16         }
17         m[i] = t;
18     }
19     int index = 0;
20     int x = -1, y = -1;
21     for (int i = 1; i <= 4; ++i) {
22         vector<int> t = m[i];
23         for (int j = 0; j < 2; ++j) {
24             for (int k = 2; k < 4; ++k) {
25                 if (t[j] + t[k] <= n) {
26                     index = i;x = t[j]; y = n - t[j];
27                     break;
28                 } 
29             }
30             if (index > 0 && x > 0 && y > 0) break;
31         }
32         if (index > 0 && x > 0 && y > 0) break;
33     }
34     if (index == 0 || x == -1 || y == -1) {
35         printf("%d\n", -1);
36     } else {
37         printf("%d %d %d\n", index, x, y);
38     }
39     return 0;
40 }

 

posted @ 2013-11-25 13:10  NextLife  阅读(201)  评论(0)    收藏  举报