Submission #1192515

#TimeUsernameProblemLanguageResultExecution timeMemory
1192515prideliqueeeIsland Hopping (JOI24_island)C++20
35 / 100
2 ms408 KiB
#include<bits/stdc++.h>
#include "island.h"
using namespace std;
void solve(int N, int L) {
  int vis[310];
  memset(vis,0,sizeof vis);
  int v1,v2;
  v1=query(1,N-1);
  v2=query(v1,N-1);
  int now=v1;
  int cnt=0;
  while(now!=1)
  {
    int v=query(now,1);
    cnt++;
    if(v!=v1)
    {
      answer(v,now);
      vis[v]=1;
      vis[now]=1;
      v1=now;
      now=v;
      continue;
    }
    v=query(now,2);
    answer(v,now);
    vis[v]=1;
    vis[now]=1;
    v1=now;
    now=v;
  }
  now=v2;
  while(now!=1)
  {
    int v=query(now,1);
    cnt++;
    if(v!=v2)
    {
      answer(v,now);
      vis[v]=1;
      vis[now]=1;
      v2=now;
      now=v;
      continue;
    }
    v=query(now,2);
    answer(v,now);
    vis[v]=1;
    vis[now]=1;
    v2=now;
    now=v;
  }
  if(cnt<N-1)
  {
  v1=query(1,1);
  if(vis[v1])
  {
    v1=query(1,2);
    if(vis[v1])
    {
      v1=query(1,3);
    }
  }
  now=v1;
  cnt++;
  answer(1,v1);
  for(int i=cnt+1;i<=N-1;i++)
  {
    int v=query(now,1);
    if(v!=v1&&v!=1)
    {
      answer(v,now);
      vis[v]=1;
      vis[now]=1;
      v1=now;
      now=v;
      continue;
    }
    v=query(now,2);
    answer(v,now);
    vis[v]=1;
    vis[now]=1;
    v1=now;
    now=v;
  }
  }
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...