Submission #316426

#TimeUsernameProblemLanguageResultExecution timeMemory
316426talant117408Vision Program (IOI19_vision)C++17
12 / 100
1 ms384 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair <int, int> pii; #define precision(n) fixed << setprecision(n) #define pb push_back #define ub upper_bound #define lb lower_bound #define mp make_pair #define eps (double)1e-9 #define PI 2*acos(0.0) #define endl "\n" #define sz(v) int((v).size()) #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() #define do_not_disturb ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define OK cout << "OK" << endl; bool isEligible(int x, int y, int n, int m){ return x > -1 && x < n && y > -1 && y < m; } void construct_network(int n, int m, int dist) { if(min(n, m) == 1){ if(m == 1) swap(n, m); int ind = m; for(int i = 0; i+dist < m; i++){ vector <int> v; v.pb(i); v.pb(i+dist); add_and(v); ind++; } vector <int> v; for(int i = m; i < ind; i++){ v.pb(i); } add_or(v); return; } else if(n < 31 && m < 31){ int ind = m; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ for(int x = i; x < n; x++){ for(int y = 0; y < m; y++){ if(abs(i-x)+abs(j-y) == dist){ vector <int> v; v.pb(i*m+j); v.pb(x*m+y); add_and(v); ind++; } } } } } vector <int> v; for(int i = m; i < ind; i++){ v.pb(i); } add_or(v); return; } vector <int> v; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ if(j+i == dist){ v.pb(i*m+j); } } } add_or(v); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...