Submission #1195302
Source Code Expand
#include <cstdio>
#include <tuple>
#include <vector>
static const int MAXN = 1e5 + 4;
static const int MAXQ = 1e5 + 4;
static const int MAXD = 12;
int n, m, q;
std::vector<int> e[MAXN];
// tuple<colour, remaining_steps, painted_time>
std::tuple<int, int, int> s[MAXD][MAXN];
int q_v[MAXQ], q_d[MAXQ], q_c[MAXQ];
std::vector<int> q_with_d[MAXD];
inline void cover_colour(std::tuple<int, int, int> &orig, const std::tuple<int, int, int> &upd, bool persistent = false)
{
if (std::get<2>(orig) < std::get<2>(upd)) {
orig = upd;
if (!persistent) std::get<1>(orig) -= 1;
}
}
int main()
{
scanf("%d%d", &n, &m);
int u, v;
for (int i = 0; i < m; ++i) {
scanf("%d%d", &u, &v); --u, --v;
e[u].push_back(v);
e[v].push_back(u);
}
for (int d = 0; d < MAXD; ++d)
for (int i = 0; i < n; ++i) s[d][i] = std::make_tuple(0, 0, -1);
scanf("%d", &q);
int d, c;
for (int i = 0; i < q; ++i) {
scanf("%d%d%d", &q_v[i], &q_d[i], &q_c[i]);
--q_v[i];
q_with_d[q_d[i]].push_back(i);
}
for (int cur_d = 10; cur_d >= 0; --cur_d) {
for (int i : q_with_d[cur_d])
cover_colour(s[0][q_v[i]], std::make_tuple(q_c[i], q_d[i] + 1, i));
for (int i = 0; i <= 10; ++i) {
for (int u = 0; u < n; ++u) cover_colour(s[i + 1][u], s[i][u], true);
for (int u = 0; u < n; ++u) if (std::get<1>(s[i][u]) > 0) {
for (int v : e[u]) cover_colour(s[i + 1][v], s[i][u]);
}
}
}
/*for (int r = 0; r <= 10; ++r)
for (int i = 0; i < n; ++i) printf("%d(%d)%c", std::get<0>(s[r][i]), std::get<1>(s[r][i]), i == n - 1 ? '\n' : ' ');*/
for (int i = 0; i < n; ++i) printf("%d\n", std::get<0>(s[11][i]));
return 0;
}
Submission Info
Submission Time |
|
Task |
B - Splatter Painting |
User |
cyand1317 |
Language |
C++14 (GCC 5.4.1) |
Score |
700 |
Code Size |
1851 Byte |
Status |
AC |
Exec Time |
225 ms |
Memory |
22392 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:25:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &n, &m);
^
./Main.cpp:28:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &u, &v); --u, --v;
^
./Main.cpp:35:20: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &q);
^
./Main.cpp:38:51: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d%d", &q_v[i], &q_d[i], &q_c[i]);
^
Judge Result
Set Name |
Sample |
Subtask1 |
All |
Score / Max Score |
0 / 0 |
200 / 200 |
500 / 500 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
00_example_01.txt, 00_example_02.txt |
Subtask1 |
00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt |
All |
00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt, 20_01.txt, 20_02.txt, 20_03.txt, 20_04.txt, 20_05.txt, 20_06.txt, 20_07.txt, 20_08.txt, 20_09.txt, 20_10.txt, 20_11.txt, 20_12.txt, 20_13.txt, 20_14.txt, 20_15.txt, 20_16.txt |
Case Name |
Status |
Exec Time |
Memory |
00_example_01.txt |
AC |
4 ms |
15744 KB |
00_example_02.txt |
AC |
5 ms |
15744 KB |
10_01.txt |
AC |
5 ms |
15872 KB |
10_02.txt |
AC |
5 ms |
15744 KB |
10_03.txt |
AC |
5 ms |
15744 KB |
10_04.txt |
AC |
5 ms |
15744 KB |
10_05.txt |
AC |
5 ms |
15872 KB |
10_06.txt |
AC |
5 ms |
15744 KB |
10_07.txt |
AC |
5 ms |
15872 KB |
10_08.txt |
AC |
8 ms |
15872 KB |
10_09.txt |
AC |
8 ms |
15872 KB |
10_10.txt |
AC |
8 ms |
15872 KB |
10_11.txt |
AC |
8 ms |
15872 KB |
10_12.txt |
AC |
8 ms |
15872 KB |
10_13.txt |
AC |
7 ms |
15872 KB |
10_14.txt |
AC |
7 ms |
15872 KB |
10_15.txt |
AC |
6 ms |
15872 KB |
10_16.txt |
AC |
7 ms |
15872 KB |
10_17.txt |
AC |
7 ms |
15872 KB |
20_01.txt |
AC |
225 ms |
21632 KB |
20_02.txt |
AC |
224 ms |
21632 KB |
20_03.txt |
AC |
225 ms |
21632 KB |
20_04.txt |
AC |
35 ms |
16512 KB |
20_05.txt |
AC |
6 ms |
15872 KB |
20_06.txt |
AC |
38 ms |
16896 KB |
20_07.txt |
AC |
7 ms |
16000 KB |
20_08.txt |
AC |
23 ms |
17152 KB |
20_09.txt |
AC |
7 ms |
15872 KB |
20_10.txt |
AC |
21 ms |
17152 KB |
20_11.txt |
AC |
27 ms |
17664 KB |
20_12.txt |
AC |
130 ms |
19968 KB |
20_13.txt |
AC |
192 ms |
21376 KB |
20_14.txt |
AC |
196 ms |
21632 KB |
20_15.txt |
AC |
162 ms |
22136 KB |
20_16.txt |
AC |
162 ms |
22392 KB |