33,027
社区成员




#include <cstdlib>
#include <iostream>
int *list;
int n;
void f( int len, int sum ){
int i;
if( sum==0 ){
for( i=0; i<len; ++i )
std::cout<<list[i]<<" ";
for( ; i<n; ++i )
std::cout<<0<<" ";
std::cout<<std::endl;
return;
}
if( len==n-1 ){
list[len]=sum;
for( i=0; i<=len; ++i )
std::cout<<list[i]<<" ";
std::cout<<std::endl;
return;
}
for( i=0; i<=sum; ++i ){
list[len]=i;
f( len+1, sum-i );
}
};
int main( )
{
int m;
std::cin>>m>>n;
list=new int[n];
f( 0, m );
delete list;
system("PAUSE");
return EXIT_SUCCESS;
}