CCF CSP201609-2 火车购票
简单模拟
#include<iostream>
using namespace std;
int arr[20][5];
int main(){
int n, num;
cin>>n;
for(int k = 0; k < n; k++){
cin>>num;
bool flag = true;
for(int i = 0; i < 20; i++){
int count = 0;
for(int j = 0; j < 5; j++){
if(arr[i][j] == 0) count++;
if(count == num) {
for(int r = j - num+1; r <= j; r++){
arr[i][r] = 1;
cout<<(i*5+r+1)<<" ";
}
break;
}
}
if(count == num) {
flag = false;
break;
}
}
if(flag){
for(int i = 0; i < 20; i++){
for(int j = 0; j < 5; j++){
if(arr[i][j] == 0) arr[i][j] = 1, cout<<(i*5+j+1)<<" ";
}
}
}
cout<<endl;
}
return 0;
}