#include <stdio.h>
int seat[100] = {0};
void bfs(int num, int level) {
int n = num;
if (level == 21) {
for (int j=0; j<100; j++){
if (!seat[j]) {
seat[j] = 1;
printf("%d ",j+1);
}
}
printf("\n");
return;
}
for (int i= level*5-5; i<level*5; i++) {
if (!seat[i] && !seat[i+num-1] && i+num<=(level+1)*5-5) {
int k = i;
while (n) {
seat[k] = 1;
printf("%d ",k+1);
n--;
k++;
}
printf("\n");
return;
}
}
bfs(num, level+1);
}
int main() {
int ord[100] = {0};
int n;
scaf("%d",&n);
for (int i=0; i<n; i++) {
scanf("%d",&ord[i]);
bfs(ord[i], 1);
}
return 0;
}
某oj 购票系统
最新推荐文章于 2024-07-18 11:11:00 发布