Submission #1130386

#TimeUsernameProblemLanguageResultExecution timeMemory
1130386Ak_16Game (IOI14_game)C++17
Compilation error
0 ms0 KiB
#include <iostream>
using namespace std;


int par[2000];
int siz[2000];

int cnt[160][160];

int fin(int x){
  if(par[x]==x){return x;}
  else {return fin(par[x]);}
}

int unite(int x, int y){
  int xr = fin(x);
  int yr = fin(y);
  if(siz[xr]<siz[yr]){swap(xr, yr);}
  par[yr] = xr;
  siz[xr] += siz[yr];
}

void initialize(int n){
  for(int i=1; i<=n; i++){
    par[i] = i; siz[i] = 1;
  }
  for(int i=1; i<=n; i++){
    for(int j=1; j<=n; j++){
      cnt[i][j] = 0;
    }
  }
}

int hasedge(int u, int v){
  u++; v++;
  int n1 = fin(u);
  int n2 = fin(v);
  int n3 = siz[n1];
  int n4 = siz[n2];
  
  if(cnt[n1][n2] == n3 * n4 - 1){
    unite(n1, n2);
    return 1;
  }
  else {
    cnt[n1][n2]++;
    cnt[n2][n1]++;
    return 0;
  }
}

Compilation message (stderr)

game.cpp: In function 'int unite(int, int)':
game.cpp:21:1: warning: no return statement in function returning non-void [-Wreturn-type]
   21 | }
      | ^
/usr/bin/ld: /tmp/cclNGF7F.o: in function `main':
grader.cpp:(.text.startup+0x94): undefined reference to `hasEdge(int, int)'
collect2: error: ld returned 1 exit status