2014年5月12日 星期一

n顆不同的球,抽m次,每次都放回,列出所有可能(更精簡一點的版本)

#include <iostream>
using namespace std;
int N,M; //#balls, #draw
void draw(int n,int m, int*a){ 
 for (int i=0;i<n;i++){
  a[M-m]=i;
  if (m==1){
   for (int j=0;j<M;j++)
    cout << a[j] << ' ';
   cout << endl;
  }
  else
   draw(n,m-1,a);
 } 
}
int main () { 
 cin >> N >> M;
 int *a = new int[M];
 draw(N,M,a); 
}

沒有留言:

張貼留言