Submission #953743

#TimeUsernameProblemLanguageResultExecution timeMemory
953743De3b0oGame (APIO22_game)C++17
30 / 100
4062 ms110612 KiB
#include "game.h" #include<bits/stdc++.h> #define ll long long #define F first #define S second #define in insert #define pb push_back #define ppb pop_back() #define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define cans cout << ans << "\n"; #define yes cout << "Yes" << "\n"; #define no cout << "No" << "\n"; #define pll pair<ll,ll> #define lin cout << "\n"; #define sqr 340 #define mod 1000000007 #define mid ((l+r)/2) //#define lc (2*n) //#define rc (2*n+1) using namespace std; bitset<900000000> path(0); ll K , N; void init(int n, int k) { N=n; K=k; for(int i = 0 ; n>i ; i++) for(int j = 0 ; n>j ; j++) path.reset(j+i*N); for(int i = 0 ; k>i ; i++) for(int j = i+1 ; k>j ; j++) path.set(j+i*N); } int add_teleporter(int u, int v) { if(path.test(v+u*N)==1) return 0; path.set(v+u*N); for(int i = 0 ; N>i ; i++) { if(path.test(u+i*N)==1) { for(int j = 0 ; N>j ; j++) { if(path.test(j+v*N)==1) path.set(j+i*N); } } } for(int i = 0 ; N>i ; i++) if(path.test(i+v*N)==1) path.set(i+u*N); for(int i = 0 ; N>i ; i++) if(path.test(u+i*N)==1) path.set(v+i*N); for(int i = 0 ; K>i ; i++) { if(path.test(i+i*N)==1) return 1; } return 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...