#pragma once
#include <variant>
#include <vector>
#include <map>
using namespace std;
using ll = long long;
const int MAXN=1005;
vector<int> dir[MAXN];
int visited[MAXN];
bool parent[MAXN];
bool ok=false;
void dfs(int u){
if(ok)return;
visited[u]=1;
for(auto v:dir[u]){
if(visited[v]==2)continue;
if(visited[v]==1){
int s=u, c=0;
while(parent[s]!=0){
c++;
s=parent[s];
}
ok=true;
}
parent[v]=u;
dfs(v);
}
visited[u]=2;
}
std::variant<bool, std::vector<int>> find_journey(
int N, int M, std::vector<int> U, std::vector<int> V){
for(int i=0;i<M;i+=2){
dir[U[i]].push_back(V[i]);
}
//~ if(N==2){
//~ vector<vector<int>> ini(N);
//~ for(int i=0; i<M; i++){
//~ ini[U[i]].push_back(i);
//~ }
//~ if(ini[0].size()>=2&&ini[1].size()){
//~ int a=ini[0][0], b=ini[0][1];
//~ int c=ini[1][0];
//~ return vector<int>{a,c,b,a,c,b};
//~ }else{
//~ return false;
//~ }
//~ }else{
//~ map<pair<int,int>, int> mp;
//~ for(int i=0;i<M;i++){
//~ mp[{U[i], V[i]}]=i;
//~ }
//~ int a=mp[{0,1}], b=mp[{1,0}], c=mp[{0,2}], d=mp[{2,1}];
//~ return vector<int>{a,b,c,d,a,b,d,c};
//~ }
dfs(0);
return ok;
}
컴파일 시 표준 에러 (stderr) 메시지
islands.cpp:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | 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... |