Submission #836181

#TimeUsernameProblemLanguageResultExecution timeMemory
836181TrumlingThousands Islands (IOI22_islands)C++17
1.75 / 100
28 ms5420 KiB
#include "islands.h"
#include <variant>
#include <vector>
#include<bits/stdc++.h>
using namespace std;

#define F first
#define S second
#define all(x) x.begin(),x.end()
typedef long long ll;
#define pb push_back
#define INF 9999999999999999
vector<vector<pair<int,int>>>g;
ll last=-1;
void dfs(int start, vector<pair<int,int>> &vis)
{
  for(auto x:g[start])
    if(vis[x.F].F==-1)
    {
       vis[x.F]={start,x.S};
       dfs(x.F,vis);
    }
    else 
    if((x.F==vis[start].F && x.S!=vis[start].S) || x.F!=vis[start].F)
      {
      last=start;
      break;
      }
      
    
   return ;
}
variant<bool, vector<int> > find_journey(int N, int M, vector<int> U, vector<int> V) 
{
  g.assign(N,vector<pair<int,int>>());
  vector<int>c(N,0);
  ll idx=0;

  for(int i=0;i<M;i+=2)
  {
    g[U[i]].pb({V[i],i});
    g[V[i]].pb({U[i],i});
  }
    
  
  vector<pair<int,int>>vis(N,{-1,-1});
  dfs(0,vis);
  if(last==-1)
  return false;
  
  vector<int>v={0,1,0};
  return v;

}

Compilation message (stderr)

islands.cpp: In function 'std::variant<bool, std::vector<int, std::allocator<int> > > find_journey(int, int, std::vector<int>, std::vector<int>)':
islands.cpp:37:6: warning: unused variable 'idx' [-Wunused-variable]
   37 |   ll idx=0;
      |      ^~~
#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...