Submission #502294


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define rep2(i,m,n) for(int i=(int)(m);i<(int)(n);i++)
#define rep(i,n) rep2(i,0,n)
#define inf (1e9)
#define eps (1e-9)
int d[2000][2000];

long long check(int i, int j, int s, int t, int n) {
    if (i < 0 || j < 0) return 0;
    if (s >= n || t >= n) return 0;
    long long red = 0, blue = 0;
    for (int x = i; x <= s; x++) {
      for (int y =j; y <= t; y++) {
	if (d[x][y] == 0) {
	  red++;
	} else {
	  blue++;
	}
      }
    }
    return abs(red-blue);  
}

int main() {
  int N,K; cin >> N >> K;
  vector<pair<int,int> > k;
  for (int i =0; i< N; i++) {
    for (int j=0; j < N; j++) {
      if ((i+j) % 2 == 0) {
	d[i][j] = 1;
      } else {
	d[i][j] = 0;
      }
    }
  }
  for (int i = 0; i < K; i++) {
    int x,y;
    cin >> x >> y;
    x--; y--;
    k.push_back(make_pair(x,y));
    if (d[x][y] == 0) {
      d[x][y] = 1;
    } else {
      d[x][y] = 0;
    }
  }

  long long res = 0;
  for (int i = 0; i < (1 << k.size()); i++) {
    int min_i = N-1, min_j = N-1, max_i = 0, max_j = 0;
    for (int j = 0; j < k.size(); j++) {
      if (i >> j & 1) {
	max_i = max(k[j].first, max_i);
	max_j = max(k[j].second, max_j);
	min_i = min(k[j].first, min_i);
	min_j = min(k[j].second, min_j);
      }
    }
    //cout << min_i << " " << min_j << endl;
    //cout << max_i << " " << max_j << endl;
    int g[3] = {-1,0,1};
    rep(a,3) {
      rep(b,3) {
        rep(c,3) {
	  rep(d,3) {
            res = max(res,check(min_i+g[a],min_j+g[b],max_i+g[c],max_j+g[d],N));
	  }
	}
      }
    }
  }
  
  cout << res << endl;
  return 0;
}

Submission Info

Submission Time
Task E - マス目色ぬり
User penzant
Language C++ (GCC 4.9.2)
Score 0
Code Size 1670 Byte
Status TLE
Exec Time 2039 ms
Memory 16552 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 3
AC × 18
TLE × 9
Set Name Test Cases
Sample example_0.txt, example_1.txt, example_2.txt
All all_black_0.txt, all_black_1.txt, all_edge_0.txt, all_edge_1.txt, all_edge_2.txt, all_white_0.txt, all_white_1.txt, corner_0.txt, example_0.txt, example_1.txt, example_2.txt, maxrand_0.txt, maxrand_1.txt, maxrand_2.txt, maxrand_3.txt, maxrand_4.txt, random_0.txt, random_1.txt, random_2.txt, random_3.txt, random_4.txt, smallrand_0.txt, smallrand_1.txt, smallrand_2.txt, example_0.txt, example_1.txt, example_2.txt
Case Name Status Exec Time Memory
all_black_0.txt TLE 2034 ms 9152 KiB
all_black_1.txt TLE 2039 ms 11792 KiB
all_edge_0.txt AC 218 ms 4388 KiB
all_edge_1.txt TLE 2036 ms 12700 KiB
all_edge_2.txt AC 52 ms 2728 KiB
all_white_0.txt AC 66 ms 1184 KiB
all_white_1.txt AC 53 ms 15912 KiB
corner_0.txt AC 24 ms 928 KiB
example_0.txt AC 24 ms 804 KiB
example_1.txt AC 24 ms 928 KiB
example_2.txt AC 26 ms 804 KiB
maxrand_0.txt TLE 2037 ms 16552 KiB
maxrand_1.txt TLE 2036 ms 16544 KiB
maxrand_2.txt TLE 2036 ms 16484 KiB
maxrand_3.txt TLE 2035 ms 16552 KiB
maxrand_4.txt TLE 2037 ms 16480 KiB
random_0.txt TLE 2036 ms 10796 KiB
random_1.txt AC 977 ms 2220 KiB
random_2.txt AC 612 ms 14876 KiB
random_3.txt AC 106 ms 11940 KiB
random_4.txt AC 498 ms 1564 KiB
smallrand_0.txt AC 27 ms 916 KiB
smallrand_1.txt AC 26 ms 808 KiB
smallrand_2.txt AC 26 ms 924 KiB