Submission #1008811

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
10088112024-06-26 20:03:07NintsiChkhaidzeWerewolf (IOI18_werewolf)C++17
15 / 100
4053 ms101692 KiB
#include "werewolf.h"
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
const int NN = 2e5 + 3;
vector <int> v[NN],g[4][NN];
int p[NN],par[4][NN],d[5][25][NN],timer;
int tin[4][NN],tout[4][NN],rev[4][NN];
bool active[NN],fix[NN];
int P(int x){
if (x==p[x]) return x;
return p[x]=P(p[x]);
}
void dsu(int id,int x,int y){
if (P(x) == P(y)) return;
y = P(y);
par[id][y] = x;
g[id][x].pb(y);
// cout<<"Edge "<<y<<" -> "<<x<<endl;
p[y] = x;
}
void dfs(int id,int x,int par){
d[id][0][x] = par;
// cout<<"> "<<id<<" "<<x<<endl;
tin[id][x] = ++timer;
rev[id][timer] = x;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

werewolf.cpp: In function 'std::vector<int> check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
werewolf.cpp:42:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |   for (int i=0;i<X.size();i++){
      |                ~^~~~~~~~~
werewolf.cpp:76:15: warning: 'root2' may be used uninitialized in this function [-Wmaybe-uninitialized]
   76 |   timer=0; dfs(2,root2,root2);
      |            ~~~^~~~~~~~~~~~~~~
werewolf.cpp:75:15: warning: 'root1' may be used uninitialized in this function [-Wmaybe-uninitialized]
   75 |   timer=0; dfs(1,root1,root1);
      |            ~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...