QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#263013#7758. Paintercscnk52#WA 1ms3480kbC++172.1kb2023-11-24 14:11:482023-11-24 14:11:49

Judging History

你现在查看的是最新测评结果

  • [2023-11-24 14:11:49]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3480kb
  • [2023-11-24 14:11:48]
  • 提交

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: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'