QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#546497 | #5511. Minor Evil | Fika# | AC ✓ | 1340ms | 104916kb | C++14 | 1.5kb | 2024-09-04 05:32:08 | 2024-09-04 05:32:09 |
Judging History
answer
#include<bits/stdc++.h>
#pragma GCC optimize ("Ofast")
using namespace std;
#define rep(i,a,b) for(ll i = a; i<b;i++)
#define rrep(i,a,b) for(ll i = b-1; i>=a;i--)
#define trav(x,a) for(auto &x: a)
#define all(v) v.begin(),v.end()
#define sz(v) ll(v.size())
typedef long long ll;
typedef vector<ll> vl;
typedef pair<ll,ll> pll;
void solve(){
ll n,m;
cin>>n>>m;
vector<vector<pll>> e(n);
rep(i,0,m){
ll a,b;
cin>>a>>b;
--a; --b;
e[a].emplace_back(i,b);
}
rep(i,0,n) {
reverse(all(e[i]));
}
vl d(n);
ll k; cin>>k;
rep(i,0,k){
ll x; cin>>x;
d[x-1] = 1;
}
vl killedFrom(n,-1);
function<void(ll,ll)> dfs = [&](ll v,ll f){
killedFrom[v] = max(killedFrom[v], f);
while(e[v].size()){
auto [ei,u] = e[v].back();
if(ei<f){
e[v].pop_back();
dfs(u,ei);
} else break;
}
};
rep(i,0,n){
if(!d[i]){
dfs(i,m);
}
}
vl ans(m);
rep(i,0,n){
if(d[i]){
if(killedFrom[i]==-1){
cout<<"NIE\n";
return;
}
ans[killedFrom[i]] = 1;
}
}
cout<<"TAK\n";
rep(i,0,m){
if(ans[i]) cout<<"T";
else cout<<"N";
}
cout<<"\n";
}
int main(){
cin.tie(0);
ios_base::sync_with_stdio(0);
ll t; cin>>t;
while(t--)
solve();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3556kb
input:
2 5 6 1 2 2 1 2 5 2 3 2 4 4 2 3 1 2 3 3 2 1 2 2 3 2 2 3
output:
TAK NTNTNT NIE
result:
ok correct (2 test cases)
Test #2:
score: 0
Accepted
time: 559ms
memory: 5524kb
input:
1000 5 6 1 2 2 1 2 5 2 3 2 4 4 2 3 1 2 3 3 2 1 2 2 3 2 2 3 2 1 1 2 1 1 2 1 1 2 1 2 3 3 2 1 3 2 3 2 1 3 3 3 1 3 1 3 1 2 2 1 3 3 3 1 2 1 3 1 3 1 2 3 3 2 1 2 3 1 3 1 2 3 3 3 2 3 1 1 2 3 1 2 3 3 3 1 2 2 3 1 2 1 3 3 3 2 1 1 2 1 2 1 2 3 3 2 1 1 3 1 3 1 1 3 3 3 2 3 2 2 3 1 3 3 3 3 2 1 2 2 1 1 1 3 3 2 1 3 2...
output:
TAK NTNTNT NIE NIE TAK T NIE NIE TAK TNN NIE NIE TAK NTN TAK NNT TAK TNN TAK NNT TAK NNT TAK NNT NIE NIE NIE NIE NIE NIE NIE NIE NIE TAK NTNN TAK TNTN NIE NIE NIE NIE NIE NIE NIE TAK TNTN TAK NNTN TAK NNNT TAK NNTN NIE TAK NNTN NIE NIE TAK NNNT NIE TAK NNTN NIE NIE NIE NIE NIE NIE NIE NIE TAK NNT NI...
result:
ok correct (1000 test cases)
Test #3:
score: 0
Accepted
time: 1089ms
memory: 104916kb
input:
13 1000000 1000000 486802 809159 104883 440551 501905 622668 279504 663293 839882 889531 125252 955226 270422 92128 363725 456993 513782 686348 292006 59538 112416 619373 150140 212648 891080 338487 348780 833779 186126 366730 294350 778236 173878 385135 831186 985800 868035 100117 752578 739541 457...
output:
NIE NIE NIE TAK NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN...
result:
ok correct (13 test cases)
Test #4:
score: 0
Accepted
time: 445ms
memory: 74384kb
input:
4 1000000 1000000 883198 803418 803418 883198 883198 803418 803418 883198 883198 803418 803418 883198 803418 883198 883198 803418 883198 803418 883198 803418 883198 803418 883198 803418 803418 883198 883198 803418 803418 883198 803418 883198 883198 803418 883198 803418 883198 803418 803418 883198 88...
output:
NIE NIE NIE NIE
result:
ok correct (4 test cases)
Test #5:
score: 0
Accepted
time: 1340ms
memory: 83928kb
input:
4 1000000 1000000 820179 264070 64152 264070 264070 865675 614523 264070 264070 701152 609404 264070 793293 264070 264070 809556 467741 643260 337227 264070 264070 445071 248826 822649 856028 128336 367537 264070 81341 264070 476352 687682 306818 264070 123295 410991 255671 264070 61947 264070 24372...
output:
TAK NNNNTNNNNNTNNNNNNNNNNNTNTNNTNNNTNNTNNNTNTTTNNNNNTNNNNNNTNTTNNNTNNNTTTNTNNNNNTNNNNNTNTTNNTNNNTTTTNTNNNTNNTTTTNNTNTNNNNTTNTNTTTTNNNNNNNTNTNNNNTNNNNTTTNNNNNNTNTNNNNNTTNTTNNTNNNNTNTNTNNTTTNNTNNTNTNNTTNTNNNNNNNTNNNNTTNNNNNNNNNTNNTNNNTTNNTTNNTNNTNNNNTNNNTNTNNTTNNNNNTNNNNNNNTNTNNNTNTNNNNNNNTNNNNNTNTNNT...
result:
ok correct (4 test cases)
Test #6:
score: 0
Accepted
time: 723ms
memory: 81884kb
input:
4 1000000 1000000 744622 299781 744622 837726 883242 744622 672533 744622 744622 685446 942503 744622 677083 744622 744622 624546 744622 586007 193995 744622 744622 276667 744622 733596 744622 458621 744622 685762 232706 744622 744622 460264 744622 683335 744622 708865 744622 893299 744622 254173 31...
output:
TAK TTNNTNNTTNTTTTNTTTTTNTTTTTNTTTNTNTTTTNTTTTTTTTTNNTTTTNTNNTTTTTTTTTTTNTTTTTTTTTTTNTNTTTNTTTTTTTTTTTTTTNNTNTNTTNTTTTTTNTTTTNTNTTNTTTTTTTTTTTTTNTTTTTTTNTTTTTTNTTNTTTNTTTTTTTTTNNTTTTTTTNTTTNTTTTTTTTNNNNTTTTTTTTTTTTTNNTTTTTTTTTNTTTNNTTNNTTTTTTTTTTTTTNTTTTTTTTTNTTTTTNTTTTTTTNNTTTTTTTTTTTTTNTTTTTTTNTNT...
result:
ok correct (4 test cases)