제출 #1034644

#제출 시각아이디문제언어결과실행 시간메모리
1034644Mr_Husanboy수천개의 섬 (IOI22_islands)C++17
5 / 100
1129 ms886900 KiB
#include "islands.h" #include <variant> #include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define all(a) (a).begin(), (a).end() #define ll long long const int mod = 1000002022; vector<int> state, p; int n, m; vector<vector<int>> g; template<typename T> int len(T &a){return a.size();} mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count()); variant<bool, vector<int>> find_journey( int n, int m, std::vector<int> u, std::vector<int> v) { vector<vector<int>> g(n); for(int i = 0; i < m; i ++) g[u[i]].push_back(i); if(len(g[0]) == 0) return false; if(n == 2){ if(len(g[0]) <= 1) return false; if(len(g[1]) == 0) return false; return vector {g[0][0], g[1][0], g[0][1], g[0][0], g[1][0], g[0][1]}; } vector<int> ans; vector<int> vis(n); vector<int> cyc; vector<int> par(n); auto dfs = [&](auto &dfs, int i)->bool{ vis[i] = 1; int r = 0; for(auto j : g[i]){ if(j % 2) continue; int x = v[j]; par[x] = j; if(vis[x]){ cyc.push_back(j); int cur = i; while(cur != x){ cyc.push_back(par[cur]); cur = u[par[cur]]; } return true; } if(dfs(dfs, x)){ return true; } } return false; }; return dfs(dfs, 0); }

컴파일 시 표준 에러 (stderr) 메시지

islands.cpp: In instantiation of 'find_journey(int, int, std::vector<int>, std::vector<int>)::<lambda(auto:23&, int)> [with auto:23 = find_journey(int, int, std::vector<int>, std::vector<int>)::<lambda(auto:23&, int)>]':
islands.cpp:61:13:   required from here
islands.cpp:40:9: warning: unused variable 'r' [-Wunused-variable]
   40 |     int r = 0;
      |         ^
#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...