QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#639635#7758. PainterflsWA 1ms3600kbC++201.9kb2024-10-13 21:00:342024-10-13 21:00:34

Judging History

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

  • [2024-10-13 21:00:34]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3600kb
  • [2024-10-13 21:00:34]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

#define qmx(a,b) a<b?b:a
#define qmn(a,b) a>b?b:a
#define int long long
#define fr first
#define se second

string stdop[] = {"Circle", "Rectangle", "Render"};

struct operations{
    int ops;
    int dx1;
    int dy1;
    int dx2;
    int dy2;
    int r;
    char ch;
}tmp;

vector <operations> used_op;

inline bool is_inside(operations op, int ox, int oy){
    if(op.ops == 1){
        int dx = op.dx1 - ox;
        int dy = op.dy1 - oy;
        return dx * dx + dy * dy <= op.r * op.r;
    }else{
        return  ox >= op.dx1 && ox <= op.dx2
            &&  oy >= op.dy1 && oy <= op.dy2;
    }
}

inline int getop(string str){
    for(int i = 0 ; i < 3 ; i++)
        if(str == stdop[i])
            return i;
}

signed main(){
    int n;
    char res;
    cin >> n;
    string str;
    for(int i = 1 ; i <= n ; i++){
        cin >> str;
        tmp.ops = getop(str) + 1;
        switch(tmp.ops){
            case 1:
                cin >> tmp.dx1 >> tmp.dy1 >> tmp.r >> tmp.ch;
                used_op.push_back(tmp);
            break;
            case 2:
                cin >> tmp.dx1 >> tmp.dy1 >> tmp.dx2 >> tmp.dy2 >> tmp.ch;
                used_op.push_back(tmp);
            break;
            default:
                cin >> tmp.dx1 >> tmp.dy1 >> tmp.dx2 >> tmp.dy2;
                for(int i = tmp.dy2 ; i >= tmp.dy1 ; i--){
                    for(int j = tmp.dx2 ; j >= tmp.dx1 ; j--){
                        res = '.';
                        for(auto opij : used_op){
                            if(is_inside(opij, j, i)){
                                res = opij.ch;
                            }
                        }
                        cout << res;
                    }
                    cout << endl;
                }
            break;
        }
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 0ms
memory: 3536kb

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