提出 #44760033
ソースコード 拡げる
import std;
void main () {
int N = readln.chomp.to!int;
int[] C = new int[](N);
int[][] P = new int[][](N, 0);
foreach (i; 0..N) {
auto input = readln.split.to!(int[]);
C[i] = input[0];
P[i] = input[1..$];
// 0-indexed
P[i][] -= 1;
C[i] -= 1;
}
solve(N, C, P);
}
void solve (int N, int[] C, int[][] P) {
int[][] graph = new int[][](N, 0);
foreach (i; 0..N) {
foreach (p; P[i]) {
graph[i] ~= p;
}
}
// 本1からの連結成分を見つける
DList!int Q;
Q.insertBack(0);
bool[] need = new bool[](N);
need[0] = true;
int[] outdegree = new int[](N);
while (!Q.empty) {
auto begin = Q.front; Q.removeFront;
foreach (to; graph[begin]) {
outdegree[begin]++;
if (!need[to]) {
need[to] = true;
Q.insertBack(to);
}
}
}
foreach (i; 0..N) {
foreach (p; P[i]) {
graph[p] ~= i;
}
}
int[] ans; reserve(ans, N);
foreach (i; 0..N) {
if (outdegree[i] == 0 && need[i]) {
ans ~= i+1;
Q.insertBack(i);
}
}
while (!Q.empty) {
auto begin = Q.front; Q.removeFront;
foreach (to; graph[begin]) {
outdegree[to]--;
if (outdegree[to] == 0 && to != 0) {
ans ~= to+1;
Q.insertBack(to);
}
}
}
foreach (i, a; ans) {
write(a, (i == ans.length-1 ? '\n' : ' '));
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Prerequisites |
| ユーザ | InTheBloom |
| 言語 | D (DMD 2.104.0) |
| 得点 | 425 |
| コード長 | 1664 Byte |
| 結果 | AC |
| 実行時間 | 378 ms |
| メモリ | 44684 KiB |
コンパイルエラー
/home/runner/.dub/packages/mir-algorithm/3.20.4/mir-algorithm/source/mir/serde.d(52,9): Deprecation: alias this for classes/interfaces is deprecated
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 425 / 425 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample00.txt, sample01.txt, sample02.txt |
| All | sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample00.txt | AC | 1 ms | 3756 KiB |
| sample01.txt | AC | 1 ms | 3824 KiB |
| sample02.txt | AC | 1 ms | 3768 KiB |
| testcase00.txt | AC | 365 ms | 35012 KiB |
| testcase01.txt | AC | 378 ms | 35388 KiB |
| testcase02.txt | AC | 339 ms | 30892 KiB |
| testcase03.txt | AC | 366 ms | 33804 KiB |
| testcase04.txt | AC | 314 ms | 33504 KiB |
| testcase05.txt | AC | 326 ms | 36180 KiB |
| testcase06.txt | AC | 313 ms | 31936 KiB |
| testcase07.txt | AC | 322 ms | 35088 KiB |
| testcase08.txt | AC | 208 ms | 30288 KiB |
| testcase09.txt | AC | 220 ms | 30776 KiB |
| testcase10.txt | AC | 44 ms | 14192 KiB |
| testcase11.txt | AC | 174 ms | 36960 KiB |
| testcase12.txt | AC | 52 ms | 14708 KiB |
| testcase13.txt | AC | 184 ms | 36864 KiB |
| testcase14.txt | AC | 171 ms | 34828 KiB |
| testcase15.txt | AC | 180 ms | 34792 KiB |
| testcase16.txt | AC | 180 ms | 34572 KiB |
| testcase17.txt | AC | 191 ms | 34496 KiB |
| testcase18.txt | AC | 183 ms | 34060 KiB |
| testcase19.txt | AC | 184 ms | 34272 KiB |
| testcase20.txt | AC | 186 ms | 31132 KiB |
| testcase21.txt | AC | 190 ms | 34128 KiB |
| testcase22.txt | AC | 194 ms | 44560 KiB |
| testcase23.txt | AC | 196 ms | 44624 KiB |
| testcase24.txt | AC | 200 ms | 44684 KiB |
| testcase25.txt | AC | 205 ms | 44452 KiB |
| testcase26.txt | AC | 201 ms | 39220 KiB |
| testcase27.txt | AC | 209 ms | 43700 KiB |
| testcase28.txt | AC | 206 ms | 29948 KiB |
| testcase29.txt | AC | 215 ms | 30876 KiB |
| testcase30.txt | AC | 218 ms | 30644 KiB |
| testcase31.txt | AC | 225 ms | 30764 KiB |
| testcase32.txt | AC | 196 ms | 29972 KiB |
| testcase33.txt | AC | 206 ms | 30756 KiB |