QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#785990#6812. Draw a triangleMartian148#AC ✓97ms3828kbC++201.5kb2024-11-26 19:49:222024-11-26 19:49:25

Judging History

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

  • [2024-11-26 19:49:25]
  • 评测
  • 测评结果:AC
  • 用时:97ms
  • 内存:3828kb
  • [2024-11-26 19:49:22]
  • 提交

answer

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

using i64 = long long;
typedef i64 ll;
using i128 = __int128;

constexpr int flg[4][2] = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}};

struct Point {
    i128 x, y;
    Point(i128 x = 0, i128 y = 0) : x(x), y(y) {}
    bool operator == (Point &ohs) {
        return (x == ohs.x && y == ohs.y);
    }
};

typedef Point Vector;
Vector operator + (Vector A, Vector B) {return Vector(A.x + B.x, A.y + B.y);}
Vector operator - (Vector A, Vector B) {return Vector(A.x - B.x, A.y - B.y);}

i128 cross(Vector A, Vector B) {return A.x * B.y - A.y * B.x;}
i128 area2(Point A, Point B, Point C) {return cross(B - A, C - A);}

i128 exgcd(i128 a, i128 b, i128 &x, i128 &y) {
    if (!b) {x = 1, y = 0; return a;}
    i128 d = exgcd(b, a % b, x, y), x0 = x, y0 = y;
    x = y0, y = x0 - a / b * y0;
    return d;
}

void solve() {
    i64 x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2;
    Point A(x1, y1), B(x2, y2);
    
    Vector V1 = B - A;
    i64 V1x = V1.x, V1y = V1.y;
    // cout << V1x << " " << V1y << '\n';
    Vector V2;
    exgcd(V1.y, -V1.x, V2.x, V2.y);
    i64 V2x = V2.x, V2y = V2.y;
    // cout << V2x << " " << V2y << '\n';
    Point C = V2 + A;

    i64 Cx = C.x, Cy = C.y;
    cout << Cx << " " << Cy << '\n';
    // i64 ar = area2(A, B, C);
    // cout << ar << '\n';
}

int main() {
    // freopen ("E.in", "r", stdin);
    // ios::sync_with_stdio(false);
    // cin.tie(0); cout.tie(0);
    int T; cin >> T;
    while(T--) solve();
    return 0;
}

这程序好像有点Bug,我给组数据试试?

详细

Test #1:

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

input:

3
1 0 1 4
0 1 0 9
0 0 2 2

output:

2 0
1 1
0 1

result:

ok T=3 (3 test cases)

Test #2:

score: 0
Accepted
time: 56ms
memory: 3584kb

input:

50000
66620473 -33485015 66620223 -33485265
43307886 98029243 43307636 98028994
-88895230 -3180782 -88895480 -3181030
-90319745 20018595 -90319995 20018348
-56783257 84789686 -56783507 84789440
-81798038 90629147 -81798288 90628902
98942945 -939146 98942695 -939390
-42532151 -57203475 -42532401 -572...

output:

66620473 -33485014
43307887 98029244
-88895229 -3180781
-90319662 20018677
-56783195 84789747
-81798037 90629148
98942987 -939105
-42532044 -57203371
53500238 -30665575
27115165 46989241
-2657411 26865464
40614273 17923507
-47649883 96037731
92954372 -64534845
86508883 -51415149
-82017683 17392590
7...

result:

ok T=50000 (50000 test cases)

Test #3:

score: 0
Accepted
time: 76ms
memory: 3624kb

input:

50000
57869123 -31462316 57868973 -31462566
-22048649 -27017563 -22048799 -27017812
80245618 -10283113 80245468 -10283361
-96265076 -90677482 -96265226 -90677729
22392625 4659329 22392475 4659083
-85852423 89101455 -85852573 89101210
-59733414 34194238 -59733564 34193994
-64971121 90615380 -64971271...

output:

57869124 -31462314
-22048646 -27017558
80245644 -10283070
-96265059 -90677454
22392636 4659347
-85852412 89101473
-59733406 34194251
-64971100 90615414
52018885 -19951719
51552892 -19785892
-23565164 -10551153
-25829873 37587998
-8799421 83625075
9753872 -53464613
30266701 -36069255
-59557770 384875...

result:

ok T=50000 (50000 test cases)

Test #4:

score: 0
Accepted
time: 54ms
memory: 3744kb

input:

50000
-4816480 -62927672 -4816530 -62927922
38837454 51846136 38837404 51845887
81700780 -17769080 81700730 -17769328
-2355821 -67457821 -2355871 -67458068
38958908 -79915945 38958858 -79916191
-22432180 -56740626 -22432230 -56740871
-30176805 95059932 -30176855 95059688
-42037280 55545124 -42037330...

output:

-4816480 -62927671
38837455 51846141
81700781 -17769075
-2355804 -67457737
38958920 -79915886
-22432179 -56740621
-30176797 95059971
-42037273 55545158
-42817827 -74015992
41116137 -55536842
74807770 67612826
-22054520 93125871
-1291937 -7415367
90952859 97296620
-29863873 79534448
9616876 -75170323...

result:

ok T=50000 (50000 test cases)

Test #5:

score: 0
Accepted
time: 64ms
memory: 3580kb

input:

50000
47565990 63314613 47566040 63314364
-6671692 -8431430 -6671642 -8431678
-56437314 67409796 -56437264 67409549
-19754631 97449419 -19754581 97449173
22709358 -65094552 22709408 -65094797
-9253477 92786383 -9253427 92786139
60264780 -99332277 60264830 -99332520
42759753 13104536 42759803 1310429...

output:

47565989 63314618
-6671693 -8431425
-56437331 67409880
-19754619 97449360
22709357 -65094547
-9253469 92786344
60264787 -99332311
42759759 13104507
-59911965 -29129398
77502711 67904195
-25769456 -16449527
61092642 -55411719
-53400129 -61158203
-25069313 88946421
-21853231 -11367357
-27295587 -65633...

result:

ok T=50000 (50000 test cases)

Test #6:

score: 0
Accepted
time: 60ms
memory: 3624kb

input:

49999
86077178 -33791178 86077328 -33791427
70274103 92949056 70274253 92948808
-98644776 -36717042 -98644626 -36717289
-58640982 -37021140 -58640832 -37021386
47389280 88658595 47389430 88658350
41133739 -18298063 41133889 -18298307
16742668 91602345 16742818 91602102
64705012 76220813 64705162 762...

output:

86077175 -33791173
70274077 92949099
-98644793 -36717014
-58640971 -37021158
47389269 88658613
41133747 -18298076
16742689 91602311
64705043 76220763
11696216 -41244713
-85775743 -61100845
67944194 10706541
86636067 -72743053
-80900531 -4929107
-15258482 -90513091
-57595928 -13548426
34137615 875626...

result:

ok T=49999 (49999 test cases)

Test #7:

score: 0
Accepted
time: 95ms
memory: 3580kb

input:

50000
-370035325 -480207325 197507381 563102266
-447653163 -13791299 712913474 279375990
-164085901 515918101 -746049282 520422889
-351774171 -526736185 986786085 570845376
-139080671 -314883129 -653624395 -401153986
371330972 295281720 716532063 406617905
713639850 932579042 -697994312 -837319029
-...

output:

-300769848 -352877107
-339517866 13524437
-358959535 517426554
-177742226 -384034911
-73941192 -303961533
420728110 311213561
918402011 1189308557
-385131636 -550186425
-768505152 512420405
839320794 405630469
-510154799 533361187
315035793 -386859054
-745518843 -228563363
-102621212 632478207
96067...

result:

ok T=50000 (50000 test cases)

Test #8:

score: 0
Accepted
time: 76ms
memory: 3580kb

input:

50000
38026624 -878076357 -552920439 -350794846
-412973070 -567080550 -956686128 247707367
293749788 -47698118 949332510 803776854
-37716684 -75717498 -384102742 -111390691
252319124 -407086186 -298274705 553686185
195690205 -960978213 693203670 751867944
-44794927 146815392 497184663 -657312706
244...

output:

-1628620 -842693362
-595110719 -294135927
440533870 142945973
128948397 -58553194
459627521 -768834120
439772547 -120648190
58837972 -6943398
362909276 -309396271
85851387 95042407
774324098 282899618
811014396 392333049
-727650943 -623255007
521312587 -146814508
-512989063 843903152
591948260 -2533...

result:

ok T=50000 (50000 test cases)

Test #9:

score: 0
Accepted
time: 75ms
memory: 3560kb

input:

50000
25273482 -271356160 203127555 -184489837
-289853919 200578127 408716355 587561320
440221844 -73945468 -375731352 -330991327
452223216 -181778460 -163936693 -539981093
538901710 569206009 766705704 719561034
-491626613 -671982599 527872032 -29445214
-63710429 421304993 -622588079 487115265
-476...

output:

48376926 -260072127
-254242778 220305438
768137461 29356231
743695472 -12331977
546351991 574123338
-390558911 -608284842
-71904513 422269882
-1132725863 1677750508
75179887 292207306
724253563 193054663
-427865588 355781439
-123300587 -456646560
859016516 522350820
-754163006 344585166
-468870824 -...

result:

ok T=50000 (50000 test cases)

Test #10:

score: 0
Accepted
time: 83ms
memory: 3808kb

input:

50000
-35259334 -701474112 311852823 -331381965
572375773 934385697 63613329 -82033074
963625204 106699315 855551972 -604089908
-239314379 -375979612 122091992 -380831468
-884798360 -827592392 -450362161 940295667
-209340085 -40153027 -361999245 620160834
877357984 882062152 315363830 559500049
-414...

output:

100685842 -556528909
764696612 1318609244
983968843 240497843
-165227375 -376974225
-800664744 -485220335
-192138424 -114557309
1084584907 1001002094
-391318098 -916030160
-124253717 -315185824
453213420 -846409459
158607620 -106166975
-816191376 684210367
791144144 232228128
-300136497 371073894
-3...

result:

ok T=50000 (50000 test cases)

Test #11:

score: 0
Accepted
time: 84ms
memory: 3488kb

input:

50000
-3663853 -177781773 173552690 705221364
-960654525 -342974336 754897176 504780355
494495391 471831124 -843629424 476927366
348629524 -909106658 627892786 725953059
-523367521 102557145 502351897 -236989097
-299381834 260178935 -743399500 51860789
335298045 -183924414 720046790 -631868047
17038...

output:

19026253 -64725540
-960029414 -342665432
-9044951 473748855
380075307 -724994603
-572580872 118848353
-265814891 275927415
451824482 -319590290
225597250 638958134
839592383 785153980
-681674591 944463724
-64561893 611929546
-421472861 -1140655292
375273407 1026931962
627475205 1119539297
441601157 ...

result:

ok T=50000 (50000 test cases)

Test #12:

score: 0
Accepted
time: 87ms
memory: 3780kb

input:

50000
87994422 -469168315 -282663695 303996144
-153451281 -314512069 -168298547 948863838
-293926308 -170703744 789655924 -859296264
930120677 671761062 934908485 938519828
-62509863 497504980 258338790 286307134
166058928 434063507 329625200 250123198
170938223 -712363899 -476975593 -946264304
-351...

output:

-73237496 -132850876
-150983818 -524472159
-246225164 -201016765
930185004 675345122
-28528191 475136627
174388333 424696580
307812076 -662951695
-195782177 -33056908
1224580665 1310897491
621618259 -839776672
-493386639 147223359
-397404377 -927740807
-820412666 469700568
-25069657 -652082394
51548...

result:

ok T=50000 (50000 test cases)

Test #13:

score: 0
Accepted
time: 86ms
memory: 3828kb

input:

50000
75983688 322870644 646834996 801552184
519110129 -976686263 -819619684 -828820558
570394281 246976850 519558688 367109464
621047758 927882674 148954683 991061997
88827271 210457738 -857995083 -457237784
112341241 -890456500 223281366 792319429
-102888330 389111504 665082474 -58495814
-70874021...

output:

124421971 363488072
598186824 -985420461
548615142 298444429
840805195 898472952
183781490 277419092
120504822 -766628646
-260518867 480985546
-700454338 389811435
-108953827 266708170
191111104 -617353933
503406712 -698931583
1062815658 -889231138
-378779081 -398140810
-381891470 715514316
71007101...

result:

ok T=50000 (50000 test cases)

Test #14:

score: 0
Accepted
time: 75ms
memory: 3524kb

input:

50000
-805634427 81825426 509577423 -396279363
-267738158 -532191054 179134956 521282089
893958536 -637235181 -336434702 -730924494
209380302 -981860939 -104731724 351669816
693569118 -145872073 215960733 -538852028
278991643 856418697 472101398 561793859
773440456 -666647571 296326173 621945233
-88...

output:

-1012188500 156911802
-210461353 -397164860
1217131891 -612626878
304841927 -1387133588
706157981 -135513857
356021860 738894778
916483140 -1052978016
-884801087 -292336810
330976910 1073742605
-581047935 -674814364
-411742365 424356417
-602871602 -585984543
672768568 -908357705
-479512623 295419842...

result:

ok T=50000 (50000 test cases)

Test #15:

score: 0
Accepted
time: 72ms
memory: 3528kb

input:

50000
725941728 -610067425 488068370 -504082729
476613211 -620476119 476920048 -111480150
245593358 -660602217 471175896 888995542
280795134 -289504448 -967836825 -760152213
-486471673 -224674228 934607251 -450295850
-694176146 751372343 -891227475 -364721717
830792306 -773436907 523127672 424703167...

output:

717135572 -606143834
476651067 -557678766
343465219 11710533
506425900 -204457277
-394817988 -239225885
-600578521 1281507074
874527975 -943756963
941771668 105087926
-406162203 976246623
718235878 692636394
1292595062 73581223
-175178321 -579921966
1014800099 736479508
545516141 -446733236
10693734...

result:

ok T=50000 (50000 test cases)

Test #16:

score: 0
Accepted
time: 64ms
memory: 3588kb

input:

50000
104556371 -685734071 -731906759 -604652123
396789892 -935692027 -576229790 -207110549
-578953998 541207525 -516985486 542399334
-878495739 -596088045 119106374 -251106029
-363926466 866046756 158763085 -478051966
599120280 -275757280 -282204734 820871313
-588932159 -793669810 680396515 -770178...

output:

-74287230 -668397996
507368711 -1018491667
-566428685 541448418
-724581846 -542862892
-244940516 560073807
339388877 47425290
-487387873 -791790559
25503449 -386709974
1028398495 304290062
1034491217 -55269710
-8085631 193145226
-86988429 1590172268
-684499497 -763114019
536075966 489239151
35761878...

result:

ok T=50000 (50000 test cases)

Test #17:

score: 0
Accepted
time: 90ms
memory: 3616kb

input:

50000
-913971105 -802525545 -62443082 646851152
582546207 -691701688 -263954188 574883995
-88743623 992720648 272194515 -762942323
-840733072 -332078482 -575663610 244914353
440623464 752008161 -470122956 920792991
-757686511 643488102 708042881 -627877550
185019277 307661180 -692173668 848015507
75...

output:

-742587546 -510815431
667540219 -818874929
31443672 408109710
-713707125 -55573370
445162567 751166948
-812234282 690802540
-117355765 493925403
75795503 450177074
-814436809 263552374
894392963 -709311001
-438801981 -754840334
-479814670 -261811507
-623307914 557149163
361737954 -369236565
77363150...

result:

ok T=50000 (50000 test cases)

Test #18:

score: 0
Accepted
time: 97ms
memory: 3536kb

input:

50000
185492989 3104323 -418943377 -567314244
-716676172 339998445 -419312863 -525301490
-610060612 777476899 -418834808 -571211717
39944725 -455257290 -829398804 201165129
-466129455 -464184034 735772464 931681523
-466599024 -740319024 563884212 3148693
-505528308 -808674422 -6340257 -358696593
-85...

output:

308975086 119636823
-752149361 443222169
-610282637 779042810
203045529 -578411165
-308648488 -281288696
-230813939 -570206020
-430986539 -741481020
-389455140 149375614
161096481 -135587065
272506246 -277045857
153342368 -193102195
-815413403 -128364793
-68157140 1036119609
226664597 -316507855
350...

result:

ok T=50000 (50000 test cases)

Test #19:

score: 0
Accepted
time: 89ms
memory: 3528kb

input:

50000
-474636599 -626920443 712875021 -348747799
-342048305 37518714 -249508888 482083100
-410519206 -225607946 27339059 407774804
-345676873 559668812 88853181 453485769
999517103 522173138 135806165 -45307125
-285232985 -711392209 656546715 686223071
-736883128 630709030 260930401 -627544060
34322...

output:

-336085368 -594465045
-307990953 201132083
-407219196 -220834325
-439319050 582551490
1379293570 771696028
-262353729 -677439048
-1104300933 1094026649
537780986 -573476217
-49694672 -333729644
-948747113 -638914191
152518387 -144927251
-845455967 657325213
778772578 942376469
-321051363 -781665466
...

result:

ok T=50000 (50000 test cases)

Test #20:

score: 0
Accepted
time: 69ms
memory: 3784kb

input:

50000
626800159 776374206 -41956635 417375236
-536924579 414783144 847473468 181350188
103033152 456387414 906877647 -901512211
784792043 -200142589 761424984 571942095
-319313812 593906734 -329157602 -688825321
790537948 -567376329 -989657217 -909342264
82546755 272767210 -982948739 -187576605
3536...

output:

691984393 811366109
-936527210 482162915
167184167 348019888
794524412 -521715494
-319286399 597478888
858924669 -554239607
570722500 483681931
377342987 1063174476
744906586 -658899292
-429161671 365066184
-394404104 788104158
-739378607 -176021572
-744833128 288254918
-158248530 290364360
25098597...

result:

ok T=50000 (50000 test cases)

Test #21:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

3
-1000000000 -1000000000 1000000000 1000000000
-1000000000 -1000000000 1000000000 -1000000000
-1000000000 -1000000000 -1000000000 1000000000

output:

-1000000000 -999999999
-1000000000 -999999999
-999999999 -1000000000

result:

ok T=3 (3 test cases)