编程试题练习:2018计算机学科-夏令营上机考试题解

作为一个编程学习者,自己多多练习刷刷题总是没错的。由于部分题目已经关闭,无法看到AC(以下代码可能无法通过全部测试用例),如有错误,请指出,O(∩_∩)O谢谢。

A:计算两个日期之间的天数

全局题号7595  提交次数663  尝试人数225  通过人数211

总时间限制:

1000ms

内存限制:

65536kB

描述

给定两个日期,计算相差的天数。比如2010-1-1和2010-1-3相差2天。

输入

共两行:

第一行包含三个整数startYear,startMonth,startDay,分别是起始年、月、日。

第二行包含三个整数endYear,endMonth,endDay,分别是结束年、月、日。

相邻两个整数之间用单个空格隔开。年份范围在1~3000。保证日期正确且结束日期不早于起始日期。

输出

输出一个整数,即是两个日期相差的天数。

样例输入

样例输出

提示

闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。闰年的2月份有29天。

C++实现

B:回文子串

全局题号17415  提交次数450  尝试人数215  通过人数199

动态规划总时间限制:

1000ms

内存限制:

65536kB

描述

给定一个字符串,寻找并输出字符串中最长回文子串。回文串即从左到右和从右到左读都一样的字符串。

如果字符串中包含多个回文子串,则返回第一个。

输入

第一行是整数n,字符串的个数(n < 20)

输出

接下来n行,每行一个字符串

字符串的长度不超过100

样例输入

样例输出

C++实现

C:The Die is Cast

全局题号483  提交次数293  尝试人数77  通过人数39

DFS回溯

总时间限制:

1000毫秒

内存限制:

65536kB

描述

InterGames 是一家高科技初创公司,专门开发允许用户通过 Internet 玩游戏的技术。市场分析提醒他们,机会游戏在潜在客户中非常受欢迎。无论是大富翁、ludo 还是西洋双陆棋,这些游戏中的大多数都涉及在游戏的某个阶段掷骰子。

当然,如果允许玩家掷骰子然后将结果输入计算机,那是不合理的,因为作弊很容易。因此,InterGames 决定为他们的用户提供一个摄像头,该摄像头拍摄掷骰子的照片,分析照片,然后自动传输掷骰子的结果。为此,他们迫切需要一个程序,给定一个包含几个骰子,确定骰子上的点数。我们对输入图像做出以下假设。图像仅包含三个不同的像素值:背景、骰子和骰子上的点。如果两个像素共享一条边,我们认为它们是连接的——在角落相遇是不够的。在图中,像素 A 和 B 相连,但 B 和 C 不相连。

如果对于 S 中的每一对 (a,b) 像素,在 S 中存在一个序列 a1, a2, ..., ak 使得 a = a1 和 b = ak ,并且 a i和 a i ,则连接一组像素 S +1 连接为 1 <= i < k。

我们将所有仅由非背景像素组成的最大连接集视为骰子。“最大连接”意味着您不能在不断开连接的情况下将任何其他非背景像素添加到集合中。同样,我们考虑每个最大连接的点像素集来形成一个点。

输入

输入由几个掷骰子的图片组成。每个图片描述都以一行开头,其中包含两个数字 w 和 h,分别是图片的宽度和高度。这些值满足 5 <= w, h <= 50。

以下 h 行每行包含 w 个字符。字符可以是:“.” 对于背景像素,“*”表示骰子的像素,“X”表示骰子点的像素。

由于光学畸变,骰子可能有不同的尺寸并且不是完全正方形的。图片将包含至少一个骰子,每个骰子的点数介于 1 到 6 之间,包括 1 和 6。

输入以 w = h = 0 开头的图片终止,不应处理。

输出

对于每次掷骰子,首先输出其数量。然后输出图片中骰子上的点数,按升序排列。

在每个测试用例之后打印一个空行。

样例输入

样例输出

C++实现

为了帮助大家,轻松,高效学习C语言/C++,给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘!

C/C++学习

微信公众号:C语言编程学习基地

欢迎转行和学习编程的伙伴!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值