Submission #396404

#TimeUsernameProblemLanguageResultExecution timeMemory
396404Kenzo_1114미술 수업 (IOI13_artclass)C++17
60 / 100
83 ms3344 KiB
#include<bits/stdc++.h>
#include"artclass.h"
using namespace std;
const int MAXN = 500;
const int MAXC = 260;

int cnt(int H, int W, int R[500][500], int G[500][500], int B[500][500], int val)
{
	int T = 0;

	for(int i = 0; i < H; i++)
		for(int j = 0; j < W; j++)
		{
			int r = R[i][j];
			int g = G[i][j];
			int b = B[i][j];

			if(j)
			{
				int r2 = R[i][j - 1];
				int g2 = G[i][j - 1];
				int b2 = B[i][j - 1];

				if(abs(r - r2) + abs(g - g2) + abs(b - b2) <= val)	continue;
			}

			if(i)
			{
				int r2 = R[i - 1][j];
				int g2 = G[i - 1][j];
				int b2 = B[i - 1][j];

				if(abs(r - r2) + abs(g - g2) + abs(b - b2) <= val)	continue;
			}

			++T;
		}

	return T;
}

int style(int H, int W, int R[500][500], int G[500][500], int B[500][500])
{
	if(cnt(H, W, R, G, B, 30) <= 700)	return 4;
	if(cnt(H, W, R, G, B, 100) >= 10000)	return 3;

	int r = 0, g = 0, b = 0;
	for(int i = 0; i < H; i++)
		for(int j = 0; j < W; j++)
		{
			r = max(r, R[i][j]);
			g = max(g, G[i][j]);
			b = max(b, B[i][j]);
		}

	int Cnt = (r == 255) + (g == 255) + (b == 255);
	if(Cnt < 2)	return 2;
	return 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...