[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 }
浙公网安备 33010602011771号