QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#559223 | #1153. Art Class | makrav# | AC ✓ | 248ms | 8024kb | C++20 | 2.9kb | 2024-09-11 20:54:18 | 2024-09-11 20:54:19 |
Judging History
artclass
#include "artclass.h"
#include <bits/stdc++.h>
using namespace std;
mt19937 rnd(time(NULL));
const int SAME = 10;
const int C4 = 50, R4 = 20;
const int F = 115;
int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]) {
int cnt_green = 0;
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
cnt_green += (G[i][j] - R[i][j] - B[i][j] >= 70);
}
}
if (cnt_green >= H * W * 2 / 5) return 2;
auto check = [&](int i, int j, int i1, int j1) {
if (i1 < 0 || i1 >= H || j1 < 0 || j1 >= W) return false;
if (abs(R[i][j]-R[i1][j1]) + abs(G[i][j]-G[i1][j1]) + abs(B[i][j]-B[i1][j1]) <= SAME) return true;
return false;
};
auto check4 = [&](int i, int j, int i1, int j1) {
if (i1 < 0 || i1 >= H || j1 < 0 || j1 >= W) return false;
if (abs(R[i][j]-R[i1][j1]) + abs(G[i][j]-G[i1][j1]) + abs(B[i][j]-B[i1][j1]) <= C4) return true;
return false;
};
auto check23 = [&](int i, int j, int i1, int j1) {
if (i1 < 0 || i1 >= H || j1 < 0 || j1 >= W) return false;
if (abs(R[i][j]-R[i1][j1]) + abs(G[i][j]-G[i1][j1]) + abs(B[i][j]-B[i1][j1]) > F) return true;
return false;
};
int fuck = 1;
for (int pnum = 0; pnum < R4; pnum++) {
int i = rnd() % H, j = rnd() % W;
queue<pair<int, int>> q;
vector<vector<int>> used(H, vector<int>(W));
q.push({i, j});
int cnt = 0;
while (!q.empty()) {
auto [I, J] = q.front();
used[I][J] = 1;
q.pop();
cnt++;
if (I-1 >= 0 && !used[I-1][J]&&check4(I,J,I-1,J)){
used[I-1][J]=1;
q.push({I-1,J});
}
if (J-1>=0&&!used[I][J-1]&&check4(I,J,I,J-1)){
used[I][J-1]=1;
q.push({I,J-1});
}
if(I+1<H&&!used[I+1][J]&&check4(I,J,I+1,J)){
used[I+1][J]=1;
q.push({I+1,J});
}
if(J+1<W&&!used[I][J+1]&&check4(I,J,I,J+1)){
used[I][J+1]=1;
q.push({I,J+1});
}
}
if (cnt < H * W / 5) fuck = 0;
}
if (fuck) return 4;
int cnt = 0;
vector<pair<int, int>> dir={{0,1},{1,0},{0,-1},{-1,0}};
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
for (auto d : dir) {
cnt += check(i, j, i + d.first, j + d.second);
}
}
}
if (cnt >= H * W * 2) {
return 1;
}
int cnt_bad =0;
for (int i = 0; i < H; i++) {
for (int j = 0; j < W; j++) {
bool hassos = false;
for (auto d : dir) {
if (check23(i, j, i+d.first, j+d.second))hassos=true;
}
cnt_bad+=hassos;
}
}
if (cnt_bad > H*W/3)return 3;
return 2;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 40ms
memory: 5584kb
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 100
Accepted
time: 76ms
memory: 7576kb
output:
1
result:
ok 1 number(s): "1"
Test #3:
score: 100
Accepted
time: 90ms
memory: 7652kb
output:
1
result:
ok 1 number(s): "1"
Test #4:
score: 100
Accepted
time: 66ms
memory: 7388kb
output:
1
result:
ok 1 number(s): "1"
Test #5:
score: 100
Accepted
time: 94ms
memory: 7736kb
output:
1
result:
ok 1 number(s): "1"
Test #6:
score: 100
Accepted
time: 82ms
memory: 7268kb
output:
1
result:
ok 1 number(s): "1"
Test #7:
score: 100
Accepted
time: 98ms
memory: 7368kb
output:
1
result:
ok 1 number(s): "1"
Test #8:
score: 100
Accepted
time: 112ms
memory: 7228kb
output:
1
result:
ok 1 number(s): "1"
Test #9:
score: 0
Wrong Answer
time: 86ms
memory: 7360kb
output:
2
result:
wrong answer 1st numbers differ - expected: '1', found: '2'
Test #10:
score: 100
Accepted
time: 92ms
memory: 7364kb
output:
1
result:
ok 1 number(s): "1"
Test #11:
score: 100
Accepted
time: 88ms
memory: 7568kb
output:
1
result:
ok 1 number(s): "1"
Test #12:
score: 0
Wrong Answer
time: 84ms
memory: 7260kb
output:
2
result:
wrong answer 1st numbers differ - expected: '1', found: '2'
Test #13:
score: 0
Wrong Answer
time: 70ms
memory: 7672kb
output:
2
result:
wrong answer 1st numbers differ - expected: '1', found: '2'
Test #14:
score: 0
Wrong Answer
time: 104ms
memory: 8024kb
output:
2
result:
wrong answer 1st numbers differ - expected: '1', found: '2'
Test #15:
score: 100
Accepted
time: 106ms
memory: 7772kb
output:
1
result:
ok 1 number(s): "1"
Test #16:
score: 100
Accepted
time: 92ms
memory: 7744kb
output:
1
result:
ok 1 number(s): "1"
Test #17:
score: 100
Accepted
time: 94ms
memory: 7384kb
output:
1
result:
ok 1 number(s): "1"
Test #18:
score: 100
Accepted
time: 98ms
memory: 7776kb
output:
1
result:
ok 1 number(s): "1"
Test #19:
score: 100
Accepted
time: 80ms
memory: 7176kb
output:
1
result:
ok 1 number(s): "1"
Test #20:
score: 100
Accepted
time: 100ms
memory: 7776kb
output:
1
result:
ok 1 number(s): "1"
Test #21:
score: 100
Accepted
time: 92ms
memory: 7308kb
output:
1
result:
ok 1 number(s): "1"
Test #22:
score: 100
Accepted
time: 90ms
memory: 7188kb
output:
1
result:
ok 1 number(s): "1"
Test #23:
score: 100
Accepted
time: 88ms
memory: 7744kb
output:
1
result:
ok 1 number(s): "1"
Test #24:
score: 100
Accepted
time: 94ms
memory: 7324kb
output:
1
result:
ok 1 number(s): "1"
Test #25:
score: 100
Accepted
time: 170ms
memory: 7788kb
output:
1
result:
ok 1 number(s): "1"
Test #26:
score: 100
Accepted
time: 84ms
memory: 7612kb
output:
1
result:
ok 1 number(s): "1"
Test #27:
score: 100
Accepted
time: 50ms
memory: 7428kb
output:
1
result:
ok 1 number(s): "1"
Test #28:
score: 100
Accepted
time: 146ms
memory: 7728kb
output:
1
result:
ok 1 number(s): "1"
Test #29:
score: 100
Accepted
time: 70ms
memory: 7792kb
output:
1
result:
ok 1 number(s): "1"
Test #30:
score: 0
Wrong Answer
time: 130ms
memory: 7780kb
output:
2
result:
wrong answer 1st numbers differ - expected: '1', found: '2'
Test #31:
score: 100
Accepted
time: 88ms
memory: 7684kb
output:
1
result:
ok 1 number(s): "1"
Test #32:
score: 100
Accepted
time: 96ms
memory: 7152kb
output:
1
result:
ok 1 number(s): "1"
Test #33:
score: 100
Accepted
time: 196ms
memory: 7412kb
output:
2
result:
ok 1 number(s): "2"
Test #34:
score: 0
Wrong Answer
time: 200ms
memory: 7672kb
output:
4
result:
wrong answer 1st numbers differ - expected: '2', found: '4'
Test #35:
score: 100
Accepted
time: 218ms
memory: 7600kb
output:
2
result:
ok 1 number(s): "2"
Test #36:
score: 100
Accepted
time: 202ms
memory: 7392kb
output:
2
result:
ok 1 number(s): "2"
Test #37:
score: 100
Accepted
time: 150ms
memory: 6640kb
output:
2
result:
ok 1 number(s): "2"
Test #38:
score: 100
Accepted
time: 130ms
memory: 7076kb
output:
2
result:
ok 1 number(s): "2"
Test #39:
score: 100
Accepted
time: 182ms
memory: 7416kb
output:
2
result:
ok 1 number(s): "2"
Test #40:
score: 100
Accepted
time: 190ms
memory: 7888kb
output:
2
result:
ok 1 number(s): "2"
Test #41:
score: 0
Wrong Answer
time: 188ms
memory: 7296kb
output:
4
result:
wrong answer 1st numbers differ - expected: '2', found: '4'
Test #42:
score: 100
Accepted
time: 174ms
memory: 6892kb
output:
2
result:
ok 1 number(s): "2"
Test #43:
score: 100
Accepted
time: 192ms
memory: 7592kb
output:
2
result:
ok 1 number(s): "2"
Test #44:
score: 100
Accepted
time: 218ms
memory: 7540kb
output:
2
result:
ok 1 number(s): "2"
Test #45:
score: 100
Accepted
time: 182ms
memory: 7472kb
output:
2
result:
ok 1 number(s): "2"
Test #46:
score: 0
Wrong Answer
time: 84ms
memory: 6240kb
output:
3
result:
wrong answer 1st numbers differ - expected: '2', found: '3'
Test #47:
score: 100
Accepted
time: 248ms
memory: 7876kb
output:
2
result:
ok 1 number(s): "2"
Test #48:
score: 100
Accepted
time: 148ms
memory: 7032kb
output:
2
result:
ok 1 number(s): "2"
Test #49:
score: 100
Accepted
time: 200ms
memory: 7400kb
output:
2
result:
ok 1 number(s): "2"
Test #50:
score: 0
Wrong Answer
time: 172ms
memory: 6828kb
output:
4
result:
wrong answer 1st numbers differ - expected: '2', found: '4'
Test #51:
score: 100
Accepted
time: 176ms
memory: 7240kb
output:
2
result:
ok 1 number(s): "2"
Test #52:
score: 100
Accepted
time: 240ms
memory: 7800kb
output:
2
result:
ok 1 number(s): "2"
Test #53:
score: 100
Accepted
time: 214ms
memory: 7184kb
output:
2
result:
ok 1 number(s): "2"
Test #54:
score: 100
Accepted
time: 224ms
memory: 7852kb
output:
2
result:
ok 1 number(s): "2"
Test #55:
score: 0
Wrong Answer
time: 238ms
memory: 7060kb
output:
4
result:
wrong answer 1st numbers differ - expected: '2', found: '4'
Test #56:
score: 100
Accepted
time: 178ms
memory: 7556kb
output:
2
result:
ok 1 number(s): "2"
Test #57:
score: 100
Accepted
time: 140ms
memory: 6516kb
output:
2
result:
ok 1 number(s): "2"
Test #58:
score: 100
Accepted
time: 198ms
memory: 6988kb
output:
2
result:
ok 1 number(s): "2"
Test #59:
score: 100
Accepted
time: 194ms
memory: 7772kb
output:
2
result:
ok 1 number(s): "2"
Test #60:
score: 0
Wrong Answer
time: 162ms
memory: 6908kb
output:
4
result:
wrong answer 1st numbers differ - expected: '2', found: '4'
Test #61:
score: 100
Accepted
time: 204ms
memory: 7788kb
output:
2
result:
ok 1 number(s): "2"
Test #62:
score: 100
Accepted
time: 212ms
memory: 7240kb
output:
2
result:
ok 1 number(s): "2"
Test #63:
score: 100
Accepted
time: 188ms
memory: 6780kb
output:
2
result:
ok 1 number(s): "2"
Test #64:
score: 100
Accepted
time: 194ms
memory: 7432kb
output:
2
result:
ok 1 number(s): "2"
Test #65:
score: 100
Accepted
time: 172ms
memory: 6836kb
output:
2
result:
ok 1 number(s): "2"
Test #66:
score: 100
Accepted
time: 144ms
memory: 6256kb
output:
2
result:
ok 1 number(s): "2"
Test #67:
score: 100
Accepted
time: 176ms
memory: 7328kb
output:
2
result:
ok 1 number(s): "2"
Test #68:
score: 100
Accepted
time: 168ms
memory: 7396kb
output:
2
result:
ok 1 number(s): "2"
Test #69:
score: 100
Accepted
time: 56ms
memory: 6888kb
output:
3
result:
ok 1 number(s): "3"
Test #70:
score: 100
Accepted
time: 40ms
memory: 6448kb
output:
3
result:
ok 1 number(s): "3"
Test #71:
score: 100
Accepted
time: 48ms
memory: 5460kb
output:
3
result:
ok 1 number(s): "3"
Test #72:
score: 100
Accepted
time: 58ms
memory: 6616kb
output:
3
result:
ok 1 number(s): "3"
Test #73:
score: 100
Accepted
time: 50ms
memory: 6920kb
output:
3
result:
ok 1 number(s): "3"
Test #74:
score: 100
Accepted
time: 58ms
memory: 6912kb
output:
3
result:
ok 1 number(s): "3"
Test #75:
score: 100
Accepted
time: 22ms
memory: 6276kb
output:
3
result:
ok 1 number(s): "3"
Test #76:
score: 100
Accepted
time: 44ms
memory: 7260kb
output:
3
result:
ok 1 number(s): "3"
Test #77:
score: 100
Accepted
time: 56ms
memory: 7004kb
output:
3
result:
ok 1 number(s): "3"
Test #78:
score: 100
Accepted
time: 42ms
memory: 6892kb
output:
3
result:
ok 1 number(s): "3"
Test #79:
score: 100
Accepted
time: 70ms
memory: 6580kb
output:
3
result:
ok 1 number(s): "3"
Test #80:
score: 100
Accepted
time: 16ms
memory: 4760kb
output:
3
result:
ok 1 number(s): "3"
Test #81:
score: 100
Accepted
time: 40ms
memory: 6624kb
output:
3
result:
ok 1 number(s): "3"
Test #82:
score: 100
Accepted
time: 64ms
memory: 7152kb
output:
3
result:
ok 1 number(s): "3"
Test #83:
score: 100
Accepted
time: 140ms
memory: 7564kb
output:
3
result:
ok 1 number(s): "3"
Test #84:
score: 100
Accepted
time: 54ms
memory: 6864kb
output:
3
result:
ok 1 number(s): "3"
Test #85:
score: 100
Accepted
time: 68ms
memory: 6928kb
output:
3
result:
ok 1 number(s): "3"
Test #86:
score: 100
Accepted
time: 118ms
memory: 7384kb
output:
3
result:
ok 1 number(s): "3"
Test #87:
score: 100
Accepted
time: 58ms
memory: 6828kb
output:
3
result:
ok 1 number(s): "3"
Test #88:
score: 100
Accepted
time: 40ms
memory: 6464kb
output:
3
result:
ok 1 number(s): "3"
Test #89:
score: 100
Accepted
time: 18ms
memory: 4596kb
output:
3
result:
ok 1 number(s): "3"
Test #90:
score: 100
Accepted
time: 64ms
memory: 6796kb
output:
3
result:
ok 1 number(s): "3"
Test #91:
score: 100
Accepted
time: 52ms
memory: 6916kb
output:
3
result:
ok 1 number(s): "3"
Test #92:
score: 100
Accepted
time: 60ms
memory: 6720kb
output:
3
result:
ok 1 number(s): "3"
Test #93:
score: 100
Accepted
time: 44ms
memory: 5660kb
output:
3
result:
ok 1 number(s): "3"
Test #94:
score: 100
Accepted
time: 60ms
memory: 6132kb
output:
3
result:
ok 1 number(s): "3"
Test #95:
score: 100
Accepted
time: 38ms
memory: 6496kb
output:
3
result:
ok 1 number(s): "3"
Test #96:
score: 100
Accepted
time: 68ms
memory: 7748kb
output:
3
result:
ok 1 number(s): "3"
Test #97:
score: 100
Accepted
time: 68ms
memory: 7028kb
output:
3
result:
ok 1 number(s): "3"
Test #98:
score: 100
Accepted
time: 50ms
memory: 6544kb
output:
3
result:
ok 1 number(s): "3"
Test #99:
score: 100
Accepted
time: 72ms
memory: 6284kb
output:
3
result:
ok 1 number(s): "3"
Test #100:
score: 100
Accepted
time: 66ms
memory: 6952kb
output:
3
result:
ok 1 number(s): "3"
Test #101:
score: 100
Accepted
time: 68ms
memory: 6984kb
output:
3
result:
ok 1 number(s): "3"
Test #102:
score: 100
Accepted
time: 56ms
memory: 5748kb
output:
3
result:
ok 1 number(s): "3"
Test #103:
score: 100
Accepted
time: 38ms
memory: 6700kb
output:
3
result:
ok 1 number(s): "3"
Test #104:
score: 100
Accepted
time: 82ms
memory: 7292kb
output:
3
result:
ok 1 number(s): "3"
Test #105:
score: 100
Accepted
time: 102ms
memory: 7372kb
output:
4
result:
ok 1 number(s): "4"
Test #106:
score: 100
Accepted
time: 122ms
memory: 7436kb
output:
4
result:
ok 1 number(s): "4"
Test #107:
score: 0
Wrong Answer
time: 56ms
memory: 6844kb
output:
1
result:
wrong answer 1st numbers differ - expected: '4', found: '1'
Test #108:
score: 100
Accepted
time: 162ms
memory: 7600kb
output:
4
result:
ok 1 number(s): "4"
Test #109:
score: 100
Accepted
time: 136ms
memory: 7536kb
output:
4
result:
ok 1 number(s): "4"
Test #110:
score: 100
Accepted
time: 32ms
memory: 7096kb
output:
4
result:
ok 1 number(s): "4"
Test #111:
score: 100
Accepted
time: 136ms
memory: 6892kb
output:
4
result:
ok 1 number(s): "4"
Test #112:
score: 100
Accepted
time: 150ms
memory: 7560kb
output:
4
result:
ok 1 number(s): "4"
Test #113:
score: 100
Accepted
time: 184ms
memory: 7768kb
output:
4
result:
ok 1 number(s): "4"
Test #114:
score: 100
Accepted
time: 154ms
memory: 7644kb
output:
4
result:
ok 1 number(s): "4"
Test #115:
score: 100
Accepted
time: 104ms
memory: 7312kb
output:
4
result:
ok 1 number(s): "4"
Test #116:
score: 100
Accepted
time: 124ms
memory: 7368kb
output:
4
result:
ok 1 number(s): "4"
Test #117:
score: 100
Accepted
time: 160ms
memory: 7608kb
output:
4
result:
ok 1 number(s): "4"
Test #118:
score: 100
Accepted
time: 160ms
memory: 7540kb
output:
4
result:
ok 1 number(s): "4"
Test #119:
score: 100
Accepted
time: 78ms
memory: 7280kb
output:
4
result:
ok 1 number(s): "4"
Test #120:
score: 100
Accepted
time: 142ms
memory: 7620kb
output:
4
result:
ok 1 number(s): "4"
Test #121:
score: 100
Accepted
time: 166ms
memory: 7656kb
output:
4
result:
ok 1 number(s): "4"
Test #122:
score: 100
Accepted
time: 152ms
memory: 7616kb
output:
4
result:
ok 1 number(s): "4"
Test #123:
score: 100
Accepted
time: 112ms
memory: 7400kb
output:
4
result:
ok 1 number(s): "4"
Test #124:
score: 100
Accepted
time: 128ms
memory: 6928kb
output:
4
result:
ok 1 number(s): "4"
Test #125:
score: 100
Accepted
time: 148ms
memory: 7856kb
output:
4
result:
ok 1 number(s): "4"
Test #126:
score: 100
Accepted
time: 156ms
memory: 7608kb
output:
4
result:
ok 1 number(s): "4"
Test #127:
score: 100
Accepted
time: 160ms
memory: 7624kb
output:
4
result:
ok 1 number(s): "4"
Test #128:
score: 100
Accepted
time: 160ms
memory: 7708kb
output:
4
result:
ok 1 number(s): "4"
Test #129:
score: 100
Accepted
time: 130ms
memory: 7444kb
output:
4
result:
ok 1 number(s): "4"
Test #130:
score: 100
Accepted
time: 112ms
memory: 7648kb
output:
4
result:
ok 1 number(s): "4"
Test #131:
score: 100
Accepted
time: 148ms
memory: 7880kb
output:
4
result:
ok 1 number(s): "4"
Test #132:
score: 100
Accepted
time: 104ms
memory: 7584kb
output:
4
result:
ok 1 number(s): "4"
Test #133:
score: 100
Accepted
time: 122ms
memory: 7488kb
output:
4
result:
ok 1 number(s): "4"
Test #134:
score: 100
Accepted
time: 130ms
memory: 7540kb
output:
4
result:
ok 1 number(s): "4"
Test #135:
score: 100
Accepted
time: 114ms
memory: 6176kb
output:
4
result:
ok 1 number(s): "4"
Test #136:
score: 100
Accepted
time: 150ms
memory: 7576kb
output:
4
result:
ok 1 number(s): "4"
Test #137:
score: 100
Accepted
time: 176ms
memory: 7688kb
output:
4
result:
ok 1 number(s): "4"
Test #138:
score: 100
Accepted
time: 164ms
memory: 7600kb
output:
4
result:
ok 1 number(s): "4"