Submission #1195324
Source Code Expand
#include <algorithm> #include <cmath> #include <iostream> #include <map> #include <queue> #include <set> #include <string> #include <vector> #define rep(i, n) for (int i = 0; i < (n); i++) #define rrep(i, n) for (int i = (n)-1; i >= 0; i--) using namespace std; using lli = long long int; int n, m, q; vector<int> e[100005]; struct node { int v, d, c; }; node t[100005]; void paint(node no) { auto cur = no.v; // cout << cur << endl; if (t[cur].c != -1 && t[cur].d >= no.d) { return; } else if (t[cur].c != -1) { t[cur].d = no.d; if (no.d == 0) return; node ne{no.v, no.d - 1, no.c}; for (auto to : e[cur]) { ne.v = to; paint(ne); } } else { t[cur] = no; if (no.d == 0) return; node ne{no.v, no.d - 1, no.c}; for (auto to : e[cur]) { ne.v = to; paint(ne); } } } vector<node> query; int main() { cin >> n >> m; int a, b; int v, d, c; rep(i, m) { cin >> a >> b; a--, b--; e[a].push_back(b); e[b].push_back(a); } cin >> q; node ini{0, 0, -1}; rep(i, n) { ini.v = i; t[i] = ini; } rep(i, q) { cin >> v >> d >> c; v--; query.push_back({v, d, c}); } reverse(query.begin(), query.end()); rep(i, q) { paint(query[i]); } rep(i, n) { if (t[i].c == -1) t[i].c = 0; cout << t[i].c << endl; } }
Submission Info
Submission Time | |
---|---|
Task | B - Splatter Painting |
User | uenoku |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1644 Byte |
Status | AC |
Exec Time | 361 ms |
Memory | 9204 KB |
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 | 2 ms | 2560 KB |
00_example_02.txt | AC | 2 ms | 2560 KB |
10_01.txt | AC | 3 ms | 2560 KB |
10_02.txt | AC | 2 ms | 2560 KB |
10_03.txt | AC | 2 ms | 2560 KB |
10_04.txt | AC | 2 ms | 2560 KB |
10_05.txt | AC | 3 ms | 2560 KB |
10_06.txt | AC | 2 ms | 2560 KB |
10_07.txt | AC | 5 ms | 2560 KB |
10_08.txt | AC | 8 ms | 2688 KB |
10_09.txt | AC | 8 ms | 2688 KB |
10_10.txt | AC | 8 ms | 2688 KB |
10_11.txt | AC | 8 ms | 2688 KB |
10_12.txt | AC | 8 ms | 2688 KB |
10_13.txt | AC | 7 ms | 2688 KB |
10_14.txt | AC | 7 ms | 2688 KB |
10_15.txt | AC | 6 ms | 2688 KB |
10_16.txt | AC | 8 ms | 2688 KB |
10_17.txt | AC | 8 ms | 2688 KB |
20_01.txt | AC | 361 ms | 8308 KB |
20_02.txt | AC | 361 ms | 8184 KB |
20_03.txt | AC | 354 ms | 8184 KB |
20_04.txt | AC | 48 ms | 3328 KB |
20_05.txt | AC | 8 ms | 2816 KB |
20_06.txt | AC | 149 ms | 4096 KB |
20_07.txt | AC | 8 ms | 2816 KB |
20_08.txt | AC | 60 ms | 4356 KB |
20_09.txt | AC | 8 ms | 2816 KB |
20_10.txt | AC | 58 ms | 4216 KB |
20_11.txt | AC | 77 ms | 4356 KB |
20_12.txt | AC | 228 ms | 7104 KB |
20_13.txt | AC | 309 ms | 8312 KB |
20_14.txt | AC | 314 ms | 8184 KB |
20_15.txt | AC | 331 ms | 9204 KB |
20_16.txt | AC | 336 ms | 9204 KB |