Submission #26655779
Source Code Expand
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <numeric>
#include <queue>
int main() {
int64_t N, M;
std::cin >> N >> M;
std::vector<std::vector<int64_t>> graph(N);
std::vector<int64_t> indegree(N, 0);
for (int64_t i = 0; i < M ; i++) {
int64_t a, b;
std::cin >> a >> b;
graph.at(a - 1).push_back(b - 1);
indegree.at(b - 1)++;
}
std::priority_queue<int64_t, std::vector<int64_t>, std::greater<int64_t>> heap;
for (int64_t i = 0; i < N; i++) {
if (indegree.at(i) == 0) {
heap.push(i);
}
}
std::vector<int64_t> answer;
while (!heap.empty()) {
int64_t node = heap.top();
heap.pop();
answer.push_back(node);
for (int64_t next_node : graph.at(node)) {
indegree.at(next_node)--;
if (indegree.at(next_node) == 0) {
heap.push(next_node);
}
}
}
if (static_cast<int64_t>(answer.size()) == N) {
for (int64_t i = 0; i < N; i++) {
if (i) std::cout << " ";
std::cout << answer.at(i) + 1;
}
std::cout << std::endl;
} else {
std::cout << -1 << std::endl;
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Restricted Permutation |
| User | fjnkt98 |
| Language | C++ (GCC 9.2.1) |
| Score | 400 |
| Code Size | 1184 Byte |
| Status | AC |
| Exec Time | 205 ms |
| Memory | 16396 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example_00.txt, example_01.txt |
| All | example_00.txt, example_01.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| example_00.txt | AC | 1 ms | 3492 KiB |
| example_01.txt | AC | 2 ms | 3596 KiB |
| test_00.txt | AC | 194 ms | 16396 KiB |
| test_01.txt | AC | 192 ms | 16300 KiB |
| test_02.txt | AC | 127 ms | 8124 KiB |
| test_03.txt | AC | 53 ms | 13304 KiB |
| test_04.txt | AC | 130 ms | 10232 KiB |
| test_05.txt | AC | 205 ms | 16008 KiB |
| test_06.txt | AC | 124 ms | 7420 KiB |
| test_07.txt | AC | 200 ms | 15836 KiB |
| test_08.txt | AC | 69 ms | 14176 KiB |
| test_09.txt | AC | 66 ms | 12996 KiB |
| test_10.txt | AC | 32 ms | 4716 KiB |
| test_11.txt | AC | 71 ms | 10048 KiB |
| test_12.txt | AC | 127 ms | 7988 KiB |
| test_13.txt | AC | 48 ms | 4976 KiB |
| test_14.txt | AC | 106 ms | 6880 KiB |
| test_15.txt | AC | 87 ms | 6492 KiB |
| test_16.txt | AC | 85 ms | 6488 KiB |
| test_17.txt | AC | 80 ms | 6524 KiB |
| test_18.txt | AC | 17 ms | 3988 KiB |
| test_19.txt | AC | 59 ms | 5528 KiB |