fork download
  1. #pragma GCC optimize("Ofast,fast-math,unroll-loops,no-stack-protector")
  2. #include <stdio.h>
  3. #define N 1<<24
  4. char buf[N],*p1=buf,*p2=buf,buf2[N],*p3=buf2,*p4=buf2,s,str1[]="考試要加油口屋\n\n",str2[]="請使用配方法解下列一元二次方程式\n\n",*ps;
  5. #define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,N,stdin),p1==p2)?EOF:*p1++)
  6. void inline pc(char k){if(p3==p4){puts(buf2);p3=buf2;}*p3++=k;}
  7. int t=0,n,a,b,c,i,j,pi,flag;
  8. int main(){
  9. p4+=N;
  10. for(;(s=gc())!='\n';t+=s-'0')t*=10;
  11. for(;t--;){
  12. for(n=0;(s=gc())!='\n';n+=s-'0')n*=10;
  13. for(ps=str2;*ps!='\0';)pc(*ps++);
  14. for(i=1;i<=n;++i){
  15. for(flag=0,a=0;(s=gc())!=' ';){if(s!='-'){a*=10;a+=s-'0';}else flag=1;}if(flag)a=-a;
  16. for(flag=0,b=0;(s=gc())!=' ';){if(s!='-'){b*=10;b+=s-'0';}else flag=1;}if(flag)b=-b;
  17. for(flag=0,c=0;(s=gc())!='\n'&&s!=EOF;){if(s!='-'){c*=10;c+=s-'0';}else flag=1;}if(flag)c=-c;
  18. for(pi=i,j=10;j<=pi;)j*=10;
  19. for(j/=10;j>0;pi%=j,j/=10)pc((pi/j)+'0');
  20. pc('.');pc(' ');
  21. if(a<0){pc('-');a=-a;}
  22. if(a!=1){
  23. for(j=10;j<=a;)j*=10;
  24. for(j/=10;j>0;a%=j,j/=10)pc((a/j)+'0');
  25. }
  26. pc('x');pc('^');pc('2');
  27. if(b!=0){
  28. if(b<0){pc('-');b=-b;}else pc('+');
  29. if(b!=1){
  30. for(j=10;j<=b;)j*=10;
  31. for(j/=10;j>0;b%=j,j/=10)pc((b/j)+'0');
  32. }
  33. pc('x');
  34. }
  35. if(c!=0){
  36. if(c<0){pc('-');c=-c;}else pc('+');
  37. for(j=10;j<=c;)j*=10;
  38. for(j/=10;j>0;c%=j,j/=10)pc((c/j)+'0');
  39. }
  40. pc('=');pc('0');pc('\n');pc('\n');
  41. }
  42. for(ps=str1;*ps!='\0';)pc(*ps++);
  43. }
  44. if(p3!=buf2)puts(buf2);
  45. return 0;
  46. }
Success #stdin #stdout 0s 5460KB
stdin
1
1
1 -2 -3
stdout
請使用配方法解下列一元二次方程式

1. x^2-2x-3=0

考試要加油口屋