QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#754657#6812. Draw a trianglelonelywolf#AC ✓28ms3728kbC++201.4kb2024-11-16 15:30:072024-11-16 15:30:07

Judging History

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

  • [2024-11-16 15:30:07]
  • 评测
  • 测评结果:AC
  • 用时:28ms
  • 内存:3728kb
  • [2024-11-16 15:30:07]
  • 提交

answer

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

#define int long long  

int exgcd(int a, int b, int &x, int &y) {
    if (!b) {
        x = 1, y = 0;
        return a;
    }
    int g = exgcd(b, a % b, y, x);
    y -= a / b * x;
    return g;
}
// ax + by = c, 可求解线性同余方程 ax === b (mod c)
bool liEu(int a, int b, int c, int& x, int& y) {
    int d = exgcd(a, b, x, y);
    if (c % d != 0) 
        return false;
    int k = c / d;
    x *= k;
    y *= k;
    return true;
}

struct Point {
	int x, y;
};
Point operator+(Point a, Point b) {
	return {a.x + b.x, a.y + b.y};
}
Point operator-(Point a, Point b) {
	return {a.x - b.x, a.y - b.y};
}
int cross(Point a, Point b) {
	return a.x * b.y - a.y * b.x;
}
int area(Point a, Point b, Point c) {
	return abs(cross(b - a, c - a));
}

void solve() {
	Point a, b;
	cin >> a.x >> a.y;
	cin >> b.x >> b.y;

	Point d = b - a;
	Point t;
	exgcd(abs(d.x), abs(d.y), t.y, t.x);
	Point c;
	int mn = 1e18;
	for (auto x : {t.x, -t.x}) {
		for (auto y : {t.y, -t.y}) {
			int s = area(a, b, a + (Point){x, y});
			if (s != 0 && s < mn) {
				mn = s;
				c = a + (Point){x, y};
			}
		}
	}

	cout << c.x << " " << c.y << "\n";
}

signed main() {  
    ios::sync_with_stdio(false);
    cin.tie(nullptr);  

    int t;
    cin >> t;
    while (t--) {
    	solve();
    }

    return 0;
}  
  

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

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

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

output:

2 0
1 1
1 0

result:

ok T=3 (3 test cases)

Test #2:

score: 0
Accepted
time: 10ms
memory: 3668kb

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:

66620474 -33485015
43307885 98029242
-88895231 -3180783
-90319662 20018677
-56783195 84789747
-81798039 90629146
98942903 -939187
-42532044 -57203371
53500238 -30665575
27115165 46989241
-2657413 26865462
40614091 17923333
-47649925 96037691
92954218 -64534991
86508847 -51415183
-82017717 17392558
7...

result:

ok T=50000 (50000 test cases)

Test #3:

score: 0
Accepted
time: 13ms
memory: 3680kb

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:

57869122 -31462318
-22048652 -27017568
80245592 -10283156
-96265093 -90677510
22392636 4659347
-85852434 89101437
-59733406 34194251
-64971100 90615414
52018885 -19951719
51552892 -19785892
-23565164 -10551153
-25829873 37587998
-8799421 83625075
9753872 -53464613
30266701 -36069255
-59557784 384873...

result:

ok T=50000 (50000 test cases)

Test #4:

score: 0
Accepted
time: 20ms
memory: 3668kb

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
38837453 51846131
81700779 -17769085
-2355838 -67457905
38958920 -79915886
-22432181 -56740631
-30176797 95059971
-42037273 55545158
-42817827 -74015992
41116137 -55536842
74807768 67612816
-22054520 93125871
-1291937 -7415367
90952859 97296620
-29863873 79534448
9616876 -75170323...

result:

ok T=50000 (50000 test cases)

Test #5:

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

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: 20ms
memory: 3728kb

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: 27ms
memory: 3664kb

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:

-439300802 -607537543
-339517866 13524437
-358959535 517426554
-177742226 -384034911
-204220150 -325804725
321933834 279349879
918402011 1189308557
-385131636 -550186425
-768505152 512420405
835471744 260950327
-510154799 533361187
315035793 -386859054
-1049140339 -265089065
-102621212 632478207
960...

result:

ok T=50000 (50000 test cases)

Test #8:

score: 0
Accepted
time: 23ms
memory: 3664kb

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
-48392137 -1801308236
58837972 -6943398
126987054 -638870451
85851387 95042407
426551310 -12554164
811014396 392333049
-727650943 -623255007
521312587 -146814508
-512989063 843903152
591948260 -253...

result:

ok T=50000 (50000 test cases)

Test #9:

score: 0
Accepted
time: 26ms
memory: 3656kb

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
-325465060 180850816
112306227 -177247167
743695472 -12331977
531451429 564288680
-390558911 -608284842
-71904513 422269882
-1132725863 1677750508
75179887 292207306
722567929 185345979
-430083190 332112079
-123300587 -456646560
859016516 522350820
-805751988 117991138
-480824272...

result:

ok T=50000 (50000 test cases)

Test #10:

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

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
-437610224 -944682568
-331646277 -389356622
453213420 -846409459
158607620 -106166975
-816191376 684210367
783974970 229637504
-300136497 371073894
-3...

result:

ok T=50000 (50000 test cases)

Test #11:

score: 0
Accepted
time: 28ms
memory: 3664kb

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
-961279636 -343283240
-9044951 473748855
380075307 -724994603
-572580872 118848353
-332948777 244430455
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: 23ms
memory: 3612kb

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
-506516031 -473600446
700996915 345053545
621618259 -839776672
-672184763 79036309
-397404377 -927740807
-820412666 469700568
-25069657 -652082394
3533103...

result:

ok T=50000 (50000 test cases)

Test #13:

score: 0
Accepted
time: 26ms
memory: 3660kb

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:

27545405 282253216
598186824 -985420461
548615142 298444429
840805195 898472952
183781490 277419092
104177660 -1014284354
-260518867 480985546
-717026094 373004537
-108953827 266708170
191111104 -617353933
503406712 -698931583
1062815658 -889231138
-378779081 -398140810
-381891470 715514316
65599357...

result:

ok T=50000 (50000 test cases)

Test #14:

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

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
-325014963 -667217248
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: 22ms
memory: 3716kb

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
147721497 -1332914967
506425900 -204457277
-394817988 -239225885
-600578521 1281507074
874527975 -943756963
920807028 2896072
-406162203 976246623
718235878 692636394
569646712 -330980709
-175178321 -579921966
769087595 514774986
533232107 -492981646
1069373...

result:

ok T=50000 (50000 test cases)

Test #16:

score: 0
Accepted
time: 26ms
memory: 3668kb

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
-1032409632 -649313198
-244940516 560073807
339388877 47425290
-690476445 -795549061
25503449 -386709974
609533229 153178228
1034491217 -55269710
-8085631 193145226
-86988429 1590172268
-684499497 -763114019
536075966 489239151
35761878...

result:

ok T=50000 (50000 test cases)

Test #17:

score: 0
Accepted
time: 26ms
memory: 3704kb

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
-544283249 -933197048
-479814670 -261811507
-623307914 557149163
361737954 -369236565
73158034...

result:

ok T=50000 (50000 test cases)

Test #18:

score: 0
Accepted
time: 27ms
memory: 3676kb

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:

62010892 -113428177
-752149361 443222169
-610282637 779042810
203045529 -578411165
-623610422 -647079372
-230813939 -570206020
-580070077 -875867824
-389455140 149375614
161096481 -135587065
238849896 -294777979
153342368 -193102195
-815707401 -128656953
-100636100 856996051
226664597 -316507855
350...

result:

ok T=50000 (50000 test cases)

Test #19:

score: 0
Accepted
time: 22ms
memory: 3728kb

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
-376105657 -126094655
-413819216 -230381567
-439319050 582551490
1379293570 771696028
-308112241 -745345370
-1104300933 1094026649
537780986 -573476217
-49694672 -333729644
-948747113 -638914191
152518387 -144927251
-845455967 657325213
749276164 938361891
-684453655 -905020472...

result:

ok T=50000 (50000 test cases)

Test #20:

score: 0
Accepted
time: 23ms
memory: 3660kb

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:

561615925 741382303
-936527210 482162915
167184167 348019888
794524412 -521715494
-319286399 597478888
858924669 -554239607
570722500 483681931
329869663 924910034
744906586 -658899292
-429161671 365066184
-433945880 486168860
-739378607 -176021572
-744833128 288254918
-158248530 290364360
250985977...

result:

ok T=50000 (50000 test cases)

Test #21:

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

input:

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

output:

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

result:

ok T=3 (3 test cases)