#include <bits/stdc++.h>
#include "chameleon.h"
//https://cms.ioi-jp.org/tasks/chameleon/descriptionusing namespace std;
using namespace std;
map<int,vector<int>>theval;
int binarysearch(vector<int>haha){
int start=0,end=haha.size()-1;
while(start!=end-1){
int middle=(start+end)/2;
vector<int>empty;
for(int i=middle;i<(int)haha.size();i++){
empty.push_back(haha[i]);
}
if(Query(empty)==(int)empty.size()){
end=middle;
}
else{
start=middle;
}
}
return end;
}
void sh(int i,vector<int>&hehe){
if(Query(hehe)!=(int)hehe.size()){
int pos=binarysearch(hehe);
theval[i].push_back(hehe[pos]);
theval[hehe[pos]].push_back(i);
hehe.pop_back();
}
}
void Solve(int N){
int n=N*2;
vector<bool>solved(n+1,0);
vector<int>one;
vector<int>two;
vector<int>three;
vector<int>four;
for(int i=1;i<=n;i++){
bool nah=0;
one.push_back(i);
sh(i,one);
if(one[one.size()-1]==i){nah=1;}
two.push_back(i);
sh(i,two);
if(nah&&two[two.size()-1]==i){two.pop_back();}
else if(two[two.size()-1]==i){nah=true;}
three.push_back(i);
sh(i,three);
if(nah&&three[three.size()-1]==i){three.pop_back();}
else if(three[three.size()-1]==i){nah=true;}
four.push_back(i);
sh(i,four);
if(nah&&four[four.size()-1]==i){four.pop_back();}
else if(four[four.size()-1]==i){nah=true;}
}
//the N*3 where we find the graph
map<int,vector<int>>graph;
/* int haha=0;
for(int i=1;i<=n;i++){
if(solved[i]==1)continue;
if(theval[i].size()==1){Answer(i,theval[i][0]);solved[i]=1;solved[theval[i][0]]=1;continue;}
// if(theval[i].size()==2){continue;}
if(Query({i,theval[i][0],theval[i][1]})==1){graph[i].push_back(theval[i][2]);graph[theval[i][2]].push_back(i);}
else if(Query({i,theval[i][0],theval[i][2]})==1){graph[i].push_back(theval[i][1]);graph[theval[i][1]].push_back(i);}
else if(Query({i,theval[i][2],theval[i][1]})==1){graph[i].push_back(theval[i][0]);graph[theval[i][0]].push_back(i);}
}
for(int i=1;i<=n;i++){
if(solved[i]==1){continue;}
int a=graph[i][0],b=graph[i][1];
for(int j=0;j<3;j++){
if(theval[i][j]!=a&&theval[i][j]!=b&&solved[theval[i][j]]==0){Answer(i,theval[i][j]);solved[i]=1;solved[theval[i][j]]=1;break;}
}
}*/
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
5 ms |
384 KB |
Wrong Answer [7] |
2 |
Halted |
0 ms |
0 KB |
- |