無駄が多いのでそのうち修正
/******************************************
* 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 件のコメント:
コメントを投稿