이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "doll.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn=100000+10;
vector<int>c(maxn),x(maxn),y(maxn);
int lnk[maxn],s;
void adde(int u,int v){
s++;
x[s]=y[s]=-s;
if(lnk[u]==0){
c[u]=-s;
y[s]=v;
lnk[u]=s;
return ;
}
swap(x[lnk[u]],y[lnk[u]]);
y[lnk[u]]=-s;
lnk[u]=s;
y[s]=v;
}
void create_circuit(int M, std::vector<int> A) {
int n = A.size();
s=0;
int now=0;
for(int i=0;i<n;i++){
adde(now,A[i]);
now=A[i];
}
adde(now,0);
c.resize(M+1);
for(int i=0;i<s;i++){
x[i]=x[i+1];
y[i]=y[i+1];
}
x.resize(s);
y.resize(s);
/* for(auto i:c){
cout<<i<<" ";
}
cout<<endl;
for(auto i:x){
cout<<i<<" ";
}
cout<<endl;
for(auto i:y){
cout<<i<<" ";
}
cout<<endl;*/
answer(c, x, y);
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |