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;
	}
}

全部评论

相关推荐

03-17 19:21
门头沟学院 Java
面试官_我太想进步了:正常企查查显示的员工一般比设计的少
点赞 评论 收藏
分享
牛客583549203号:腾讯还好,况且实习而已,实习生流动性很大,属于正常现象,记得和HR委婉解释
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务