QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#263013 | #7758. Painter | cscnk52# | WA | 1ms | 3480kb | C++17 | 2.1kb | 2023-11-24 14:11:48 | 2023-11-24 14:11:49 |
Judging History
answer
#include <bits/stdc++.h>
#define endl '\n'
#define buff ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
/*
#pragma GCC optimize ("Ofast")
#pragma GCC optimize ("unroll-loops")
#pragma GCC optimize(3)
*/
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pll;
typedef vector<ll> vll;
typedef vector<pair<ll, ll>> vpll;
const ll MAX_INT = 0x3f3f3f3f;
const ll MAX_LL = 0x3f3f3f3f3f3f3f3f;
const ll CF = 2e5 + 9;
const ll mod = 1e9 + 7;
struct op {
ll x1, y1, r;
char col;
ll x2, y2;
ll op_num;
ll when;
};
struct Render{
ll x1, y1, x2, y2, when;
};
ll n;
vector<op> v;
vector<Render> prepare_ans;
void solve() {
cin >> n;
string str;
for (int i = 1; i <= n; i++) {
cin >> str;
if (str[0] == 'C') {
ll x, y, r;
char col;
cin >> x >> y >> r >> col;
v.push_back({x, y, r, col, 0, 0, 1, i});
} else if (str[0] == 'R' && str[2] == 'c') {
ll x1, y1, x2, y2;
char col;
cin >> x1 >> y1 >> x2 >> y2 >> col;
v.push_back({x1, y1, 0, col, x2, y2, 2, i});
} else {
ll x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
prepare_ans.push_back({x1, y1, x2, y2, i});
}
}
for (auto &[x1, y1, x2, y2, when] : prepare_ans) {
for (ll j = y2; j >= y1; j--) {
for (ll i = x2; i >= x1; i--) {
ll flag = 0;
for (int k = (ll)v.size() - 1; k >= 0; k--) {
if(v[k].when > when) continue;
if (v[k].op_num == 1) {
if ((i - v[k].x1) * (i - v[k].x1) + (j - v[k].y1) * (j - v[k].y1) <= v[k].r * v[k].r) {
cout << v[k].col;
flag = 1;
break;
}
} else {
if (i >= v[k].x1 && i <= v[k].x2 && j >= v[k].y1 && j <= v[k].y2) {
cout << v[k].col;
flag = 1;
break;
}
}
}
if (flag == 0)
cout << '.';
}
cout << endl;
}
}
}
int main() {
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
/*
8
Render -1 0 1 2
Circle 0 0 5 *
Circle -2 2 1 @
Render -5 -5 5 5
Circle 2 2 1 @
Rectangle 0 -1 0 0 ^
Rectangle -2 -2 2 -2 _
Render -5 -5 5 5
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3356kb
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: 3480kb
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: 3412kb
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: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'