QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#287360 | #7811. 一元二次方程 | Haoyue_06432# | 100 ✓ | 56ms | 3864kb | C++14 | 1.7kb | 2023-12-20 13:34:42 | 2023-12-20 13:34:44 |
Judging History
answer
#include<bits/stdc++.h>
#define ll long long
#define maxn 1000005
#define inf 1e18
using namespace std;
ll n,m,a,b,c,g,x1,x2;
ll gcd(ll x,ll y)
{
if(y==0)return x;
else return gcd(y,x%y);
}
void p(ll x,ll y)
{
if(y==0)return;
bool f=false;
g=gcd(abs(y),abs(x));
if(y<0)f^=true;
if(x<0)f^=true;
if(f==true)cout<<"-";
if(g==abs(x))cout<<abs(y)/g;
else cout<<abs(y)/g<<"/"<<abs(x)/g;
}
bool pd(ll x)
{
ll xx=sqrt(x);
if(xx*xx==x)return true;
else return false;
}
void xs(ll x)
{
for(int i=5000;i>=2;i--)
{
if(x%(i*i)==0)
{
x1=i;
x2=x/(i*i);
return;
}
}
x2=x;
}
int main()
{
// freopen("uqe9.in","r",stdin);
// freopen("uqe9.out","w",stdout);
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%lld%lld%lld",&a,&b,&c);
if(b*b-4*a*c<0)printf("NO");
else
{
if(b*b-4*a*c==0)
{
p(a*2,-b);
if(b==0)printf("0");
}
else
{
if(pd(b*b-4*a*c)||b*b-4*a*c==0)
{
if(a*2<0)
{
p(a*2,-b-sqrt(b*b-4*a*c));
if(-b-sqrt(b*b-4*a*c)==0)printf("0");
}
else
{
p(a*2,-b+sqrt(b*b-4*a*c));
if(-b+sqrt(b*b-4*a*c)==0)printf("0");
}
}
else
{
p(a*2,-b);
if(b!=0)printf("+");
x1=0;x2=0;
xs(b*b-4*a*c);
if(x1==0)printf("sqrt(%lld)/%lld",x2,abs(a*2));
else
{
g=gcd(abs(x1),abs(2*a));
if(g==abs(2*a))
{
if(abs(x1)/g!=1)printf("%lld*sqrt(%lld)",abs(x1)/g,x2);
else printf("sqrt(%lld)",x2);
}
else
{
if(abs(x1)/g!=1)printf("%lld*sqrt(%lld)/%lld",abs(x1)/g,x2,abs(a*2/g));
else printf("sqrt(%lld)/%lld",x2,abs(a*2/g));
}
}
}
}
}
printf("\n");
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 10
Accepted
time: 0ms
memory: 3564kb
input:
2 1 -1 0 0 1 0 0
output:
0 0
result:
ok 2 lines
Test #2:
score: 10
Accepted
time: 56ms
memory: 3864kb
input:
4838 20 1 -19 5 -2 12 15 1 8 7 1 8 -8 -1 -11 0 -1 -7 -7 -2 -5 8 2 -8 -13 -1 -10 11 -1 -15 0 1 -5 18 -2 -9 13 -1 20 17 1 -17 -3 1 0 1 -2 -4 -2 2 -11 10 1 -2 -1 1 11 -18 -1 11 0 -1 4 16 1 18 3 -2 -3 6 -2 -14 -11 1 -12 12 2 -13 -9 1 -9 -12 1 16 -2 -2 -9 2 2 -2 -1 1 3 -6 -2 11 4 -1 -11 4 -1 13 0 -1 -4 1...
output:
19/2+sqrt(341)/2 3+sqrt(66)/2 -1 -4+2*sqrt(6) 0 -7/2+sqrt(21)/2 -5/4+sqrt(89)/4 2+sqrt(42)/2 1 0 NO -9/4+sqrt(185)/4 10+3*sqrt(13) 17/2+sqrt(301)/2 NO -1 11/4+sqrt(41)/4 1+sqrt(2) -11/2+sqrt(193)/2 11 2+2*sqrt(5) -9+sqrt(78) -3/4+sqrt(57)/4 -7/2+3*sqrt(3)/2 6+2*sqrt(6) 13/4+sqrt(241)/4 9/2+sqrt(129)...
result:
ok 4838 lines
Test #3:
score: 10
Accepted
time: 1ms
memory: 3804kb
input:
4802 1000 86 0 774 203 0 -203 3 0 27 420 0 -420 -256 0 256 -532 0 0 -493 0 -493 664 0 0 51 0 -204 -21 0 -21 223 0 0 -332 0 332 371 0 -371 799 0 0 -544 0 0 -749 0 -749 -26 0 650 -43 0 387 -460 0 -460 21 0 -525 298 0 0 -66 0 66 28 0 700 82 0 -738 109 0 436 207 0 -207 336 0 0 -136 0 -544 -50 0 450 82 0...
output:
NO 1 NO 1 1 0 NO 0 2 NO 0 1 1 0 0 NO 5 3 NO 5 0 1 NO 3 NO 1 0 NO 3 NO 8 2 0 NO 0 NO NO 1 1 0 0 NO 1 0 NO 0 NO NO 0 NO 0 1 NO 0 NO 0 0 1 2 2 3 NO NO NO 0 NO 1 NO 0 11 1 0 1 2 NO 0 0 NO NO 0 NO 0 0 NO 0 0 NO NO 0 8 1 0 1 2 NO NO 0 NO NO 0 2 4 2 0 NO NO 1 3 NO 1 2 NO NO NO NO 0 NO 2 1 1 0 NO NO 0 4 NO ...
result:
ok 4802 lines
Test #4:
score: 10
Accepted
time: 31ms
memory: 3676kb
input:
4084 1000 -413 0 -760 56 0 472 338 0 868 446 0 -769 -268 0 -2 7 0 247 -53 0 593 415 0 284 138 0 983 -357 0 -539 -179 0 -47 414 0 154 -226 0 -963 440 0 -418 -212 0 877 -201 0 -846 300 0 -594 -135 0 -375 204 0 548 265 0 -173 -412 0 717 231 0 -642 -71 0 -260 489 0 469 -305 0 -958 352 0 244 -239 0 86 10...
output:
NO NO NO sqrt(342974)/446 NO NO sqrt(31429)/53 NO NO NO NO NO NO sqrt(95)/10 sqrt(46481)/106 NO 3*sqrt(22)/10 NO NO sqrt(45845)/265 sqrt(73851)/206 sqrt(16478)/77 NO NO NO NO sqrt(20554)/239 sqrt(70490)/106 NO NO sqrt(201815)/223 NO NO sqrt(1938)/38 sqrt(2146)/37 3*sqrt(3311)/77 NO NO sqrt(182)/13 N...
result:
ok 4084 lines
Test #5:
score: 10
Accepted
time: 1ms
memory: 3628kb
input:
5000 1000 12 -564 0 158 632 0 7 658 0 -16 832 0 487 -487 0 430 430 0 -2 412 0 -59 -472 0 284 -852 0 -455 -910 0 -29 29 0 -2 760 0 81 -243 0 5 -360 0 -145 435 0 247 -988 0 -61 -244 0 4 -520 0 -9 -927 0 10 -900 0 -307 0 0 -1 692 0 1 787 0 42 378 0 11 -704 0 -1 392 0 1 -537 0 3 567 0 -86 -860 0 192 768...
output:
47 0 0 52 1 0 206 0 3 0 1 380 3 72 3 4 0 130 0 90 0 692 0 0 64 392 537 0 0 0 0 0 1 1 0 0 11 609 133 146 0 0 0 0 0 80 0 0 0 20 0 0 0 0 682 3 0 0 0 114 9 1 103 0 385 0 0 0 0 9 0 0 3 0 6 0 0 0 0 60 0 0 2 0 0 0 0 0 663 0 65 183 56 60 0 28 0 489 671 51 12 0 25 0 0 0 8 2 0 2 6 3 0 14 0 0 0 0 0 12 0 0 0 0 ...
result:
ok 5000 lines
Test #6:
score: 10
Accepted
time: 0ms
memory: 3752kb
input:
5000 1000 391 -246 0 435 908 0 -395 555 0 18 -412 0 -40 -24 0 -49 -510 0 297 -440 0 -484 -122 0 -205 -603 0 440 434 0 -423 103 0 -121 657 0 109 818 0 426 -401 0 201 -937 0 77 923 0 98 785 0 -74 524 0 -168 -52 0 417 -224 0 385 100 0 37 -762 0 -346 573 0 -147 68 0 -275 359 0 -59 966 0 115 340 0 159 -3...
output:
246/391 0 111/79 206/9 0 0 40/27 0 0 0 103/423 657/121 0 401/426 937/201 0 0 262/37 0 224/417 0 762/37 573/346 68/147 359/275 966/59 0 365/159 0 652/181 0 954/113 0 732/107 815/243 509/279 0 0 0 403/23 0 68/79 0 0 0 0 0 0 0 819/11 0 241/140 40/13 0 0 0 0 0 553/298 0 219/412 0 823/256 14/3 0 444/343 ...
result:
ok 5000 lines
Test #7:
score: 10
Accepted
time: 1ms
memory: 3568kb
input:
5000 1000 -2 -328 330 -7 -987 0 6 -72 -510 -3 6 504 -9 837 0 -3 489 0 -10 -760 -750 -3 471 -468 1 57 -118 4 -120 644 6 -18 -648 -1 31 32 -2 -48 -88 1 -1 7 6 162 156 -4 108 -704 1 -8 -209 7 154 -525 2 430 428 1 -44 448 -3 -51 -126 7 -420 -868 1 -189 920 1 40 375 -1 80 -231 -4 -76 864 -1 -33 -90 1 -39...
output:
1 0 17 14 93 163 -1 156 2 23 12 32 -2 NO -1 16 19 3 -1 28 -3 62 184 -15 77 8 -3 31 10 -1 20 122 1 0 160 2 28 0 0 1 3 314 -3 1 -1 0 40 0 -20 10 40 85 24 NO 109 233 1 -2 -20 NO 11 41 33 57 84 1 -1 NO 41 60 28 -6 112 232 84 0 45 68 1 639 20 9 -2 1 -2 192 -1 86 6 -2 0 3 38 14 314 53 33 18 101 13 86 -1 -...
result:
ok 5000 lines
Test #8:
score: 10
Accepted
time: 2ms
memory: 3628kb
input:
5000 1000 8 -352 -736 -1 -10 264 7 119 420 -4 188 -528 -8 -616 624 -1 609 610 1 881 880 7 588 581 -2 254 780 1 85 -546 -8 -248 -240 2 -718 -720 -3 123 -930 -5 -425 430 1 -104 -212 6 -168 162 1 105 950 -6 -510 0 -9 -423 -414 1 -313 0 -5 -750 0 2 -652 650 2 -270 532 -1 85 450 -3 57 870 -1 -804 -803 1 ...
output:
46 12 -5 44 1 610 -1 -1 130 6 -1 360 31 1 106 27 -10 0 -1 313 0 325 133 90 29 -1 321 114 420 3 -2 -1 -5 5 74 66 131 -1 289 210 67 -5 5 9 -1 -2 1 207 18 181 1 0 0 5 60 177 12 10 -2 12 -11 1 2 -2 -8 0 -1 -9 14 76 3 5 NO 11 -8 8 -4 0 26 11 65 64 -3 49 44 120 165 0 50 384 246 38 464 90 65 19 66 12 58 -2...
result:
ok 5000 lines
Test #9:
score: 10
Accepted
time: 31ms
memory: 3704kb
input:
5000 1000 -4 48 48 -10 -140 -540 16 96 104 -6 -60 -150 -2 -1 -5 -5 -20 -20 81 -324 144 -6 84 -780 256 -768 -624 144 576 -153 400 600 -287 1 -4 102 -4 -24 -36 36 -72 32 9 -180 868 -7 14 -903 5 -90 450 400 320 -236 8 -32 40 5 -80 480 -6 -12 372 9 18 -15 6 -60 366 3 -6 963 1 -12 -160 -7 0 0 -1 -14 441 ...
output:
6+4*sqrt(3) NO -3+sqrt(10)/2 -5 NO -2 2+2*sqrt(5)/3 NO 3/2+5*sqrt(3)/4 1/4 -3/4+4*sqrt(2)/5 NO -3 4/3 10+4*sqrt(2)/3 NO NO -2/5+sqrt(3)/2 NO NO -1+3*sqrt(7) -1+2*sqrt(6)/3 NO NO 20 0 -7+7*sqrt(10) NO NO 1+4*sqrt(3) 3/2 2 NO NO NO 8+sqrt(5) -9+5*sqrt(7) 1+6*sqrt(2) 12 10+4*sqrt(3) NO 11 NO 5 9/2 NO 1...
result:
ok 5000 lines
Test #10:
score: 10
Accepted
time: 32ms
memory: 3612kb
input:
5000 1000 225 150 -299 -2 16 -8 4 8 -252 4 -24 -540 5 10 -3 2 20 -538 4 48 -144 4 16 -11 -4 -24 828 3 60 84 4 9 5 8 -64 -264 -5 -80 940 -8 -128 64 6 -12 582 25 30 -16 36 -180 -927 -10 60 160 -3 3 -10 6 -108 -474 25 -250 282 9 144 495 4 -80 144 1 -14 54 -5 -60 -175 4 -40 52 16 -160 240 1 -16 145 36 -...
output:
13/15 4+2*sqrt(3) 7 15 -1+2*sqrt(10)/5 -5+7*sqrt(6) -6+6*sqrt(2) -2+3*sqrt(3)/2 -3+6*sqrt(6) -10+6*sqrt(2) -1 11 -8+6*sqrt(7) -8+6*sqrt(2) NO 2/5 5/2+4*sqrt(2) 8 NO 9+4*sqrt(10) 5+7*sqrt(7)/5 -5 18 NO -5 5+2*sqrt(3) 5+sqrt(10) NO 23/6 -5/8+sqrt(57)/8 -1+3*sqrt(6) -3 6+7*sqrt(3) 9+5*sqrt(5)/3 NO NO -...
result:
ok 5000 lines