讨论 / 秀一下下限,爆搜完爆
chinshiketsu 2013-03-02 17:41:00
点我顶贴 收藏 删除
#include <cstdio>

int main()

{

int n=0,k=0,cnt=0;

scanf("%d%d",&n,&k);

if (k==2)

for (int i=1;i<=(n/2); ++i) ++cnt;

else if (k==3)

{

for (int i=1;i<n;++i)

for (int j=i;j<n;++j)

{

int k=n-i-j;

if ((k>0)&&(j<=k)) ++cnt;

}

}

else if (k==4)

{

for (int i=1;i<n;++i)

for (int j=i;j<n;++j)

for (int k=j;k<n;++k)

{

int l=n-i-j-k;

if ((l>0)&&(k<=l)) ++cnt;

}

}

else if (k==5)

{

for (int i=1;i<n;++i)

for (int j=i;(i+j)<n;++j)

for (int k=j;(i+j+k)<n;++k)

for (int l=k;(i+j+k+l)<n;++l)

{

int m=n-i-j-k-l;

if ((m>0)&&(l<=m)) ++cnt;

}

}

else

{

for (int i=1;i<n;++i)

for (int j=i;(i+j)<n;++j)

for (int k=j;(i+j+k)<n;++k)

for (int l=k;(i+j+k+l)<n;++l)

for (int m=l;(i+j+k+l+m)<n;++m)

{

int q=n-i-j-k-l-m;

if ((q>0)&&(m<=q)) ++cnt;

}

}

printf("%d\n",cnt);

return 0;

}

查看更多回复
提交回复