# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
82667 | zubec | 미술 수업 (IOI13_artclass) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "grader.h"
#include <bits/stdc++.h>
using namespace std;
typedef long double ld;
const int dx[4] = {0, 1, 0, -1};
const int dy[4] = {1, 0, -1, 0};
const ld masOld[4] = {1513845.7449595534, 2878621.1179153402, 7651413.4723624049, 511293.3441765782};
const ld mas[4] = {1506183.0103572895, 2592183.2318885794, 8236725.3572605042, 481440.2991297710};
int a[510][510];
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
for (int i = 0; i < H; i++){
for (int j = 0; j < W; j++){
a[i][j] = (R[i][j]<<16)+(G[i][j]<<8)+B[i][j];
}
}
ld ans = 0;
for (int i = 0; i < H; i++){
for (int j = 0; j < W; j++){
for (int k = 0; k < 4; k++){
int ii = i + dx[k], jj = j + dy[k];
if (ii < 0 || jj < 0 || ii >= H || jj >= W)
continue;
ans += abs(a[i][j]-a[ii][jj]);
}
}
}
ans /= (ld)(H*W);
ld mn = 1e15;
int intAns = 0;
for (int i = 0; i < 4; i++){
if (abs(ans-mas[i]) < mn){
mn = abs(ans-mas[i]);
intAns = i;
}
}
return intAns+1;
}