ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 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