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
AC × 2
AC × 19
AC × 35
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