Submission #1122719

#TimeUsernameProblemLanguageResultExecution timeMemory
1122719aaaaaarrozSphinx's Riddle (IOI24_sphinx)C++20
10 / 100
11 ms912 KiB
#include <bits/stdc++.h> using namespace std; int perform_experiment(vector<int> e); vector<int>alll(int n,vector<int> x,vector<int> y){ vector<int>color(n); for(int i=0;i<n;i++){ vector<int>nodos; for(int j=0;j<n;j++){ if(j!=i){ nodos.push_back(j); } } int l=0,r=n-1; while(l<r){ int mid=(l+r)/2; vector<int>exp(n,l); exp[i]=-1; int node=0; for(int j=l;j<=mid;j++){ exp[nodos[node]]=j; node++; } int experimento=perform_experiment(exp); if(experimento==(mid-l+1)){ r=mid; } else{ l=mid+1; } } color[i]=l; } return color; } vector<int>uno(int n,vector<int> x,vector<int> y){ vector<int>color(n); color[0]=0; for(int i=1;i<n;i++){ vector<int>exp(n,n); exp[i]=-1; exp[i-1]=color[i-1]; if(perform_experiment(exp)==3){ if(color[i-1]==0){ color[i]=1; } else{ color[i]=0; } } else{ color[i]=color[i-1]; } } return color; } vector<int> find_colours(int n,vector<int> x,vector<int> y){ vector<int>grado(n,0); for(int i=0;i<x.size();i++){ grado[x[i]]++; grado[y[i]]++; } bool all=true; bool solo1=true; for(int i=0;i<n;i++){ if(grado[i]!=(n-1)){ all=false; } } if(n<=50){ vector<int> color(n, -1); for (int i = 0; i < n; ++i) { for (int c = 0; c < n; ++c){ vector<int> e(n, c); e[i] = -1; int foo = perform_experiment(e); if (foo == 1) { color[i] = c; break; } } } return color; } if(solo1){ return uno(n,x,y); } if(all){ return alll(n,x,y); } }

Compilation message (stderr)

sphinx.cpp: In function 'std::vector<int> find_colours(int, std::vector<int>, std::vector<int>)':
sphinx.cpp:89:1: warning: control reaches end of non-void function [-Wreturn-type]
   89 | }
      | ^
#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...