| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1339758 | ezzzay | Tour (BOI25_tou) | C++20 | 5 ms | 344 KiB |
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=5e5;
vector<int>v[N];
vector<int>rt[N];
bool vis[N];
vector<int>vc;bool FLAG=0;
vector<int>ans;
bool vn[N];
void dfs(int a, int c){
vn[a]=1;
if(FLAG)return;
for(int i: v[a]){
if(FLAG)return;
vector<int> nw= rt[i];
if(vis[i]==0 and nw[2]!=c){
vis[i]=1;
vc.pb(i);
dfs(nw[1],nw[2]);
vc.pop_back();
}
else if(vis[i] and nw[2]!=c){
while(!vc.empty()){
ans.pb(vc.back());
if(vc.back()==i)break;
vc.pop_back();
}
reverse(ans.begin(),ans.end());
FLAG=1;
}
}
}
void fun(){
int n,m;
cin>>n>>m;
FLAG=0;
ans.clear();
for(int i=1;i<=n;i++){
v[i].clear();
vn[i]=0;
}
for(int i=1;i<=m;i++){
rt[i].clear();
}
for(int i=1;i<=m;i++){
vis[i]=0;
int a,b,c;
cin>>a>>b>>c;
v[a].pb(i);
rt[i]={a,b,c};
}
for(int i=1;i<=n;i++){
vc.clear();
if(vn[i]==0){
dfs(i,0);
}
}
if(FLAG){
cout<<"YES"<<endl;
cout<<ans.size()<<" ";
for(auto a:ans)cout<<a<<" ";
cout<<endl;
}
else{
cout<<"NO"<<endl;
}
}
signed main(){
int t;
cin>>t;
while(t--){
fun();
}
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
