# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1013800 | huutuan | Art Class (IOI13_artclass) | C++14 | 49 ms | 6484 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |