QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#670299#7758. PainterzhcmmmWA 1ms3600kbC++201.9kb2024-10-23 21:14:472024-10-23 21:14:49

Judging History

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

  • [2024-10-23 21:14:49]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3600kb
  • [2024-10-23 21:14:47]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;
using ll = long long;
const int N = 2010;

struct node{
    int op;
    int x1, x2, y1, y2, r;
    char col;
}s[N];

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin >> n;
    for(int i = 1;i <= n;i++){
        string op;
        cin >> op;
        if(op == "Circle") {
            int x, y, r;char col;
            cin >> x >> y >> r >> col;
            s[i].op = 0, s[i].x1 = x, s[i].y1 = y, s[i].r = r, s[i].col = col;
        }
        else if(op == "Rectangle") {
            int x1, y1, x2, y2;
            char col;
            cin >> x1 >> y1 >> x2 >> y2 >> col;
            s[i].op = 1, s[i].x1 = x1, s[i].x2 = x2, s[i].y1 = y1, s[i].y2 = y2, s[i].col = col;
        }
        else {
            int x1, x2, y1, y2;
            cin >> x1 >> y1 >> x2 >> y2;
            s[i].op = 2, s[i].x1 = x1, s[i].x2 = x2, s[i].y2 = y2, s[i].y1 = y1;
        }
    }
    auto check = [&](ll x1, ll y1, ll x2, ll y2, ll r){
        return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) <= r * r;
    };
    for(int i = 1;i <= n;i++){
        if(s[i].op != 2) continue;
        for(int y = s[i].y2;y >= s[i].y1;y--){
            for(int x = s[i].x2;x >= s[i].x1;x--){
                char ans = '.';
                for(int j = 1;j <= i;j++){
                    if(s[j].op == 2) continue;
                    if(s[j].op == 0){
                        if(check(s[j].x1, s[j].y1, x, y, s[j].r)) {
                            ans = s[j].col;

                        }
                    }
                    else {
                        if(x >= s[j].x1 && x <= s[j].x2 && y >= s[j].y1 && y <= s[j].y2){
                            ans = s[j].col;
                        }
                    }
                }
                cout << ans;
            }
            cout << '\n';
        }
    }

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3596kb

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: 1ms
memory: 3528kb

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