답안 #256993

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
256993 2020-08-03T13:43:06 Z b00n0rp Vision Program (IOI19_vision) C++17
0 / 100
16 ms 1152 KB
#include "vision.h"
#include<bits/stdc++.h>
using namespace std;

#define REP(i,n) for(int i = 0; i < n; i ++)
#define FOR(i,a,b) for(int i = a; i < b; i++)
#define vi vector<int>
#define pb push_back

vi xorrow,xorcol;
int diffrow[205],diffcol[205];

void construct_network(int H, int W, int K){
	// srand(time(0));
	int cnt = 0;
	REP(i,H){
		vi v;
		REP(j,W) v.pb(i*W+j);
		xorrow.pb(add_xor(v));
		cnt++;
	}
	REP(j,W){
		vi v;
		REP(i,H) v.pb(i*W+j);
		xorcol.pb(add_xor(v));
		cnt++;
	}
	int cur = add_or(xorrow);
	diffrow[0] = add_not(cur);
	cur = add_or(xorcol);
	diffcol[0] = add_not(cur);
	cnt+=4;
	vi ignore;
	if(K > 80) ignore = {41,49,70,77};
	else ignore = {-1,-1,-1,-1};
	FOR(k,1,K+1){
		vi vrow,vcol;
		if(!(k == ignore[0] or k == ignore[1] or k == ignore[2] or k == ignore[3]))
		REP(i,H-k){
			vrow.pb(add_and({xorrow[i],xorrow[i+k]}));
			cnt++;
		}
		if(!(k == K-ignore[0] or k == K-ignore[1] or k == K-ignore[2] or k == K-ignore[3]))
		REP(i,W-k){
			vcol.pb(add_and({xorcol[i],xorcol[i+k]}));
			cnt++;
		}
		if(vrow.size()){
			diffrow[k] = add_or(vrow);
			cnt++;
		}
		else diffrow[k] = -1;

		if(vcol.size()){
			diffcol[k] = add_or(vcol);
			cnt++;
		}
		else diffcol[k] = -1;
	}
	vi ans;
	REP(k,K+1){
		if(diffrow[k] == -1 or diffcol[K-k] == -1) continue;

		ans.pb(add_and({diffrow[k],diffcol[K-k]}));
		cnt++;
	}
	cout << cnt << " :-<\n";
	add_or(ans);
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB secret mismatch
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB secret mismatch
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB secret mismatch
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB secret mismatch
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 416 KB secret mismatch
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 256 KB secret mismatch
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 16 ms 1152 KB secret mismatch
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 256 KB secret mismatch
2 Halted 0 ms 0 KB -