CCF 201609-2 火车购票 C++

C++抢票验证码(类模板+函数模板) 对于某抢票系统,存在一个长度为六的验证码,验证码可以为整形,字符型,浮点型,我们认为验证码是有效的当且仅当验证码是非递减序列。现请你利用函数模板,完成对验证码的检验。测试数据有多组,每组测试数据给出验证码类型以及一串验证码。 阅读详情

在这里插入图片描述
二刷:
创建一个a[101]的数组存储编号,五个座位为一排。给定票数c,先检查是否有连续的一排c个座位(5-j%5+1求本排空余座位数),没有的话则继续下一排((j/5+1)*5),要注意j%5==0(j=5,10,15……)的情况要单独处理。用flag标记是否有连续座位,没有的话,从头检查分散的座位,从小到大的编号找够c个。注意每次选定座位之后,把相应的a[j]=1;

#include <iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int a[101]={0};
    int c;
	for(int i=0;i<n;i++)
	{
		cin >> c;
		int flag=0;
		for(int j=1;j<=100;j++)
		{
			if(a[j]==0)
			{
				int yu;
				if(j%5==0) yu=1;
				else yu=5-j%5+1;
				if(yu>=c)
				{
					flag=1;
					for(int k=j;k<j+c;k++)//这一排连续够用 
					{
						cout << k << " ";
						a[k]=1;
					}
					cout << endl;
				}
				else
				{
					if(j%5==0) continue;
					else j=(j/5+1)*5;//检测下一排 
				}
				if(flag) break;
			}
		}
		if(!flag)
		{
			for(int j=1;j<=100;j++)
			{
				if(a[j]==0)
				{
					cout << j << " ";
					c--;
					a[j]=1;
				}
				if(c==0) break;
			}
			cout << endl;
		}
	}
	return 0;
}

一刷思路:把100个位子分成20组,用一个数组记录每一组的空位数,每次寻找时,先找是否有连续空位足够的小组,如果找不到连续空位,再从头一个一个遍历空位。

#include <iostream>
using namespace std;
int main()
{
	int n,p;
	int group[20];
	int seat[101]={0};
	cin >> n;
	for(int i=0;i<20;i++)
	{
		group[i]=5;
	}
	for(int i=0;i<n;i++)
	{
		cin >> p;
		int flag=0;
		for(int j=0;j<20;j++)
		{
			if(group[j]>=p)
			{
				flag=1;
				for(int k=5*j+1;k<=5*j+5&&p>0;k++)
				{
					if(seat[k]==0)
					{
						cout << k << " ";
						seat[k]=1;
						group[j]--;
						p--;
					}
				}
			}			
			if(flag)  break;
		}
		if(!flag) 
		{
			for(int j=1;j<=100&&p>0;j++)
			{
				if(seat[j]==0)
				{
					cout << j << " ";
					seat[j]=1;
					group[j/5]--;
					p--;
				}
			}
		}
		cout << endl;
	}
	return 0;
}
C++语言实现的订票管理系统 本程序是一个班次管理系统,能够让用户查看、购买、取消车票,管理员可以额外录入班次信息和保存数据。程序使用C++编写,涉及文件读写、时间处理、数据结构(结构体)、容器(vector)、流操作和基本的控制结构。 阅读详情

相关推荐

CCF201609-2 火车购票问题 C/C++

题目 试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述:   请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。   假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。   购票时,一个人可能购一张或多张票,...

SmallCarcar7的博客 586

五一假期抢票难?程序员手写一个抢票脚本,轻松购得出行票!

距离五一假期只剩几天的时间,据央视财经报道,从4月17日开始,5月1日的火车票就可以通过铁路12306网站核车站售票窗口购买了,售票通道一打开,5月1日上午的热门目的地车票,几乎瞬间售罄。 有平台预计,今年五一旅游人次有望突破2019年同期,达到2亿人次的新高。这样一来,五一出行最大的难题便是如何拥有一张动车票。 实际上,我们程序员都是靠实力买到火车票的,比如下面要和大家推荐的这个12306只能刷票助手,这是一个程序员自己写的一个抢票脚本,项目名称就叫——12306 目前,该项目已经在GitH

致力于C语言C++知识分享! 2861

CCF CSP201609-2 火车购票(c++100)

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

qq_44091681的博客 327

CCF CSP 201609-2火车购票 C++

CCF CSP 201609-2 火车购票 C++ 用简单的思路解决复杂的问题 问题描述 试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 如下 问题描述   请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。   假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。   购票时,一个人

weixin_43226448的博客 273

CCF201609-2火车购票编译出错(附100分渣渣程序)

CCF201609-2火车购票编译出错 19.09.06用VS2017做这题的时候,提交到CCF平台一直显示编译出错。 选择的C++11标准,VS上能得到正确结果但是CCF平台显示编译出错。 后续发现可能是memset函数的问题,用fill函数后问题解决并得到满分。 #include<cstdio> #include<algorithm> using namespace s...

weixin_42236469的博客 335

c++命令模式实现12306购票系统

c++命令模式实现12306购票系统 详见博客:http://blog.youkuaiyun.com/caoshangpa/article/details/52912355

ccf 201609-2 火车购票 c++ 100分

试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。   假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类...

qq_38977209的博客 615

火车购票系统,采用c++编写,使用qt

火车购票系统,采用c++编写,使用qt 适合人群:具备一定编程基础

CCF CSP 201609-2 火车购票 C++实现 100分

问题描述   请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。   假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。   购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最...

ding_programmer的博客 1003

网上抢火车票软件

1.加速购火车的票的速度,5秒之内 2.监控12306.cn发布的火车票数,一有票,自动跳转确认页面. 3.可以自由定义火车票类型,例如北京到西安,可以配置成T41,T231的组合,当T41或T231一个有票就开始抢票,按先T41,后T231优先级抢票 4.同理,票的类型也可以自由定义,例如硬卧,硬座,软卧 5.整个抢票流程很少人工参与(除验证码,登录外) 6.免费试用一天 有问题联系我,BJXAMyLove@hotmail.com

国产系统迁移实战:在银河麒麟V10上搞定Wine32位支持,让老Windows软件跑起来

本文详细介绍了在银河麒麟V10操作系统上构建Wine32位支持的全过程,帮助用户解决Windows应用迁移难题。从系统架构差异分析到Wine环境配置,再到实战应用部署与优化,提供了一套完整的解决方案,确保老Windows软件在国产系统上稳定运行。

weixin_32288959的博客 648

CCF201609-2 火车购票

CCF201609-2 火车购票 题目: 题目分析: 1.使用数组a[]记录每一个位置安排情况,使用数组b[]记录每一排位置安排情况; 2.对于每一个购票信息:先查询每一排是否可以安排,如果可以就安排并输出安排信息,如果不可以,则从1到100查询每一个空位,从小到大安排。 #include<iostream> using namespace std; int a[110],b[25]...

gyct123的博客 145

CELF(Cost-Effective Lazy Forward selection)具有成本效益的惰性前向选择算法

CELF(Cost-Effective Lazy Forward selection)算法解析      引言:在社交网络影响力最大化问题的求解过程中,我们往往需要去选择一些目标种子结点作为信息初始传播的源头。贪婪算法在传播效果上的解决可以达到影响的最大化,但是在时间复杂度上面显得确十分糟糕。为此CELF算法应势而生,CELF算法利用了函数次模性的特点,在第一轮选择种子结点时,计算网络中所有节点的边际收益,但将在之后的过程中,不再做网络节点边际收益的重复计算,这相对于传统的贪婪算法,将在时间上得到非常明显的

hahaxq的博客 2476

CCF201609-2 火车购票问题的C++数组的解法

问题描述试题编号:201609-2试题名称:火车购票时间限制:1.0s内存限制:256.0MB问题描述:问题描述  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。  假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。  购票时,一个人可能购一张或多张票,最多不超过5张...

Demo.demo的博客 1030

UltraScale+ FPGA中GTY收发器参考时钟的跨Bank共享机制解析

本文深入解析了UltraScale+ FPGA中GTY收发器参考时钟的跨Bank共享机制,详细介绍了时钟布线架构、SLR区域限制及Vivado工程配置要点。通过实际案例和优化建议,帮助工程师解决高速串行通信中的时钟共享问题,提升系统性能。

weixin_29280219的博客 630

Diebold-Mariano检验

给定两个预测的预测结果,我们希望比较他们的预测结果,以用于预测模型精度的比较。 Diebold-Mariano检验本质是一个t检验,用于检验替代预测的两个损失序列的平均值是否相等。即,它是一系列损失差的零均值的t检验。在存在自相关的情况下,它使用损失差分时间序列标准差的自相关一致性估计。 注意,在使用DM检验式时,假设损失序列是平稳的。 另外,DM检验在小样本数据时往往会拒绝零假设。对于小样本数据,推荐Harvey, Leybourne and Newbold (HLN)检验【1】; 参考文献 【1】htt

weixin_43948357的博客 6565

CCF-CSP 201609-2 火车购票 C++满分题解

CCF-CSP 201609-2 火车购票 C++满分题解

m0_73772116的博客 1115

Mellanox ASAP2技术揭秘:如何通过硬件卸载提升OVS性能?

本文深入解析Mellanox ASAP2技术如何通过硬件卸载显著提升Open vSwitch(OVS)性能。通过将数据平面操作转移到ConnectX智能网卡处理,ASAP2实现了10倍吞吐量提升和90%延迟降低,同时大幅减少CPU占用。文章包含技术原理剖析、实战配置指南及性能对比数据,为网络虚拟化优化提供关键解决方案。

weixin_30335575的博客 373

CCF CSP 201609-2:火车购票

代码如下: #include using namespace std; //火车购票 int main(){ int n; cin >> n; vector > v(20, vector(5, 0)); //初始化火车票,0代表未被购买 for(int i = 0; i < n; i++){ int p; //要购买的票数 cin >> p; int d

qq_33361432的博客 377

华为OD机试双机位C卷-恢复数字序列 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 恢复数字序列,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 恢复数字序列。

qq_45776114的博客 1203

Spring Boot:如何快速搭建一个高性能微服务架构?

通过本文的详细步骤,我们成功搭建了一个高性能的微服务架构。Spring Boot 和 Spring Cloud 提供了强大的工具链,使得开发者能够快速实现服务注册与发现、负载均衡、熔断器与降级机制等功能。同时,通过数据库连接池、Redis 缓存和异步处理等优化手段,进一步提升了系统的性能和可靠性。希望本文能够帮助你快速入门 Spring Boot 微服务架构的搭建,并为实际项目提供参考。如果你有任何问题或建议,欢迎在评论区留言!

shrgegrb的博客 1013

CCF_201609-2 火车购票(C++_贪心)

问题描述        请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。   假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。   购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以...

ccql's Blog 644

下载和运行GitHub上的代码教程总结

从昨天开始就想着从GitHub上下载一个开源的Vue的实战项目,希望能从中学习更多的Vue的实用内容,结果搞了半天好不容易下载了,不知道怎么弄。然而,今天终于成功了,激动地我赶紧来记录一下。 如何从GitHub上下载自己需要的项目: 1.首先,你要有一个自己的GitHub(https://github.com/)的账号。关于如何注册GitHub的账号以及如何获取你的SSH密钥这个问题,请大家参...

不怕万人阻挡,只怕自己投降 29万+

CCF---201609-2---火车购票---C++

试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。   假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。   购票时,一个人可能购一张或多张票...

Ashen的博客 339

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

CCF CSP 201609-2 火车购票(C++语言100分)[简单模拟题]

#include <iostream> using namespace std; const int N=100,ROW=20,COLUMN=5; int is_purchased[ROW][COLUMN]= {0}; int ticket_num[N]= {0}; int main() { int n,ticket,remain,start,stop,is_adjacent; cin>>n; for (int i=0; i<n ; i++ )

AlbertDarren的博客 382

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

CCF CSP 201609-2 火车购票(90分,怎么也检查不出来问题在哪儿,导致不能满分??)

问题描述 试题编号: 201609-2 试题名称: 火车购票 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。   假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。   购票时,一个人可能购...

deniece1的博客 499

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: CCF 201609-1 最大波动 C++ easy
下一篇: CCF 201604-1 折点计数 C++ easy
cloudless_sky
博客等级 码龄8年 106粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值