//题意很容易理解 在这里不解释了
#include<stdio.h>
#include<string.h>
#define max 700
int c1[max],c2[max];
int main()
{
int a,b;
int va,vb;
int T;
scanf("%d",&T);
for(int i=0; i<T; i++)
{
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
scanf("%d%d",&a,&b);
scanf("%d%d",&va,&vb);
for(int j=0; j<=va*vb; j++)
{
c1[j]=1;
}
for(int ii=1; ii<b; ii++)
{
scanf("%d%d",&va,&vb);
for(int j=0; j<=a; j++)
for(int k=0; k+j<=a&&k<=va*vb; k+=va)
c2[k+j]+=c1[j];
for(int i=0; i<=a; i++)
{
c1[i]=c2[i];
c2[i]=0;
}
}
/* for(int i=0; i<=40; i++)
{
printf("%d ",c1[i]);
}*/
printf("%d\n",c1[a]);
}
return 0;
}
hdu 2079http://acm.hdu.edu.cn/showproblem.php?pid=2079
最新推荐文章于 2023-05-25 23:37:53 发布