方程转换 | ||||||
|
||||||
Description | ||||||
小A和小B是灰常好的盆友,小A总是能把小B难住,这次小B给小A出了一道期末必考题。 已知,f(x)=ax6+bx5+cx4+dx3+ex2+fx+g;现在我们要把方程替换成另外一种形式,f(m,n,p,i,j,k)=am+bn+cp+di+ej+fk+z;也就是,m=x6,n=x5,p=x4,i=x3,j=x2,k=x,z=g。 |
||||||
Input | ||||||
有多组测试数据,第一行T(T<100),代表有T组测试数据,然后输入a,b,c,d,e,f,g的值,a,b,c,d,e,f,g均为小于10的9次方的整数。 |
||||||
Output | ||||||
输出替换后的方程。 |
||||||
Sample Input | ||||||
3 2 8 19 -6 72 13 100 36 0 4 0 8 17 3 0 0 0 0 0 0 0 |
||||||
Sample Output | ||||||
2m+8n+19p-6i+72j+13k+100 36m+4p+8j+17k+3 0 |
||||||
Source | ||||||
2014暑假集训练习赛(7月30日) |
#include<cstdio>
char c[6]={'m','n','p','i','j','k'};
int a[7];
int main()
{
int t;
while(~scanf("%d",&t))
while(t--)
{
for(int i=0;i<7;i++){
scanf("%d",&a[i]);
}
int flag=0;
for(int i=0;i<6;i++)
{
if(a[i]==0) continue;
if(a[i]>0)
{
if(flag==0)
{
flag=1;
if(a[i]*c[i]==c[i]) printf("%c",c[i]);
else printf("%d%c",a[i],c[i]);
}else{
printf("+");
if(a[i]==1) printf("%c",c[i]);
else printf("%d%c",a[i],c[i]);
}
}else{
if(flag==0)
{
flag=1;
if(a[i]*c[i]==-c[i]) printf("-%c",c[i]);
}else{
if(a[i]==-1) printf("-%c",c[i]);
else printf("%d%c",a[i],c[i]);
}
}
}
if(a[6]==0&&!flag) printf("0");
else if(a[6]>0)
{
if(flag==1)printf("+%d",a[6]);
else printf("%d",a[6]);
}
else printf("%d",a[6]);
printf("\n");
}
return 0;
}