07/11/12 07:18:53
すでに入力されたn個の整数のうちから選んだk個の整数の和の最小値を求めよ
という問題を全順列を使ってプログラムしたらどんなのになりますか?
これが分かれば>>334ができるんですけど・・・
for(i = 0; i < n; i++) used[i]=NO;
perm(0);
return(0);
}
void perm(int d)
{
int i;
if(d != n){
for (i = 0; i < n; i++) {
if (used[i] == NO) {
a[d] = i;
used[i] = YES;
perm(d + 1);
used[i] = NO;
}
}
}
}
↑全列挙のプログラム