比赛 |
NOIP2015普及组练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
分组 |
最终得分 |
100 |
用户昵称 |
AAAAAAAAAA |
运行时间 |
0.007 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2015-11-02 20:43:23 |
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fin("dataa.in");
ofstream fout("dataa.out");
int a[11]={1,0,0,0,0,0,0,0,0,0,0},ans=0,q=1;
void sb(int n,int m){
if(m==0){
ans++;
for(int i=1;i<q;i++){
fout<<a[i]<<' ';}
fout<<endl;
}
if(m==1){
a[q]=n;q++;
sb(0,0);}
if(m>1){
for(int i=a[q-1];i<=n/m;i++){
a[q]=i;q++;
sb(n-i,m-1);}}
q--;
}
void sb1(int n,int m){
if(m==0){
ans++;}
if(m==1){
a[q]=n;q++;
sb1(0,0);}
if(m>1){
for(int i=a[q-1];i<=n/m;i++){
a[q]=i;q++;
sb1(n-i,m-1);}}
q--;
}
int main(){
int n,m;
fin>>n>>m;
sb1(n,m);
fout<<ans<<endl;
q=1;
sb(n,m);
fin.close();
fout.close();
return 0;
}