Submission #411365

#TimeUsernameProblemLanguageResultExecution timeMemory
411365ismoilovVision Program (IOI19_vision)C++14
29 / 100
2 ms332 KiB
#include "vision.h"
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize("Ofast")
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define IOS ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
//#define int ll
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define fp(a,i,c) for(int (a) = (i); (a) < (c); (a)++)
#define fpp(a,i,c) for(int (a) = (i); (a) <= (c); (a)++)
#define fv(a, c) for(int (a) = (1); (a) <= (c); (a)++)
#define fz(a, c) for(int (a) = (0); (a) < (c); (a)++)
#define fm(a,i,c) for(int (a) = (i); (a) > (c); (a)--)
#define fmm(a,i,c) for(int (a) = (i); (a) >= (c); (a)--)
#define pb push_back
#define in insert
#define ss second
#define ff first
#define vi vector <int>
#define fa(a, v) for(auto (a) : (v))
#define mnel(a) *min_element(all(a))
#define mxel(a) *max_element(all(a))
#define si set<int>
#define sov(a) sort(all((a)))
void construct_network(int h, int w, int K) {
	vector<int> ss;
	if(max(h, w) > 10){
		int i = 0, j = 0;
		int x = i*w + j;
			fpp(k,-K, K){
				int ii = i + k, jj = j + (abs(k) - K);
				if(ii >= 0 && ii < h && jj >= 0 && jj < w)
					ss.pb(add_and({x, ii*w +jj}));
				ii = i + k, jj = j - (abs(k) - K);
				if(ii >= 0 && ii < h && jj >= 0 && jj < w)
					ss.pb(add_and({x, ii*w +jj}));
		}
	}
	else{
		fp(i,0,h){
			fp(j,0,w){
				int x = i*w + j;
				fpp(k,-K, K){
					int ii = i + k, jj = j + (abs(k) - K);
					if(ii >= 0 && ii < h && jj >= 0 && jj < w)
						ss.pb(add_and({x, ii*w +jj}));
					ii = i + k, jj = j - (abs(k) - K);
					if(ii >= 0 && ii < h && jj >= 0 && jj < w)
						ss.pb(add_and({x, ii*w +jj}));
				}
			}
		}
	}
	add_or(ss);
}

Compilation message (stderr)

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:15:28: warning: unnecessary parentheses in declaration of 'k' [-Wparentheses]
   15 | #define fpp(a,i,c) for(int (a) = (i); (a) <= (c); (a)++)
      |                            ^
vision.cpp:35:4: note: in expansion of macro 'fpp'
   35 |    fpp(k,-K, K){
      |    ^~~
vision.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define fp(a,i,c) for(int (a) = (i); (a) < (c); (a)++)
      |                           ^
vision.cpp:45:3: note: in expansion of macro 'fp'
   45 |   fp(i,0,h){
      |   ^~
vision.cpp:14:27: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
   14 | #define fp(a,i,c) for(int (a) = (i); (a) < (c); (a)++)
      |                           ^
vision.cpp:46:4: note: in expansion of macro 'fp'
   46 |    fp(j,0,w){
      |    ^~
vision.cpp:15:28: warning: unnecessary parentheses in declaration of 'k' [-Wparentheses]
   15 | #define fpp(a,i,c) for(int (a) = (i); (a) <= (c); (a)++)
      |                            ^
vision.cpp:48:5: note: in expansion of macro 'fpp'
   48 |     fpp(k,-K, K){
      |     ^~~
#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...