#include <stdio.h>
const int like[5][5] = {
{0, 0, 1, 1, 0},
{1, 1, 0, 0, 1},
{0, 1, 1, 0, 1},
{0, 0, 0, 1, 0},
{0, 1, 0, 0, 1}
};
int take[5], book[5] = {0, 0, 0, 0, 0};
void _try(int i) {
static int n = 0;
int j, k;
for (j = 0; j <= 4; j++) {
if (like[i][j] > 0 && book[j] == 0) {
take[i] = j;
book[j] = 1;
if (i == 4) {
n++;
printf("No.%d scheme\n", n);
for (k = 0; k <= 4; k++)
printf("book %d is given to %c\n", take[k], (char)k + 'A');
putchar('\n');
}
else {
_try(i + 1);
}
book[j] = 0;
}
}
}
int main() {
_try(0);
return 0;
}
分书问题
最新推荐文章于 2024-12-16 20:42:09 发布