Submission #1364165

#TimeUsernameProblemLanguageResultExecution timeMemory
1364165scalifrastico_098Werewolf (IOI18_werewolf)C++20
0 / 100
4093 ms28848 KiB
#include "werewolf.h"
#include <bits/stdc++.h>
#define ll long long
#define F first
#define S second
using namespace std;
vector<int> check_validity(int n, vector<int> x, vector<int> y,
                                vector<int> s, vector<int> e,
                                vector<int> l, vector<int> r) {
  int q = s.size(), o=0; vector<int> a(q); vector<vector<ll>> b(n, vector<ll>());
  for(ll i=0; i<n; i++){b[x[i]].push_back(y[i]); b[y[i]].push_back(x[i]);}
  while(o<q)
  {
    queue<ll> rt; rt.push(s[o]); vector<ll> y; vector<bool> vis(n, 0); 
    while(!rt.empty())
    { 
        ll u=rt.front(); rt.pop(); if(vis[u])continue; vis[u]=1;
        for(auto x: b[u])
        {
            rt.push(x); y.push_back(x);
        }
    }
    bool pl=0, io=1;
    for(auto x: y)
    {
        if(x<=r[o]&&x>=l[o])pl=1; else if(x<l[o]&&!pl){io=0;}
        if(e[o]==x)break;
    }
    if(io)a[o]=1; else a[o]=0;
    o++;
  }
  return a;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...