| 记录编号 | 
        426534 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        26.分组 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         @@@ | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C++ | 
        运行时间 | 
        0.001 s  | 
    
    
        | 提交时间 | 
        2017-07-17 22:24:56 | 
        内存使用 | 
        0.32 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include <fstream>
#include <queue>
using namespace std;
ifstream cin("dataa.in");
ofstream cout("dataa.out");
queue<int> q[200];
int n ,m;
int last;
//int sum /*当前举出来的数和为sum*/ = 0;
int ans = 0;
int t[15]={1};
int dfs(int l,int x)
{
	
	if(l > m)
	{
		if(x == 0)
		{
			ans++;
			for(int i = 1;i <= m;i++)
			{
				q[ans].push(t[i]);
			}
		}
		return 0;
	}
	for(int i = t[l-1];i <= x-(m-(l+1));i++)
	{
		t[l] = i;
		dfs(l+1,x-i);
	}
	
	return 0;
}
int cyf()
{
	cin >> n >> m;
	//m++;
	dfs(1,n);
	cout << ans << endl;
	for (int i = 1; i <= ans; ++i)
	{
		for (;!q[i].empty();q[i].pop())
		{
			cout << q[i].front() << " ";
			/* code */
		}
		cout << endl;
		/* code */
	}
	cin.close();				
	cout.close();
		return 0;
}
int hhhh = cyf();
int main() {;}