Submission #19043

#TimeUsernameProblemLanguageResultExecution timeMemory
19043suhgyuho_williamGame (IOI14_game)C++98
0 / 100
0 ms18940 KiB
#include "game.h" #include <algorithm> #include <vector> using namespace std; int N; int a[1510][1510]; vector<int> edge[1510]; void initialize(int n) { N = n; int i,j; for(i=1; i<=N; i++){ for(j=1; j<=N; j++){ a[i][j] = -1; } while(!edge[i].empty()) edge[i].pop_back(); edge[i].push_back(i); } } int hasEdge(int u, int v) { int i,j; int t1,t2; u++; v++; for(i=1; i<=N; i++){ if(a[u][i] == 1){ if(a[v][i] != 0){ a[u][v] = a[v][u] = 0; return 0; } } } for(i=1; i<=N; i++){ if(a[v][i] == 1){ if(a[u][i] != 0){ a[u][v] = a[v][u] = 0; return 0; } } } t1 = edge[u].size(); t2 = edge[v].size(); for(i=0; i<t1; i++){ for(j=0; j<t2; j++){ a[edge[u][i]][edge[v][j]] = a[edge[v][j]][edge[u][i]] = 1; edge[edge[u][i]].push_back(edge[v][j]); edge[edge[v][j]].push_back(edge[u][i]); } } return 1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...