QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#632209 | #7758. Painter | REN5511 | WA | 1ms | 4048kb | C++14 | 2.2kb | 2024-10-12 12:57:32 | 2024-10-12 12:57:32 |
Judging History
answer
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
typedef long long ll;
unordered_map<ll, unordered_map<ll, char>>mp;
struct ins
{
string type;
ll x1, x2, y1, y2,r;
char tar;
};
vector<ins>ok;
void circle(ll x1, ll x2, ll y1, ll y2,ll x, ll y, ll r, char tar) {
for (int i = y1; i <= y2; i++) {
for (int j = x1; j <=x2; j++) {
if ((i - y) * (i - y) + (j -x) * (j - x) <= r * r) {
mp[i][j] = tar;
}
}
}
}
void rectangle(ll x1,ll x2,ll y1,ll y2,char tar) {
for (int i = y1; i <= y2; i++) {
for (int j = x1; j <= x2; j++) {
mp[i][j] = tar;
}
}
}
void render() {
ll x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
for (auto now : ok) {
ll xl, xr, yl, yr, x, y, r;
if (now.type == "Circle") {
xl = max(x1, now.x1 - now.r);
xr = min(x2, now.x1 + now.r);
yl = max(y1, now.y1 - now.r);
yr = min(y2, now.y1 + now.r);
circle(xl, xr, yl, yr, now.x1, now.y1, now.r, now.tar);
}
else {
xl = max(x1, now.x1);
xr = min(x2, now.x2);
yl = max(y1, now.y1);
yr = min(y2, now.y2);
rectangle(xl, xr, yl, yr, now.tar);
}
}
for (int i = y2; i >= y1; i--) {
for (int j = x2; j >= x1; j--) {
if (mp[i][j] == 0) {
mp[i][j] = '.';
}
cout << mp[i][j];
}
cout << "\n";
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int n;
cin >> n;
while (n--) {
string what;
cin >> what;
if (what == "Circle") {
ll x, y, r;
char tar;
cin >> x >> y >> r >> tar;
ok.push_back({ what,x,0,y,0,r,tar});
}
else if (what == "Rectangle") {
ll x1, y1, x2, y2;
char tar;
cin >> x1 >> y1 >> x2 >> y2 >> tar;
ok.push_back({ what,x1,x2,y1,y2,0,tar});
}
else {
render();
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3860kb
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: 4048kb
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: 1ms
memory: 3968kb
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: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'