Submission #67572248


Source Code Expand

#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
#include <cstring>
#define pii pair<int, int>
#define F first
#define S second
#define pb push_back

using namespace std;

inline int read();
void write(int);
void writeln(int);

int T;
struct D {
    int N, K;
    vector<pii > E;
};

int main() {
	
    T = read();
    vector<D> Qt(T);
    for(int i = 0; i < T; i++) {
        Qt[i].N = read(), Qt[i].K = read();;
        for(int j = 0; j < Qt[i].N - 1; j++) {
            int u = read(), v = read();
            Qt[i].E.pb({u, v});
        }
    }

    for(int idx = 0; idx < T; idx++) {
        int N = Qt[idx].N, K = Qt[idx].K;
        vector<vector<int> > adj(N + 1);
        for(auto &eg : Qt[idx].E) {
            int u = eg.F, v = eg.S;
            adj[u].pb(v), adj[v].pb(u);
        }

        vector<int> ops(N + 1, -1);
        if(K == 0) for(int i = 1; i <= N; i++) ops[i] = 0;
        else {
            vector<bool> inl(N + 1, 0);
            vector<int> dis(N + 1, -1);
            queue<int> q;
            ops[1] = 0;
            if(K > 0) q.push(1);
            while(!q.empty()) {
                int sz = q.size();
                vector<int> nlv;
                for(int i = 0; i < sz; i++) {
                    int u = q.front();
                    q.pop();
                    vector<int> vis;
                    queue<int> Q;
                    dis[u] = 0, vis.pb(u), Q.push(u);
                    while(!Q.empty()) {
                        int v = Q.front();
                        Q.pop();
                        int d = dis[v];
                        if(d == K) {
                            if(ops[v] == -1 && !inl[v]) {
                                ops[v] = ops[u] + 1;
                                inl[v] = true;
                                nlv.pb(v);
                            }
                        } 
						else {
                            for(int w : adj[v]) {
                                if(dis[w] == -1) {
                                    dis[w] = d + 1;
                                    Q.push(w);
                                    vis.pb(w);
                                }
                            }
                        }
                    }
                    for(int vv : vis) dis[vv] = -1;
                }
                for(int v : nlv) q.push(v), inl[v] = 0;
            }
        }
        for(int i = 2; i <= N; i++) write(ops[i]), putchar(' ');
        putchar('\n');
    }

    return 0;
}

inline int read() {
	int res = 0, f = 1;
	char ch = getchar();
	while( !(ch >= '0' && ch <= '9') ) {
		if(ch == '-') f = -1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9') {
		res = (res << 1) + (res << 3) + (ch ^ 48);
		ch = getchar();
	}
	return res * f;
}

void write(int x) {
	if(x < 0) putchar('-'), x = -x;
	static int sta[35];
	int top = 0;
	do {
		sta[top++] = x % 10;
		x /= 10;
	} while(x);
	while(top) putchar(sta[--top] ^ 48);
}

void writeln(int x) {
	write(x);
	putchar('\n');
}

Submission Info

Submission Time
Task F - Jump Traveling
User WZwangchongming
Language C++ 20 (gcc 12.2)
Score 0
Code Size 3140 Byte
Status TLE
Exec Time 3314 ms
Memory 21892 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 525
Status
AC × 2
AC × 33
TLE × 20
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 02_test_00.txt, 02_test_01.txt, 02_test_02.txt, 02_test_03.txt, 02_test_04.txt, 02_test_05.txt, 02_test_06.txt, 02_test_07.txt, 03_test_00.txt, 03_test_01.txt, 03_test_02.txt, 03_test_03.txt, 03_test_04.txt, 03_test_05.txt, 03_test_06.txt, 03_test_07.txt, 04_test_00.txt, 04_test_01.txt, 04_test_02.txt, 04_test_03.txt, 04_test_04.txt, 05_test_00.txt, 05_test_01.txt, 05_test_02.txt, 05_test_03.txt, 05_test_04.txt, 05_test_05.txt, 05_test_06.txt, 05_test_07.txt, 06_test_00.txt, 06_test_01.txt, 06_test_02.txt, 07_test_00.txt, 07_test_01.txt, 07_test_02.txt, 07_test_03.txt, 07_test_04.txt, 07_test_05.txt, 07_test_06.txt, 07_test_07.txt, 07_test_08.txt, 07_test_09.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3536 KiB
00_sample_01.txt AC 1 ms 3400 KiB
01_test_00.txt AC 35 ms 6448 KiB
01_test_01.txt AC 52 ms 5912 KiB
01_test_02.txt AC 263 ms 5764 KiB
01_test_03.txt TLE 3311 ms 5740 KiB
01_test_04.txt TLE 3311 ms 10432 KiB
01_test_05.txt AC 62 ms 17832 KiB
01_test_06.txt AC 59 ms 17520 KiB
01_test_07.txt TLE 3311 ms 19100 KiB
01_test_08.txt TLE 3311 ms 19524 KiB
02_test_00.txt AC 55 ms 5924 KiB
02_test_01.txt AC 243 ms 5884 KiB
02_test_02.txt AC 2799 ms 5816 KiB
02_test_03.txt TLE 3314 ms 11084 KiB
02_test_04.txt AC 75 ms 20208 KiB
02_test_05.txt AC 46 ms 18356 KiB
02_test_06.txt TLE 3311 ms 19108 KiB
02_test_07.txt TLE 3311 ms 19528 KiB
03_test_00.txt AC 59 ms 5976 KiB
03_test_01.txt AC 79 ms 5752 KiB
03_test_02.txt AC 81 ms 5636 KiB
03_test_03.txt AC 108 ms 9992 KiB
03_test_04.txt AC 62 ms 17252 KiB
03_test_05.txt AC 53 ms 17324 KiB
03_test_06.txt AC 98 ms 17332 KiB
03_test_07.txt AC 174 ms 17468 KiB
04_test_00.txt AC 241 ms 17460 KiB
04_test_01.txt AC 213 ms 17280 KiB
04_test_02.txt AC 127 ms 17400 KiB
04_test_03.txt AC 120 ms 17280 KiB
04_test_04.txt AC 115 ms 17464 KiB
05_test_00.txt TLE 3311 ms 19512 KiB
05_test_01.txt TLE 3311 ms 19956 KiB
05_test_02.txt AC 31 ms 19604 KiB
05_test_03.txt AC 34 ms 19940 KiB
05_test_04.txt AC 27 ms 18928 KiB
05_test_05.txt AC 26 ms 18908 KiB
05_test_06.txt AC 26 ms 19840 KiB
05_test_07.txt AC 26 ms 19952 KiB
06_test_00.txt TLE 3311 ms 21688 KiB
06_test_01.txt AC 583 ms 21892 KiB
06_test_02.txt AC 118 ms 20148 KiB
07_test_00.txt TLE 3311 ms 21528 KiB
07_test_01.txt TLE 3311 ms 19140 KiB
07_test_02.txt TLE 3311 ms 21764 KiB
07_test_03.txt TLE 3311 ms 18700 KiB
07_test_04.txt TLE 3311 ms 20192 KiB
07_test_05.txt TLE 3311 ms 21596 KiB
07_test_06.txt TLE 3311 ms 19156 KiB
07_test_07.txt TLE 3311 ms 20576 KiB
07_test_08.txt TLE 3311 ms 21344 KiB
07_test_09.txt TLE 3311 ms 19176 KiB