# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
43828 | PowerOfNinjaGo | 미술 수업 (IOI13_artclass) | C++14 | 158 ms | 3680 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
//Power Of Ninja Go
#include <bits/stdc++.h>
#ifdef atom
#include "gradertxt.c"
#else
#include "artclass.h"
#endif
using namespace std;
typedef long long ll; typedef pair<int, int> ii;
#define X first
#define Y second
#define vi vector<int>
#define vii vector< ii >
#define pb push_back
int sq(int x){ return x*x;}
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, -1, 0, 1};
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500])
{
double res = 0;
int n = H, m = W;
double cntdiff = 0;
for(int i = 0; i< n; i++)
{
for(int j = 0; j< m; j++)
{
int tmp = 0;
double r = 0, g = 0, b = 0;
for(int p = 0; p< 4; p++)
{
int ni = i+dx[p], nj = j+dy[p];
if(ni< 0 || ni>= n || nj< 0 || nj>= m) continue;
r += R[ni][nj], g += G[ni][nj], b += B[ni][nj];
tmp++;
}
r /= tmp; g /= tmp; b/= tmp;
double val = sqrt((sq(r-R[i][j])+sq(g-G[i][j])+sq(b-B[i][j]))/3);
if(val> 50) cntdiff++;
res += val;
}
}
double tot = 0;
for(int i = 0; i< n; i++)
{
for(int j = 0; j< m; j++)
{
tot += R[i][j] +G[i][j] + B[i][j];
}
}
res /= n*m;
tot /= n*m;
cntdiff /= n*m;
if(res> 10) return 3;
else if(res< 1.5) return 4;
else if(tot>= 380) return 1;
return 2;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |