2012年7月4日水曜日

AOJ Volume 0030:Sum of Integers

無駄が多いのでそのうち修正

/******************************************
* 2012/06/29                              *
* AOJ Volume0 0030 Sum of Integers        *
* wrote crane                             *
*******************************************/
#include<iostream>
using namespace std;

int num[] ={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int n=0; //n個の数字
int s=0; //n個の数字の和がsとなる

int count;
void solve(int x, int sum, int c);

int main(){
 while(cin >> n >> s, (n||s)){
  count = 0;
  solve(n, s, 0);
  cout << count << endl;
 }
 return 0;
}

void solve(int x, int sum, int c){//x->n個の数字 ,  sum->和  c->numカウント用
 if(x == 0 && y==0 && c==10){ 
  count++;
  return;
 }else if(9<c || x<0 || y<0){
  return;
 }else{
  int a=y-num[c];
  c++;
  solve(x, y, c); //足さない
  solve(x-1, a,c);//足す
 }
 return;
}

0 件のコメント:

コメントを投稿