CSP题解|201609-2 火车购票|90分

#include <bits/stdc++.h>
using namespace std;
int main() {
	int ticketNum;cin>>ticketNum;
	bool arr[100][5]={false};
	while(ticketNum--){
		int n;cin>>n;
		bool isDone=false;
		for(int i =0;i<100;i++){
			//本行能不能一次性满足n张票
			int zeroNum=0;
			for(int j =0;j<5;j++){
				if(arr[i][j] == 0)zeroNum++;
			} 
			if(zeroNum>=n){
				//可以安排
				int num=0;
				for(int j =0;j<5;j++){
					if(arr[i][j] == 0){
						arr[i][j]=1;
						cout<<i*5+j+1<<" ";
						num++;
					}
					if(num == n){
						isDone = 1;
						break;
					}
				} 
			}
			if(isDone)break;
		}
		if(!isDone){
			//直接从小序号开始排
			int num=0;
			for(int i=0;i<100;i++){
				for(int j=0;j<5;j++){
					if(arr[i][j] == 0){
						arr[i][j] = 1;
						cout<<i*5+j+1<<" ";
						num++;
					}
					if(num == n)break;
				} 
				if(num == n)break;
			}
				
		}
		cout<<endl;
	}
}

全部评论

相关推荐

07-11 11:10
门头沟学院 Java
请问各位大三兄弟们跟hr说多久实习时间到时候可以提前跑路吗?
程序员小白条:问就是六个月以上,可以一年,实习都这样,你入职后想跑就跑
点赞 评论 收藏
分享
07-10 14:08
已编辑
江西农业大学 Java
念旧select:做完把项目放到自己硬盘里给他看,看完拷走
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务