QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#639635 | #7758. Painter | fls | WA | 1ms | 3600kb | C++20 | 1.9kb | 2024-10-13 21:00:34 | 2024-10-13 21:00:34 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define qmx(a,b) a<b?b:a
#define qmn(a,b) a>b?b:a
#define int long long
#define fr first
#define se second
string stdop[] = {"Circle", "Rectangle", "Render"};
struct operations{
int ops;
int dx1;
int dy1;
int dx2;
int dy2;
int r;
char ch;
}tmp;
vector <operations> used_op;
inline bool is_inside(operations op, int ox, int oy){
if(op.ops == 1){
int dx = op.dx1 - ox;
int dy = op.dy1 - oy;
return dx * dx + dy * dy <= op.r * op.r;
}else{
return ox >= op.dx1 && ox <= op.dx2
&& oy >= op.dy1 && oy <= op.dy2;
}
}
inline int getop(string str){
for(int i = 0 ; i < 3 ; i++)
if(str == stdop[i])
return i;
}
signed main(){
int n;
char res;
cin >> n;
string str;
for(int i = 1 ; i <= n ; i++){
cin >> str;
tmp.ops = getop(str) + 1;
switch(tmp.ops){
case 1:
cin >> tmp.dx1 >> tmp.dy1 >> tmp.r >> tmp.ch;
used_op.push_back(tmp);
break;
case 2:
cin >> tmp.dx1 >> tmp.dy1 >> tmp.dx2 >> tmp.dy2 >> tmp.ch;
used_op.push_back(tmp);
break;
default:
cin >> tmp.dx1 >> tmp.dy1 >> tmp.dx2 >> tmp.dy2;
for(int i = tmp.dy2 ; i >= tmp.dy1 ; i--){
for(int j = tmp.dx2 ; j >= tmp.dx1 ; j--){
res = '.';
for(auto opij : used_op){
if(is_inside(opij, j, i)){
res = opij.ch;
}
}
cout << res;
}
cout << endl;
}
break;
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3600kb
input:
7 Circle 0 0 5 * Circle -2 2 1 @ Circle 2 2 1 @ Rectangle 0 -1 0 0 ^ Rectangle -2 -2 2 -2 _ Render -5 -5 5 5 Render -1 0 1 2
output:
.....*..... ..*******.. .**@***@**. .*@@@*@@@*. .**@***@**. *****^***** .****^****. .**_____**. .*********. ..*******.. .....*..... @*@ *** *^*
result:
ok 14 lines
Test #2:
score: 0
Accepted
time: 1ms
memory: 3600kb
input:
10 Rectangle -4262 2204 3116 9357 U Circle 7078 6883 4684 W Rectangle 390 675 1195 1251 = Rectangle 78 2138 3288 2570 5 Rectangle -874 797 -99 1440 3 Render 7261 -4311 7304 -4268 Render 2060 9253 2103 9296 Render -1379 -7141 -1336 -7098 Render 982 5708 1025 5751 Render 1080 -9592 1123 -9549
output:
............................................ ............................................ ............................................ ............................................ ............................................ ............................................ .................................
result:
ok 220 lines
Test #3:
score: -100
Wrong Answer
time: 0ms
memory: 3536kb
input:
10 Rectangle -10000 -10000 10000 10000 @ Rectangle 1197 -1 1198 1 y Rectangle 3684 -1 3685 0 & Circle 8957 0 1 Y Rectangle -5375 0 -5373 2 < Circle 2683 0 0 7 Rectangle 1262 -1 1263 -1 i Circle 3238 0 0 K Circle -3533 0 0 G Render -1605 0 8394 0
output:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...
result:
wrong answer 1st lines differ - expected: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@', found: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'