Submission #2652034


Source Code Expand

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <numeric>
#include <queue>
#include <map> 
#include <set>
#include <string>
#include <functional>
#include <list>
#include <random>
#include <time.h>
#include <iomanip>
#define int long long
#define double long double
#define oku7 1000000007
#define MAXN (int)1e+5 * 2+1
#define LL_MAX 9223372036854775807	//ない環境用
#define LL_HALFMAX 9223372036854775807 / 2	//ない環境用
using namespace std;
std::mt19937 mt((int)time(0));

int dx[4] = { 0, 1, 0, -1 }; // x軸方向への変位
int dy[4] = { 1, 0, -1, 0 }; // y軸方向への変位


vector<int> stable, ntable,table;
bool visited[1000000];
int D[32][32];
int grid[502][502];
int allData[32][3];
signed main() {
	int N, C;
	cin >> N >> C;
	for (int i = 1; i <= C; i++) {
		for (int j = 1; j <= C; j++) {
			int inp;
			cin >> inp;
			D[i][j] = inp;
		}
	}
	for (int i = 1; i <= N; i++) {
		for (int j = 1; j <= N; j++) {
			int inp;
			cin >> inp;
			grid[i][j] = inp;
		}
	}

	//allData[i][j]は、あまりjのところをcoloriに統一したときのいわかん
	for (int color = 1; color <= C; color++) {
		int ds[3] = {0,0,0};
		for (int i = 1; i <= N; i++) {
			for (int j = 1; j <= N; j++) {
				ds[(i + j) % 3] += D[grid[i][j]][color];
			}
		}
		for (int k = 0; k < 3; k++) {
			allData[color][k] = ds[k];
		}
	}


	int ans = LL_HALFMAX;
	for (int i = 1; i <= C; i++) {
		for (int j = 1; j <= C; j++) {
			for (int k = 1; k <= C; k++) {
				if (i == j || j == k || k == i) continue;
				int tans = allData[i][0] + allData[j][1] + allData[k][2];
				if (tans < ans) ans = tans;
			}
		}
	}

	cout << ans << "\n";


	return 0;
}

Submission Info

Submission Time
Task D - Good Grid
User ymduu
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1800 Byte
Status AC
Exec Time 66 ms
Memory 2176 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 18
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
01.txt AC 64 ms 2176 KB
02.txt AC 50 ms 2048 KB
03.txt AC 1 ms 256 KB
04.txt AC 16 ms 1280 KB
05.txt AC 1 ms 256 KB
06.txt AC 66 ms 2176 KB
07.txt AC 64 ms 2176 KB
08.txt AC 64 ms 2176 KB
09.txt AC 14 ms 1280 KB
10.txt AC 6 ms 896 KB
11.txt AC 10 ms 1152 KB
12.txt AC 16 ms 1408 KB
13.txt AC 61 ms 2176 KB
14.txt AC 47 ms 2048 KB
15.txt AC 64 ms 2176 KB
16.txt AC 27 ms 1536 KB
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB