제출 #1217368

#제출 시각아이디문제언어결과실행 시간메모리
1217368omsincoconut미술 수업 (IOI13_artclass)C++20
92 / 100
35 ms3336 KiB
#include "artclass.h"
#include <bits/stdc++.h>
using namespace std;

double difference_mean(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
    double sum = 0;
    for (int i = 1; i < H; i++) {
        for (int j = 1; j < W; j++) {
            sum += 0.299*abs(R[i][j]-R[i-1][j]) + 0.587*abs(G[i][j]-G[i-1][j]) + 0.114*abs(B[i][j]-B[i-1][j]);
            sum += 0.299*abs(R[i][j]-R[i][j-1]) + 0.587*abs(G[i][j]-G[i][j-1]) + 0.114*abs(B[i][j]-B[i][j-1]);
        }
    }
    return sum/(H*W);
}

double info[5][2] = {
    {0,0},
    {11.551, 4.619},
    {21.419, 7.205},
    {57.704, 15.829},
    {3.685, 1.013}
};

int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
    double df = difference_mean(H, W, R, G, B);

    double cv = 1e9;
    int ret = 0;
    for (int i = 1; i <= 4; i++) {
        double v = (double)abs(df-info[i][0])/info[i][1];
        if (v < cv) {
            cv = v;
            ret = i;
        }
    }

    return ret;
}
#Verdict Execution timeMemoryGrader output
Fetching results...