ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.
გაგზავნის თარიღი: 22.12.2018 14:21:20
ამოცანა: ჭიანჭველები
მომხმარებელი: GiorgiNadareishvili
ვერდიქტი: ნაწილობრივი ამოხსნა
შეფასება: 15.0 ქულა
#include <bits/stdc++.h> #define F first #define S second using namespace std; int w, h, k, t, a, b, c, tt; vector<pair<int, int> > v[102][2]; vector<int> ve[102][2]; vector<pair<pair<int, int>, pair<int, int> > > p; int main() { cin >> w >> h >> k >> t; for(int i = 0; i < k; ++i) { cin >> a >> b >> c; if(c == 2 || c == 4) { v[a][0].push_back({b, c}); ve[a][0].push_back(i); // | } else { v[b][1].push_back({a, c}); ve[b][1].push_back(i); // __ } } for(int i = 0; i < w; ++i) { for(int j = 0; j < v[i][0].size(); ++j) { tt = t; if(v[i][0][j].S == 2) { if(tt >= h - v[i][0][j].F - 1) { tt -= h - v[i][0][j].F - 1; v[i][0][j].F = h - 1; v[i][0][j].S = 4; } else { v[i][0][j].F += tt; tt = 0; } tt %= 2 * (h - 1); while(tt--) { if(v[i][0][j].S == 2) { ++v[i][0][j].F; if(v[i][0][j].F == h - 1) { v[i][0][j].S = 4; } } else { --v[i][0][j].F; if(v[i][0][j].F == 0) { v[i][0][j].S = 2; } } } } else { if(tt >= v[i][0][j].F) { tt -= v[i][0][j].F; v[i][0][j].F = 0; v[i][0][j].S = 2; } else { v[i][0][j].F -= tt; tt = 0; } tt %= 2 * (h - 1); while(tt--) { if(v[i][0][j].S == 2) { ++v[i][0][j].F; if(v[i][0][j].F == h - 1) { v[i][0][j].S = 4; } } else { --v[i][0][j].F; if(v[i][0][j].F == 0) { v[i][0][j].S = 2; } } } } } sort(v[i][0].begin(), v[i][0].end()); for(int j = 0; j < v[i][0].size(); ++j) { p.push_back({{ve[i][0][j], i}, {v[i][0][j].F, v[i][0][j].S}}); } } ///////////////////////////////////////////////////////////// for(int i = 0; i < w; ++i) { for(int j = 0; j < v[i][1].size(); ++j) { tt = t; if(v[i][1][j].S == 1) { if(tt >= w - v[i][1][j].F - 1) { tt -= w - v[i][1][j].F - 1; v[i][1][j].F = w - 1; v[i][1][j].S = 3; } else { v[i][1][j].F += tt; tt = 0; } tt %= 2 * (w - 1); while(tt--) { if(v[i][1][j].S == 1) { ++v[i][1][j].F; if(v[i][1][j].F == w - 1) { v[i][1][j].S = 3; } } else { --v[i][1][j].F; if(v[i][1][j].F == 0) { v[i][1][j].S = 1; } } } } else { if(tt >= v[i][1][j].F) { tt -= v[i][1][j].F; v[i][1][j].F = 0; v[i][1][j].S = 1; } else { v[i][1][j].F -= tt; tt = 0; } tt %= 2 * (w - 1); while(tt--) { if(v[i][1][j].S == 1) { ++v[i][1][j].F; if(v[i][1][j].F == w - 1) { v[i][1][j].S = 3; } } else { --v[i][1][j].F; if(v[i][1][j].F == 0) { v[i][1][j].S = 1; } } } } } sort(v[i][1].begin(), v[i][1].end()); for(int j = 0; j < v[i][1].size(); ++j) { p.push_back({{ve[i][1][j], v[i][1][j].F}, {i, v[i][1][j].S}}); } } sort(p.begin(), p.end()); for(int i = 0; i < p.size(); ++i) { cout << p[i].F.S << " " << p[i].S.F << " " << p[i].S.S << endl; } }
5 5 1 999 3 2 4
3 3 4
3 3 4
YES
5 5 2 1000 1 1 1 4 4 3
1 1 1 4 4 3
1 1 1 4 4 3
YES
5 5 4 1000 1 3 1 3 1 3 4 3 2 3 4 4
1 3 1 3 1 3 4 3 2 3 4 4
1 3 1 3 1 3 4 3 2 3 4 4
YES
5 5 5 2 1 1 1 4 1 4 2 4 2 4 4 3 1 2 1
3 1 1 4 1 2 2 4 4 2 4 3 3 2 1
3 1 1 4 1 2 2 2 4 2 4 3 3 2 1
NO
5 5 5 2 1 1 1 4 1 4 2 4 2 4 4 3 1 2 1
3 1 1 4 1 2 2 4 4 2 4 3 3 2 1
3 1 1 4 1 2 2 2 4 2 4 3 3 2 1
NO
5 5 10 8 1 2 2 3 4 4 4 2 3 4 4 4 1 1 1 4 1 3 3 3 4 2 4 4 1 3 1 2 3 4
1 0 2 3 5 4 4 2 1 4 4 2 1 1 3 4 1 1 3 4 2 2 5 4 1 3 3 2 4 2
1 2 2 3 3 4 4 2 3 4 4 4 1 1 1 4 1 3 3 4 4 2 3 4 1 3 1 2 4 4
NO
10 15 25 15 2 6 3 9 14 3 1 2 1 3 2 4 8 4 2 3 13 2 4 2 3 7 8 3 4 1 2 6 10 4 4 8 1 2 10 1 1 13 2 8 3 3 6 12 1 9 9 3 8 13 3 7 14 4 1 10 2 5 8 4 7 1 2 1 7 3 2 1 1 1 3 3 1 9 2
7 6 3 6 14 1 4 2 3 3 2 4 8 11 4 3 13 2 9 2 3 8 8 1 4 14 4 6 5 2 1 8 3 3 10 3 1 6 4 7 3 1 1 12 1 6 9 1 7 13 1 7 14 4 1 5 4 5 7 2 7 1 2 6 7 3 3 1 3 6 3 3 1 2 4
5 6 3 2 2 3 3 0 2 8 9 4 3 13 2 7 2 3 1 8 1 4 12 4 6 5 2 8 8 1 1 0 2 4 3 3 6 9 1 7 1 2 1 3 4 5 7 2 7 12 4 4 7 3 1 1 3 7 3 1 1 4 4
NO
15 10 30 12 3 1 3 8 9 3 10 1 1 9 4 3 7 8 3 4 3 1 3 5 3 2 7 3 13 3 3 6 8 4 12 9 4 7 2 4 14 8 2 13 9 2 1 5 1 3 3 2 10 8 4 10 4 2 11 5 3 12 5 2 13 7 1 5 9 3 4 4 2 14 3 3 8 4 2 7 6 4 2 8 4 11 8 4 5 7 4 1 1 3
9 1 1 7 9 1 11 1 1 3 4 1 5 8 1 1 3 3 9 5 1 5 7 3 2 3 3 6 4 2 12 3 2 7 6 2 14 0 2 13 1 2 1 5 1 3 5 4 10 4 2 10 4 4 13 5 1 12 3 4 10 7 1 4 9 1 4 4 4 14 3 3 8 4 4 7 10 4 2 4 2 11 4 2 5 5 2 8 1 3
6 1 3 4 9 1 9 1 1 3 4 1 5 8 1 1 3 3 1 5 1 3 7 3 2 3 3 6 4 2 12 1 4 7 6 2 14 2 2 13 3 2 9 5 1 3 3 4 10 2 4 10 4 2 13 5 1 12 3 2 10 7 1 7 9 1 4 2 4 12 3 3 8 2 4 7 8 4 2 4 2 11 4 2 5 5 2 11 1 1
NO
20 15 50 113 13 13 1 15 3 2 12 3 3 18 3 3 17 8 3 17 14 1 17 12 3 5 2 4 8 5 2 2 14 2 9 5 3 6 6 3 11 9 1 13 4 2 1 6 1 18 7 3 15 11 3 6 5 1 18 2 1 18 13 4 10 4 2 4 7 2 9 14 3 5 1 1 11 14 1 9 2 4 3 6 3 3 10 4 16 5 2 15 13 4 4 6 3...
6 13 1 15 4 4 7 3 1 19 3 3 16 8 1 16 14 3 16 12 1 5 9 4 8 2 4 2 7 2 16 5 3 11 6 3 4 9 1 13 3 4 3 6 1 15 7 1 18 11 1 6 5 3 11 2 1 18 10 2 10 3 4 4 0 2 4 14 1 2 1 3 10 14 1 9 9 4 6 6 3 3 13 2 16 10 4 15 10 2 10 6 3 5 3 3 1 9 1...
12 13 1 15 4 2 1 3 1 13 3 1 18 8 3 10 14 1 4 12 1 5 1 4 8 6 2 2 13 4 0 5 1 0 6 1 4 9 1 13 5 2 4 6 3 19 7 3 5 11 3 5 5 1 17 2 1 18 12 4 10 5 2 4 8 2 10 14 3 4 1 1 16 14 1 9 1 4 5 6 3 3 9 4 16 2 4 15 12 4 7 6 3 13 3 3 6 9 1 19 3 3 9 6 1 18 12 3 16 5 2 15 13 ...
NO
3 99 10 1 1 63 3 1 96 4 2 68 2 2 18 1 1 53 3 1 66 1 1 73 2 1 83 3 1 78 4 2 62 1
0 63 1 1 95 4 2 69 2 3 18 3 0 53 1 2 66 1 1 74 2 0 83 1 1 77 4 3 62 3
1 74 2 2 69 2 1 77 4 1 95 4
NO
100 2 10 1 48 1 3 39 1 4 9 1 2 28 1 1 31 1 3 20 1 1 2 1 2 52 1 3 92 1 2 72 1 4
47 1 3 39 0 2 9 2 4 29 1 1 30 1 3 21 1 1 2 2 4 51 1 3 92 2 4 72 0 2
21 1 1 39 0 2 9 0 2 29 1 1 30 1 3 47 1 3 2 0 2 51 1 3 92 0 2 72 0 2
NO
2 100 25 284 1 35 3 1 42 3 1 18 4 1 95 2 1 24 1 1 50 2 1 44 1 1 2 2 1 64 1 1 13 2 1 61 1 1 27 1 1 30 3 1 90 3 1 99 1 1 41 4 1 74 1 1 28 1 1 12 4 1 71 2 1 20 3 1 80 2 1 19 1 1 11 2 1 10 3
1 35 3 1 42 3 1 66 4 1 97 2 1 24 1 1 72 2 1 44 1 1 21 4 1 64 1 1 45 4 1 61 1 1 27 1 1 30 3 1 90 3 1 99 1 1 66 2 1 74 1 1 28 1 1 43 2 1 86 2 1 20 3 1 95 2 1 19 1 1 36 4 1 10 3
1 17 4 1 32 4 1 41 4 1 45 2 1 62 4 1 68 2 1 74 2 1 88 2 1 97 2 1 99 4
NO
100 99 50 8351 16 34 1 51 92 1 12 87 3 28 53 4 9 85 4 5 85 3 90 31 1 50 37 3 88 30 3 42 6 1 5 13 4 51 67 2 68 24 2 43 29 4 16 13 3 61 3 1 51 5 4 65 59 1 13 18 2 34 22 1 21 29 2 45 68 4 44 83 3 75 45 1 27 80 1 25 63 3 38 83 1 97 ...
55 34 3 2 92 1 8 87 1 28 18 4 9 50 4 54 85 3 41 31 1 99 37 3 63 30 1 7 6 3 5 22 2 51 96 4 68 59 2 43 6 2 26 13 1 12 3 1 51 30 2 16 59 1 13 53 2 15 22 3 21 64 2 45 33 4 93 83 3 26 45 1 22 80 3 74 63 3 11 83 3 97 27 4 86 64 1 33 ...
29 34 1 86 92 1 23 87 1 28 66 2 9 34 2 30 85 1 73 31 3 15 37 3 48 30 1 77 6 1 5 9 4 51 10 4 68 53 4 43 90 2 19 13 1 96 3 1 51 82 4 98 59 3 13 59 4 69 22 1 21 48 4 45 51 2 9 83 3 88 45 3 62 80 1 10 63 1 73 83 1 97 57 2 30 64 3 51 74 1 45 84 3 87 45 2 51 34 ...
NO
100 100 100 8351 16 19 1 49 42 1 10 76 3 28 26 4 9 77 4 2 81 3 88 41 1 47 87 3 85 42 3 40 64 1 2 9 4 51 17 2 67 56 2 40 86 4 13 97 3 58 42 1 49 54 4 62 94 1 13 6 2 31 88 1 18 9 2 43 24 4 42 40 3 73 70 1 24 54 1 22 39 3 37 46 1 9...
33 19 3 0 42 1 59 76 3 28 75 4 9 100 4 51 81 3 39 41 1 96 87 3 66 42 1 9 64 3 2 58 4 51 32 4 67 7 2 40 65 2 62 97 3 9 42 1 49 97 2 13 94 1 13 43 4 14 88 3 18 40 4 43 73 4 91 40 3 24 70 1 25 54 3 71 39 3 12 46 3 94 86 2 87 99 1 ...
1 19 3 50 42 3 25 76 1 28 9 2 9 16 4 25 81 1 75 41 3 12 87 3 84 42 1 75 64 1 2 26 2 51 52 2 67 91 2 40 51 4 22 97 1 93 42 1 49 19 4 97 94 1 13 3 2 66 88 1 18 44 2 43 11 2 7 40 3 90 70 3 59 54 1 13 39 1 72 46 1 94 30 4 29 99 3 51 59 1 38 5 1 85 52 4 32 29 1...
NO
100 100 2 52149217 78 41 2 43 76 2
78 58 2 43 93 2
78 18 2 43 53 2
NO
100 100 10 176402227 15 44 3 5 66 4 45 1 4 6 42 4 54 32 2 74 68 3 88 10 2 43 99 3 92 89 3 91 57 2
12 44 1 5 39 4 45 26 2 6 15 4 54 59 2 47 68 3 88 37 2 16 99 3 65 89 3 91 84 2
52 44 1 5 1 2 45 66 2 6 25 2 54 99 4 7 68 3 88 77 2 24 99 1 25 89 3 91 74 4
NO
100 100 50 18856777 49 79 3 97 67 1 13 86 3 10 90 3 98 18 2 26 45 1 67 90 2 72 98 3 68 14 1 29 66 1 93 26 2 65 96 4 11 78 2 2 51 1 10 76 1 39 30 4 13 19 2 52 78 3 54 24 2 62 44 2 19 9 1 97 99 2 24 91 1 14 17 3 97 94 3 1 95 3 1 17...
72 79 3 74 67 1 36 86 3 33 90 3 98 5 4 3 45 1 67 67 2 95 98 3 45 14 1 46 66 3 93 3 2 65 81 2 11 55 2 21 51 3 13 76 3 39 53 4 13 4 4 75 78 3 54 1 2 62 21 2 4 9 3 97 76 2 1 91 1 37 17 3 80 94 1 24 95 3 24 17 3 63 56 4 87 62 4 35 ...
0 79 1 52 67 3 36 86 1 39 90 1 98 67 2 75 45 1 67 59 4 23 98 3 51 14 3 26 66 1 93 75 2 65 47 4 11 71 4 51 51 1 59 76 1 39 19 2 13 68 2 3 78 3 54 73 2 62 93 2 68 9 1 97 50 4 73 91 1 35 17 1 48 94 3 14 95 1 48 17 1 63 16 2 87 10 2 37 60 1 43 13 4 57 87 1 90 ...
NO
100 100 100 2819074 73 1 3 19 78 3 56 4 1 22 31 1 29 10 2 29 73 1 64 45 1 39 26 1 3 58 3 19 77 3 69 11 1 88 1 4 21 22 4 67 70 1 70 81 2 73 46 4 69 71 2 56 43 4 40 95 2 71 68 4 73 62 4 51 36 1 80 16 3 64 42 3 42 69 3 54 16 3 61 26...
82 1 1 55 78 1 70 4 3 6 31 1 29 19 4 97 73 3 14 45 3 71 26 3 71 58 1 55 77 1 57 11 3 88 73 2 21 52 2 59 70 3 70 45 4 73 12 2 69 55 4 56 46 4 40 31 4 71 58 2 73 28 2 75 36 3 77 16 1 13 42 1 32 69 1 20 16 1 61 48 2 9 87 2 33 49 3 ...
42 1 3 69 78 3 6 4 1 28 31 3 29 40 4 21 73 3 14 45 1 1 26 1 53 58 3 69 77 3 19 11 1 88 51 4 21 72 4 17 70 1 70 31 2 73 86 2 69 21 2 56 30 2 40 45 2 71 66 4 73 96 4 1 36 1 47 16 3 84 42 1 92 69 3 68 16 1 61 6 4 9 37 4 43 49 1 29 55 2 44 64 3 5 26 1 84 12 2 ...
NO
50 50 49 178811 12 23 2 19 22 3 42 40 3 44 38 3 1 26 4 17 2 3 13 3 1 23 20 4 44 11 2 42 15 1 7 44 2 9 33 3 8 17 3 14 38 2 35 21 2 35 40 1 15 8 4 22 11 4 25 7 2 25 24 3 23 34 4 24 3 2 10 8 4 31 25 3 17 24 1 4 4 3 30 7 2 38 29 1 ...
12 34 2 8 22 3 46 40 1 33 38 3 1 15 4 6 2 3 24 3 1 23 9 4 44 22 2 47 15 3 7 45 4 2 33 1 3 17 1 14 49 2 35 32 2 31 40 3 15 3 2 22 0 2 25 7 4 28 24 1 23 23 4 24 14 2 10 3 2 20 25 3 14 24 3 3 4 1 30 18 2 49 29 1 29 16 1 25 18 2 1...
12 16 4 40 22 1 4 40 3 15 38 1 1 33 2 42 2 1 26 3 3 23 25 2 44 28 4 3 15 1 7 5 2 48 33 3 47 17 3 14 1 4 35 18 4 17 40 1 15 47 4 22 48 2 25 32 4 22 24 3 23 35 2 24 36 4 10 47 4 28 25 1 34 24 1 43 4 3 30 32 4 1 29 3 21 16 3 25 41 2 19 23 2 47 4 3 16 15 4 40 ...
NO
100 100 1 413481146 16 77 1
38 77 3
60 77 3
NO