社区讨论
[悬关]关于申诉
学术版参与者 5已保存回复 14
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 14 条
- 当前快照
- 1 份
- 快照标识符
- @logk4mh5
- 此快照首次捕获于
- 2023/11/02 10:18 2 年前
- 此快照最后确认于
- 2023/11/02 11:43 2 年前
rt.下面这份J T3代码将freopen去掉后lg评测10pts,想要问一下申诉能否成功(不申诉100+0+0+25,申诉后如果成功125->135有希望2=)
CPP#include"bits/stdc++.h"
using namespace std;
int gcd(int x,int y)
{
if (x%y==0)
{
return y;
}
if (y%x==0)
{
return x;
}
if (y>x)
{
swap(x,y);
}
return gcd((x-y),y);
}
int main()
{
char z=char(92);
freopen("uqe.in","r",stdin);
freopen("uqe.out","w",stdout);
int T,M,a,b,c,aba,q,p,x,intss,savedp,savedq,u,kt=1;
bool flag=true;
scanf("%d%d",&T,&M);
for (int i=1;i<=T;i++)
{
scanf("%d%d%d",&a,&b,&c);
if (c==0)
{
if (b==0)
{
printf("0");
}
if ((a*b)>0)
{
printf("0");
}
if ((a*b)<0)
{
a*=(-1);
b*=(-1);
x=gcd(a,b);
a/=x;
b/=x;
if (a==1)
{
printf("%d",abs(b));
}
if (a!=1)
{
printf("%d",abs(b));
printf("%c",z);
printf("%d",abs(c));
}
}
printf("\r\n");
continue;
}
if (b==0)
{
if (c==0)
{
printf("0");
}
if (c>0)
{
printf("-1");
}
if (c<0)
{
x=gcd(a,c);
a=a/x;
c=c/x;
c=(-1)*c;
flag=false;
u=c;
for (int i=2;i<=(int(sqrt(u))+1);i++)
{
if (u==1)
{
flag=true;
break;
}
while (1)
{
if (u%(i*2)==0)
{
u/=(i*2);
kt*=i;
continue;
}
break;
}
}
if (kt==1&&flag)
{
printf("1");
}
if (kt==1&&!flag)
{
printf("sqrt");
printf("(");
printf("%d",u);
printf(")");
}
if (kt!=1&&flag)
{
printf("%d",kt);
}
if (kt!=1&&!flag)
{
printf("%d",kt);
if (u!=1)
{
printf("sqrt");
printf("(");
printf("%d",u);
printf(")");
}
}
}
printf("\r\n");
continue;
}
if (((b*b)-(4*a*c))<0)
{
printf("NO");
printf("\r\n");
continue;
}
flag=true;
u=((b*b)-(4*a*c));
for (int j=2;j<=sqrt(u);j++)
{
if (!flag)
{
break;
}
while (u%j==0)
{
if (u%j==0&&u%(j*j)!=0)
{
flag=false;
break;
}
u/=(j*j);
}
}
if (flag)
{
if (a>0)
{
q=(2*a);
p=(sqrt(((b*b)-(4*a*c)))-b);
x=gcd(abs(q),abs(p));
p/=x;
q/=x;
if (q==1)
{
printf("%d",p);
printf("\r\n");
}
if (q!=1)
{
printf("%d",p);
printf("/");
printf("%d",q);
printf("\r\n");
}
}
if (a<0)
{
q=(2*a);
p=(-1)*(sqrt(((b*b)-(4*a*c)))+b);
x=gcd(abs(q),abs(p));
p/=x;
q/=x;
if (q==(-1))
{
p*=(-1);
printf("%d",p);
printf("\r\n");
}
if (q!=1)
{
q*=(-1);
p*=(-1);
printf("%d",p);
printf("/");
printf("%d",q);
printf("\r\n");
}
}
}
if (!flag)
{
intss=1;
u=((b*b)-(4*a*c));
for (int j=2;j<=sqrt(u);j++)
{
while (u%(j*j)==0)
{
intss*=j;
u/=(j*2);
}
}
if (a>0)
{
q=(2*a);
p=-b;
savedp=p;
savedq=q;
x=gcd(abs(q),gcd(abs(p),abs(intss)));
p/=x;
q/=x;
intss/=x;
if (q==1)
{
printf("%d",p);
printf("+");
if (intss!=1)
{
printf("%d",intss);
}
printf("*");
printf("sqrt");
printf("(");
printf("%d",u);
printf(")");
printf("\r\n");
}
if (q!=1)
{
printf("%d",p);
printf("+");
if (intss!=1)
{
printf("%d",intss);
}
printf("*");
printf("sqrt");
printf("(");
printf("%d",u);
printf(")");
printf("%c",z);
printf("%d",q);
printf("\r\n");
}
}
if (a<0)
{
q=(2*a);
p=-b;
savedp=p;
savedq=q;
x=gcd(abs(q),gcd(abs(p),abs(intss)));
p/=x;
q/=x;
intss/=x;
if (q==1)
{
p*=(-1);
q*=(-1);
printf("%d",p);
printf("-");
if (intss!=1)
{
printf("%d",intss);
}
printf("*");
printf("sqrt");
printf("(");
printf("%d",u);
printf(")");
printf("\r\n");
}
if (q!=1)
{
p*=(-1);
q*=(-1);
printf("%d",p);
printf("-");
if (intss!=1)
{
printf("%d",intss);
}
printf("*");
printf("sqrt");
printf("(");
printf("%d",u);
printf(")");
printf("%d",z);
printf("%d",q);
printf("\r\n");
}
}
}
}
return 0;
}
回复
共 14 条回复,欢迎继续交流。
正在加载回复...