답안 #290542

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
290542 2020-09-04T00:58:36 Z matheo_apd Chessboard (IZhO18_chessboard) C++17
8 / 100
152 ms 3968 KB
#include <bits/stdc++.h>
using namespace std;
#define maxn 100005
#define ll long long int
ll n, k;
vector<int> chess[maxn];
void solve_k0(){
	ll minimo = 999999;
	for(int i = 1; i < n; i++){
		if(n % i != 0) continue;
		int test = i*i;
		minimo = min(minimo, ((n*n/test)/2)*test);
	}
	cout << minimo << endl;
}
ll block(ll number, ll siz){
	return ((n-1)/siz + 1)%2;
}
ll solve_square(ll siz){
	ll cont = 0;
	for(int i = 1; i <= n; i++){
		ll cont_errado = 0, cont_certo = 0;
		for(int j = 0; j < chess[i].size(); j++){
			//if((i+j)%2 == chess[i][j]) cont_errado++;
			int row = chess[i][j];
			if(block(i, siz) == block(row, siz)) cont_certo++;
			else cont_errado++;
		}
		cont += cont_errado	+ n/2 + block(i, siz) - cont_certo;
	}
	return min(cont, n*n - cont);
}
int main(){
	memset(chess, 0, sizeof chess);
	cin >> n >> k;
	if(k == 0) solve_k0();
	else{
		for(int i = 0; i < k; i++){
			int x, y, l, m;
			cin >> x >> y;
			cin >> l >> m; //8)
			chess[x].push_back(y);
		}
		ll minimo = 999999999999;
		for(ll i = 1; i < n; i++){
			if(n%i == 0) minimo = min(minimo, solve_square(i));
		}
	}
	return 0;
}

Compilation message

chessboard.cpp: In function 'long long int solve_square(long long int)':
chessboard.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |   for(int j = 0; j < chess[i].size(); j++){
      |                  ~~^~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 2688 KB Output is correct
2 Correct 2 ms 2688 KB Output is correct
3 Correct 2 ms 2688 KB Output is correct
4 Correct 2 ms 2688 KB Output is correct
5 Correct 2 ms 2688 KB Output is correct
6 Correct 2 ms 2688 KB Output is correct
7 Correct 2 ms 2688 KB Output is correct
8 Correct 2 ms 2688 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 152 ms 3968 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 2688 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 2688 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 152 ms 3968 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 2688 KB Output is correct
2 Correct 2 ms 2688 KB Output is correct
3 Correct 2 ms 2688 KB Output is correct
4 Correct 2 ms 2688 KB Output is correct
5 Correct 2 ms 2688 KB Output is correct
6 Correct 2 ms 2688 KB Output is correct
7 Correct 2 ms 2688 KB Output is correct
8 Correct 2 ms 2688 KB Output is correct
9 Incorrect 152 ms 3968 KB Output isn't correct
10 Halted 0 ms 0 KB -