/*
title:02-2
问题分类:
没有0项判断结束
求导倒着改,
int xi;
int zhi;
}a[10000];
int main(){
freopen("in.txt","r",stdin);
int xx,zz;
while(scanf("%d %d",&xx,&zz)!=EOF){
a[0].xi=xx;
a[0].zhi=zz;
int len=1;
for(;zz!=0;len++){
scanf("%d %d",&a[len].xi,&a[len].zhi);
zz=a[len].zhi;
}
// 倒着处理导数
for(int i=len-1;i>0;i--){
a[i].xi=a[i-1].xi*a[i-1].zhi;
if(a[i].zhi!=0){
a[i].zhi=a[i-1].zhi-1;
}
}
for(int i=1;i<len;i++){
if(a[i].zhi!=0){
printf("%d %d ",a[i].xi,a[i].zhi);
}else{
printf("%d %d\n",a[i].xi,a[i].zhi);
}
}
//常数项
if(len==1){
printf("0 0\n");
}
}
return 0;
}
title:02-2
问题分类:
没有0项判断结束
求导倒着改,
对于0项不输出 ,但是输入 没有0项 */
还有一个测试点没有过
http://www.patest.cn/contests/mooc-ds/02-2
#include<stdio.h>
struct t{int xi;
int zhi;
}a[10000];
int main(){
freopen("in.txt","r",stdin);
int xx,zz;
while(scanf("%d %d",&xx,&zz)!=EOF){
a[0].xi=xx;
a[0].zhi=zz;
int len=1;
for(;zz!=0;len++){
scanf("%d %d",&a[len].xi,&a[len].zhi);
zz=a[len].zhi;
}
// 倒着处理导数
for(int i=len-1;i>0;i--){
a[i].xi=a[i-1].xi*a[i-1].zhi;
if(a[i].zhi!=0){
a[i].zhi=a[i-1].zhi-1;
}
}
for(int i=1;i<len;i++){
if(a[i].zhi!=0){
printf("%d %d ",a[i].xi,a[i].zhi);
}else{
printf("%d %d\n",a[i].xi,a[i].zhi);
}
}
//常数项
if(len==1){
printf("0 0\n");
}
}
return 0;
}