今天用C写了一下,发现后三个是TLE,于是作为大一的菜b就来发贴求助了。! 求各位dl帮忙优化下代码,尽量简单些,毕竟...咱才大一。
#include<stdio.h>
int k, N = 0;
int main()
{
void choose(int left ,int i , int num);
int i, num = 0, n;
scanf("%d%d", &n, &k);
choose(n, n, num);
printf("%d", N);
}
void choose(int left,int i, int num)
{
for (i ;i >0 ;i--)
{
if (left == 0)
{
if (num == k)
N += 1;
break;
}
if (left < 0)
{
break;
}
if (left > 0)
{
choose(left - i,i, num + 1);
}
}
}