5198 | 2023-04-21 22:11:08 | ZsofiaKeresztely | Dinók | cpp14 | Időlimit túllépés 35/100 | 601ms | 32232 KiB |
#include <bits/stdc++.h>
using namespace std;
vector<vector<int> > g(100001), g2(100001), comp(100001);
vector<int> ind(100001, 0), op(100001, 0), c(100001, 0);
vector<bool> inq(100001, 0);
int n, last = 1, cur = 1;
void dfs(int v){
c[v] = cur;
comp[cur].push_back(v);
for (int x : g2[v]){
if (!c[x]){
dfs(x);
}
}
}
void bfs(){
queue<int> q;
for (int i=1; i<=n; i++){
if (!ind[i]){
q.push(i);
}
}
while (!q.empty()){
int v = q.front();
q.pop();
if (op[v]) continue;
for (int x : comp[c[v]]){
if (x == v) continue;
if (!inq[x]){
inq[v] = 1;
}
}
if (!inq[v]){
for (int x : comp[c[v]]){
op[x] = last;
for (int y : g[x]){
ind[y]--;
if (!ind[y]) q.push(y);
}
}
last += 2;
}
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int m;
cin >> n >> m;
while (m--){
int t, a, b;
cin >> t >> a >> b;
if (t == 2){
g[a].push_back(b);
ind[b]++;
}
else{
g2[a].push_back(b);
g2[b].push_back(a);
}
}
for (int i=1; i<=n; i++){
if (!c[i]){
dfs(i);
cur++;
}
}
bfs();
for (int i=1; i<=n; i++){
if (!op[i]){
cout << "NEM";
return 0;
}
}
cout << "IGEN";
for (int i=1; i<=n; i++){
cout << "\n" << op[i] << " " << op[i] + 1;
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 10ms | 17920 KiB | ||||
2 | Elfogadva | 8ms | 18104 KiB | ||||
3 | Elfogadva | 10ms | 18632 KiB | ||||
subtask2 | 0/5 | ||||||
4 | Időlimit túllépés | 601ms | 14688 KiB | ||||
5 | Időlimit túllépés | 573ms | 13980 KiB | ||||
6 | Elfogadva | 52ms | 26924 KiB | ||||
subtask3 | 0/15 | ||||||
7 | Elfogadva | 9ms | 18980 KiB | ||||
8 | Elfogadva | 9ms | 19272 KiB | ||||
9 | Elfogadva | 9ms | 19148 KiB | ||||
10 | Hibás válasz | 9ms | 19404 KiB | ||||
11 | Hibás válasz | 9ms | 19444 KiB | ||||
12 | Elfogadva | 9ms | 19512 KiB | ||||
subtask4 | 0/10 | ||||||
13 | Elfogadva | 9ms | 19700 KiB | ||||
14 | Hibás válasz | 8ms | 19968 KiB | ||||
15 | Elfogadva | 8ms | 19832 KiB | ||||
16 | Elfogadva | 8ms | 20088 KiB | ||||
17 | Hibás válasz | 8ms | 20288 KiB | ||||
subtask5 | 35/35 | ||||||
18 | Elfogadva | 9ms | 20484 KiB | ||||
19 | Elfogadva | 10ms | 20672 KiB | ||||
20 | Elfogadva | 85ms | 31600 KiB | ||||
21 | Elfogadva | 85ms | 31564 KiB | ||||
22 | Elfogadva | 9ms | 20564 KiB | ||||
23 | Elfogadva | 9ms | 21016 KiB | ||||
24 | Elfogadva | 67ms | 31408 KiB | ||||
subtask6 | 0/35 | ||||||
25 | Időlimit túllépés | 556ms | 17180 KiB | ||||
26 | Időlimit túllépés | 574ms | 17380 KiB | ||||
27 | Időlimit túllépés | 561ms | 17472 KiB | ||||
28 | Időlimit túllépés | 574ms | 17332 KiB | ||||
29 | Elfogadva | 118ms | 31464 KiB | ||||
30 | Időlimit túllépés | 538ms | 17356 KiB | ||||
31 | Időlimit túllépés | 574ms | 17260 KiB | ||||
32 | Elfogadva | 104ms | 31672 KiB | ||||
33 | Elfogadva | 78ms | 32232 KiB | ||||
34 | Időlimit túllépés | 569ms | 17484 KiB | ||||
35 | Időlimit túllépés | 560ms | 17612 KiB |