hdu 1028 Ignatius and the Princess III
2010-04-29 14:18
405 查看
这道题花了很长时间,应该是比较经典的题
想一想,如果要求100的等式个数,就要把99不含1的个数,加上98不含1、2的个数,一直加到50不含1~49的个数再加1(100本身),而和为99不含1的个数恰好为99的个数减98 的个数,和为98 且不含1、2的个数等于98的个数减去97的个数再减96不含1的个数,由此得到一系列递推方式。
#include<iostream>
using namespace std;
int main()
{
long int a[120][120],i,j,c,k;
memset(a,0,sizeof(a));
a[0][0]=1;
for(i=1;i<120;i++)
{
for(j=0;i-j-1>=j;j++)//求和为i的等式数
a[i][0]+=a[i-j-1][j];
a[i][0]++;//加上等式两边都为i的数目1
c=a[i][0];
for(j=1;j<=(i+1)/2;j++)//求和为i且不含1~j等式数
{
c-=a[i-j][j-1];
a[i][j]=c;
}
while(j<=i)//当j大于i/2后,只有等式两边为i这条等式成立
a[i][j++]=1;
}
while(cin>>i)
{
cout <<a[i-1][0]<<endl;
}
return 0;
}
想一想,如果要求100的等式个数,就要把99不含1的个数,加上98不含1、2的个数,一直加到50不含1~49的个数再加1(100本身),而和为99不含1的个数恰好为99的个数减98 的个数,和为98 且不含1、2的个数等于98的个数减去97的个数再减96不含1的个数,由此得到一系列递推方式。
#include<iostream>
using namespace std;
int main()
{
long int a[120][120],i,j,c,k;
memset(a,0,sizeof(a));
a[0][0]=1;
for(i=1;i<120;i++)
{
for(j=0;i-j-1>=j;j++)//求和为i的等式数
a[i][0]+=a[i-j-1][j];
a[i][0]++;//加上等式两边都为i的数目1
c=a[i][0];
for(j=1;j<=(i+1)/2;j++)//求和为i且不含1~j等式数
{
c-=a[i-j][j-1];
a[i][j]=c;
}
while(j<=i)//当j大于i/2后,只有等式两边为i这条等式成立
a[i][j++]=1;
}
while(cin>>i)
{
cout <<a[i-1][0]<<endl;
}
return 0;
}
相关文章推荐
- [ACM] hdu 1028 Ignatius and the Princess III (母函数)
- hdu 1028 Ignatius and the Princess III
- hdu 1028 Ignatius and the Princess III(母函数入门+模板)
- HDU -- 1028 Ignatius and the Princess III(母函数)
- Hdu 1028 Ignatius and the Princess III
- hdu 1028Ignatius and the Princess III
- hdu1028——Ignatius and the Princess III
- hdu 1028 Ignatius and the Princess III
- HDU 1028 Ignatius and the Princess III
- hdu 1028 Ignatius and the Princess III ( 母函数)
- HDU 1028Ignatius and the Princess III(母函数简单题)
- HDU 1028 Ignatius and the Princess III
- HDU 1028 Ignatius and the Princess III(母函数模板)
- hdu 1028 Ignatius and the Princess III(打表,后期进阶补->找规律和dp)
- HDU 1028 Ignatius and the Princess III(母函数)
- hdu 1028 Ignatius and the Princess III(DP)
- HDU 1028 Ignatius and the Princess III(递推)
- hdu 1028 Ignatius and the Princess III 母函数/dp
- HDU 1028 Ignatius and the Princess III【整数拆分】
- hdu 1028 Ignatius and the Princess III (母函数)