답안 #424806

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
424806 2021-06-12T10:27:01 Z AugustinasJucas Vision Program (IOI19_vision) C++14
0 / 100
5 ms 968 KB
#include <bits/stdc++.h>
#include "vision.h"
using namespace std;
vector<pair<int, int> > pss = {{-1, 1}, {-1, -1}, {1, 1}, {1, -1}};
vector<pair<int, int> > dists(int e, int s, int k, int n, int m){
	int pe = 0, ps = 0;
	vector<pair<int, int> > ret;
	vector<pair<int, int> > ans;
	for(auto x : pss){
		for(int i = 0; i < k; i++){
			pe = e + x.first * i;
			ps = s + x.second * (k-i);
			if(pe < 0 || pe >= n || ps < 0 || ps >= m) continue;
			ret.push_back({pe, ps});
		}
	}
	if(ret.size() == 0) return {};
	sort(ret.begin(), ret.end());
	ans.push_back(ret[0]);
	for(int i = 1; i < (int) ret.size(); i++) if(ret[i] != ret[i-1]) ans.push_back(ret[i]);
	return ans;
}
void construct_network(int n, int m, int k) {
	int viso = 0; int prm = 0; 
	for(int i = 0; i < n; i++){
		for(int j = 0; j < m; j++){
			//cout << i << ", "  << j << endl;
			auto ms = dists(i, j, k, n, m);
			if(ms.size() == 0) continue;
			vector<int> hsh; for(auto x : ms) hsh.push_back(x.first * m + x.second);
			add_or(hsh);
			//cout << "nuo [" << i << "; " << j << "] nutole per " << k << ": "; for(auto x : ms) cout << "{" << x.first << ", " << x.second << "}, "; 
			//cout << endl;
			viso++;
			prm++;
		} 
	}
	if(prm == 0){
		vector<int> ret;
		for(int i = 0; i < n*m; i++) ret.push_back(i);
		add_and(ret);
		return;
	}
	int curInd = n * m;
	for(int i = 0; i < n; i++){
		for(int j = 0; j < m; j++){
			auto ms = dists(i, j, k, n, m);
			if(ms.size() == 0) continue;
			
			vector<int> hsh = {curInd, i *  m + j};
			add_and(hsh);
			curInd++;
			viso++;
		}
	}

	vector<int> hsh;
	for(int i = n * m + prm; i < n*m+viso; i++){
		hsh.push_back(i);
	}
	add_or(hsh);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB on inputs (0, 0), (1, 0), expected 1, but computed 0
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB on inputs (0, 0), (1, 0), expected 1, but computed 0
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB on inputs (0, 0), (1, 0), expected 1, but computed 0
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB on inputs (0, 0), (1, 0), expected 1, but computed 0
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Incorrect 1 ms 204 KB on inputs (0, 0), (2, 0), expected 1, but computed 0
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 204 KB on inputs (0, 0), (1, 0), expected 1, but computed 0
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 5 ms 968 KB WA in grader: Too many instructions
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB on inputs (0, 0), (1, 0), expected 1, but computed 0
4 Halted 0 ms 0 KB -