제출 #962224

#제출 시각아이디문제언어결과실행 시간메모리
962224danikoynov미술 수업 (IOI13_artclass)C++14
43 / 100
63 ms5132 KiB
#include "artclass.h"
#include<bits/stdc++.h>
using namespace std;

struct pixel
{
    double r, g, b;
    pixel(double _r = 0.0, double _g = 0.0, double _b = 0.0)
    {
         r = _r;
         g = _g;
         b = _b;
    }
};

pixel avg_st[5];
void init()
{
     avg_st[1] = pixel(189.852, 166.758, 147.354);
     avg_st[2] = pixel(102.854, 98.1113, 64.2302);
     avg_st[3] = pixel(140.586, 128.459, 107.031);
     avg_st[4] = pixel(158.108, 89.7725, 55.3149);
}

double penalty[5];
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
    init();
    for (int i = 0; i < H; i ++)
    {
         for (int j = 0; j < W; j ++)
         {
              for (int s = 1; s <= 4; s ++)
              {
                   double dr = abs((double)(R[i][j]) - avg_st[s].r);
                   double dg = abs((double)(G[i][j]) - avg_st[s].g);
                   double db = abs((double)(B[i][j]) - avg_st[s].b);

                   dr = dr * dr;
                   dg = dg * dg;
                   db = db * db;
                   penalty[s] += dr + dg + db;
              }
         }
    }

    int mx = 1;
    for (int i = 1; i <= 4; i ++)
    {
         if (penalty[i] < penalty[mx])
          mx = i;
    }
    return mx;
}
#Verdict Execution timeMemoryGrader output
Fetching results...