제출 #1013800

#제출 시각아이디문제언어결과실행 시간메모리
1013800huutuan미술 수업 (IOI13_artclass)C++14
25 / 100
49 ms6484 KiB
#include "artclass.h"

#include <bits/stdc++.h>

using namespace std;

mt19937 rng(69420);

int rand(int l, int r){
   return uniform_int_distribution<int>(l, r)(rng);
}

int R[500][500], G[500][500], B[500][500];

bool similar(int u, int v, int x, int y){
   return abs(R[u][v]-R[x][y])<=30 && abs(G[u][v]-G[x][y])<=30 && abs(B[u][v]-B[x][y])<=30;
}

int style(int H, int W, int _R[500][500], int _G[500][500], int _B[500][500]) {
   memcpy(R, _R, sizeof R);
   memcpy(G, _G, sizeof G);
   memcpy(B, _B, sizeof B);
   int cnt=0;
   for (int _=0; _<500; ++_){
      int x=rand(0, H-30), y=rand(0, W-100);
      bool check=1;
      for (int i=x; i<x+30; ++i) for (int j=y; j<y+100; ++j){
         check&=similar(i, j, x, y);
      }
      cnt+=check;
   }
   if (cnt>=100){
      return 4;
   }
   for (int _=0; _<500; ++_){
      int x=rand(0, H-40), y=rand(0, W-40);
      bool check=1;
      for (int i=x; i<x+40; ++i) for (int j=y; j<y+40; ++j){
         check&=similar(i, j, x, y);
      }
      cnt+=check;
   }
   if (cnt>=50){
      return 1;
   }
   return 2;
}
#Verdict Execution timeMemoryGrader output
Fetching results...