제출 #1241163

#제출 시각아이디문제언어결과실행 시간메모리
1241163vtnooThousands Islands (IOI22_islands)C++20
8.40 / 100
36 ms4168 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...