比赛 NOIP2015普及组练习 评测结果 AAAAAAAAAA
题目名称 分组 最终得分 100
用户昵称 AAAAAAAAAA 运行时间 0.007 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2015-11-02 20:43:23
显示代码纯文本
  1. #include<fstream>
  2. using namespace std;
  3. ifstream fin("dataa.in");
  4. ofstream fout("dataa.out");
  5. int a[11]={1,0,0,0,0,0,0,0,0,0,0},ans=0,q=1;
  6. void sb(int n,int m){
  7. if(m==0){
  8. ans++;
  9. for(int i=1;i<q;i++){
  10. fout<<a[i]<<' ';}
  11. fout<<endl;
  12. }
  13. if(m==1){
  14. a[q]=n;q++;
  15. sb(0,0);}
  16. if(m>1){
  17. for(int i=a[q-1];i<=n/m;i++){
  18. a[q]=i;q++;
  19. sb(n-i,m-1);}}
  20. q--;
  21. }
  22. void sb1(int n,int m){
  23. if(m==0){
  24. ans++;}
  25. if(m==1){
  26. a[q]=n;q++;
  27. sb1(0,0);}
  28. if(m>1){
  29. for(int i=a[q-1];i<=n/m;i++){
  30. a[q]=i;q++;
  31. sb1(n-i,m-1);}}
  32. q--;
  33. }
  34. int main(){
  35. int n,m;
  36. fin>>n>>m;
  37. sb1(n,m);
  38. fout<<ans<<endl;
  39. q=1;
  40. sb(n,m);
  41. fin.close();
  42. fout.close();
  43. return 0;
  44. }