Submission #1298514

#TimeUsernameProblemLanguageResultExecution timeMemory
1298514scalifrastico_098Sphinx's Riddle (IOI24_sphinx)C++20
1.50 / 100
1 ms332 KiB
#include "sphinx.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> find_colours(int n, vector<int> x1, vector<int> y) {
  vector<vector<int>> a(n, vector<int> ());
  vector<int> e(n); int ox=0;
  vector<int> g(n, -1); int i=0; 
  for(int i=0; i<n-1; i++)
  {
    a[x1[i]].push_back(y[i]); a[y[i]].push_back(x1[i]);
  }
  int s=0; for(int i=0; i<n; i++){if(a[i].size()==1){s=i; break;}}
  vector<int> h; vector<bool> vis(n, 0); g[s]=0;
  while(s!=-1)
  {
    h.push_back(s); vis[s]=1; int o=-1; for(auto x: a[s]){if(!vis[x])o=x;}
    s=o;
  }
  while(i<n-1)
  {
    e.assign(n, n); e[h[i]]=-1; e[h[i+1]]=-1;
    int u1=perform_experiment(e); 
    if((n>2&&u1==2)||(n==2&&u1==1)){g[h[i+1]]=g[h[i]];} 
    else {ox++; g[h[i+1]]=ox;}i++;
  }
  return g;
}
#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...