QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#519204 | #7758. Painter | LuCiiiD# | WA | 1ms | 3864kb | C++23 | 2.4kb | 2024-08-14 17:22:27 | 2024-08-14 17:22:27 |
Judging History
answer
#include <bits/stdc++.h>
#define _11037_ ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
#define endl '\n'
#define int long long
#define inf 4e18
#define MAX 10005
using namespace std;
int N, x1, yy1, x2, y2, r;
char maze[MAX][MAX];
char color;
string ope;
vector<array<int, 6>> OPE;
void draw_Circle(int x, int y, int r, int X1, int Y1, int X2, int Y2, char ch)
{
int XX = X1, YY = Y1;
X1 = max(X1, x - r), Y1 = max(Y1, y - r), X2 = min(X2, x + r), Y2 = min(Y2, y + r);
for (int i = X1; i <= X2; i++)
{
for (int j = Y1; j <= Y2; j++)
{
if ((i - x) * (i - x) + (j - y) * (j - y) <= r * r)
maze[i - XX][j - YY] = ch;
}
}
return;
}
void draw_Rectangle(int x1, int y1, int x2, int y2, int X1, int Y1, int X2, int Y2, char ch)
{
int XX = X1, YY = Y1;
X1 = max(X1, x1), Y1 = max(Y1, y1), X2 = min(X2, x2), Y2 = min(Y2, y2);
for (int i = X1; i <= X2; i++)
{
for (int j = Y1; j <= Y2; j++)
{
maze[i - XX][j - YY] = ch;
}
}
}
signed main()
{
_11037_
cin >> N;
while (N--)
{
cin >> ope;
if (ope == "Circle")
cin >> yy1 >> x1 >> r >> color, OPE.push_back({0, x1, yy1, r, 0, color});
else if (ope == "Rectangle")
cin >> yy1 >> x1 >> y2 >> x2 >> color, OPE.push_back({1, x1, yy1, x2, y2, color});
else
{
cin >> yy1 >> x1 >> y2 >> x2;
for (int i = x1; i <= x2; i++)
{
for (int j = yy1; j <= y2; j++)
{
maze[i - x1][j - yy1] = (char)(46);
}
}
for (auto [op, x_1, y_1, x_2, y_2, ch] : OPE)
{
if (op == 0)
draw_Circle(x_1, y_1, x_2, x1, yy1, x2, y2, ch);
else if (op = 1)
draw_Rectangle(x_1, y_1, x_2, y_2, x1, yy1, x2, y2, ch);
}
for (int i = x2; i >= x1; i--)
{
for (int j = y2; j >= yy1; j--)
{
cout << maze[i - x1][j - yy1];
}
cout << endl;
}
}
}
}
/*
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
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3704kb
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: 3864kb
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: 3620kb
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: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'