# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
302074 | TMJN | Simurgh (IOI17_simurgh) | C++17 | 71 ms | 512 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "simurgh.h"
#include <bits/stdc++.h>
using namespace std;
int N,T[10];
vector<int>U,V,res;
bool B[30];
int par(int x){
if(T[x]==x)return x;
return T[x]=par(T[x]);
}
void uni(int x,int y){
x=par(x);
y=par(y);
T[x]=y;
}
void dfs(int x,int t){
if(t==N-1){
for(int i=0;i<N;i++){
T[i]=i;
}
for(int i=0;i<U.size();i++){
if(B[i]){
uni(U[i],V[i]);
}
}
bool f=true;
for(int i=0;i<N-1;i++){
if(par(i)!=par(i+1))f=false;
}
if(f){
vector<int>v;
for(int i=0;i<U.size();i++){
if(B[i]){
v.push_back(i);
}
}
if(count_common_roads(v)==N-1){
res=v;
}
}
}
else{
for(int i=x;i<U.size();i++){
B[i]=true;
dfs(i+1,t+1);
B[i]=false;
}
}
}
vector<int>find_roads(int n,vector<int>u,vector<int>v){
N=n;
U=u;
V=v;
dfs(0,0);
return res;
}
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |