# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1124682 | HasanV11010238 | Naboj (COCI22_naboj) | C++20 | 931 ms | 73520 KiB |
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define MAX 1000000
#define mod 998244353
set<int> s;
vector<set<int>> v, vr;
void check(int x){
if ((v[x].size() + vr[x].size()) == 0) return;
if (v[x].size() == 0) s.insert(x);
if (vr[x].size() == 0) s.insert(x);
}
int main(){
int n, m, a, b;
cin>>n>>m;
v.assign(n + 1, set<int>()), vr.assign(n + 1, set<int>());
for (int i = 0; i < m; i++){
cin>>a>>b;
v[b].insert(a);
vr[a].insert(b);
}
for (int i = 1; i <= n; i++){
check(i);
}
vector<vector<int>> ord;
while (!s.empty()){
int x = *s.begin();
s.erase(s.begin());
if ((v[x].size() + vr[x].size()) == 0) continue;
if (v[x].size() == 0){
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |