# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
423005 | 2021-06-10T15:39:17 Z | albertolg101 | Simurgh (IOI17_simurgh) | C++17 | 80 ms | 396 KB |
#include <bits/stdc++.h> #include "simurgh.h" using namespace std; using pii = pair<int, int>; void print (vector<int> &ar) { for(auto i: ar) cout << i << ' ' ; cout << endl ; } std::vector<int> find_roads(int n, std::vector<int> u, std::vector<int> v) { vector<vector<int>> g(n, vector<int> (n, -1)); for(int i = 0 ; i < n ; i++) { int a = u[i], b = v[i]; g[a][b] = g[b][a] = i; } int nextNod = 0; vector<int> vans, perm(n); for(int i = 0 ; i < n ; i++) perm[i] = i; function<void(int)> dfs = [&](int nod) { nextNod++; //cout << nod << ' ' << perm[nextNod] << endl ; while(nextNod < perm.size() and g[nod][perm[nextNod]] != -1) { vans.push_back(g[nod][perm[nextNod]]); dfs(perm[nextNod]); //cout << nod << ' ' << perm[nextNod] << endl ; } }; do { vans.clear(); nextNod = 0; dfs(perm[0]); //print(perm); //cout << vans.size() << " - " ; //print(vans); if(vans.size() == n - 1 and count_common_roads(vans) == n - 1) return vans; } while(next_permutation(perm.begin(), perm.end())); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 332 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 332 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 332 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 204 KB | correct |
2 | Runtime error | 80 ms | 396 KB | Execution killed with signal 6 |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 332 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |