POJ1996

这道题我以后再怼  确实还没搞清楚


#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int x[10100],y[101],z[10100];

int main()
{
	int T,p,q;
	int i,j,k;

	scanf("%d",&T);
	while (T--)
	{
		memset(x,0,sizeof(x));
		memset(y,0,sizeof(y));

		scanf("%d%d",&p,&q);
		for (i=0;i<=p;i++)
			scanf("%d",&x[i]);
		for (i=0;i<=q;i++)
			scanf("%d",&y[i]);
	
		z[0]=x[0];
		for(k=p;k>=1;k--)
		{
			memset(z,0,sizeof(z));

			for(j=k;j <= q*(p-k)+p;j++)
			{
				for(i=0;i <= q;i++)
					z[i+j-1] += x[j]*y[i];
			}

			x[k-1] += z[k-1];

			for(i=k;i<=p*q;i++)
				x[i] = z[i];
		}
		int max;
		for(i=p*q;i>=0;i--)
			if(x[i] != 0) break;
		max=i;

		for(i=0;i<=max;i++)
			printf("%d ",x[i]);
		printf("\n");
	}
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值