Submission #1245644

#TimeUsernameProblemLanguageResultExecution timeMemory
1245644simplemind_31Mechanical Doll (IOI18_doll)C++20
6 / 100
40 ms12724 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; vector<vector<int>> graph; vector<int> to; int swit; vector<pair<int,int>> to_swit; void create_circuit(int M,vector<int>A){ int N=A.size(); graph.resize(M+1); to.resize(M+1); to[0]=A[0]; graph[0].push_back(A[0]); for(int i=0;i<N-1;i++){ graph[A[i]].push_back(A[i+1]); } graph[A[N-1]].push_back(0); for(int i=0;i<=M;i++){ if(graph[i].size()==1){ to[i]=graph[i][0]; }else if(graph[i].size()>1){ to[i]=--swit; int last=graph[i].size()-1; while(last>1){ to_swit.push_back({--swit,graph[i][last--]}); } to_swit.push_back({graph[i][0],graph[i][1]}); } } vector<int> x(to_swit.size()),y(to_swit.size()); for(int i=0;i<to_swit.size();i++){ x[i]=to_swit[i].first; y[i]=to_swit[i].second; } answer(to,x,y); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...