11085 买票找零
11085 买票找零
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: 无限制
Description
一场激烈足球赛即将开始,售票员紧张地卖票着……。
每张球票50元,现在有2n(1<=n<=18)个球迷排队购票,其中n个手持50元钞票,另外n个手持100元钞票。假设开始售票时售票处没有零钱可以找零。
问这2n个人有多少种排队方式,不至使售票处出现找不出零的局面?
例如当n=3时,共6人,3人持50元,3人持100元。可以找零的排队方式有如下5种:
50 50 50 100 100 100
50 50 100 100 50 100
50 50 100 50 100 100
50 100 50 50 100 100
50 100 50 100 50 100
输入格式
输入:输入n,表示2n个球迷,其中n个手持50元,另外n个手持100元。(n<=18)
输出格式
输出:这2n个人可以找零的排队方式数。
输入样例
3
输出样例
5
9716 矩形的并
时间限制:1000MS 内存限制:65535K
提交次数:119 通过次数:27
题型: 编程题 语言: 无限制
Description
在 X-Y 坐标平面上,给定多个矩形,它们的边分别与坐标轴平行。请计算它们的并的面积。
输入格式
输入第一行为一个整数 n,1<=n<=100,表示矩形的数量。
接下来有 n 行,每行包括四个数:x1,y1,x2,y2 (0<=x1<x2<=100000;0<=y1<y2<=100000),用空格分开,不一定为整数。
(x1,y1)表示一个长方形的左下顶点坐标,(x2,y2)表示右上顶点坐标。
输出格式
n个矩形的并的面积,保留两位小数。
输入样例
2
0 0 2 2
1 1 3 3
输出样例
7.00
提示
多个矩形面积重叠难以直接求解或用上递归的思路。
只能从矩形重叠的情况入手,进行局部相加。
这里提供一种思路:
1)将所有矩形的左右边界都投影到X轴上,形成各个区间
2)从左向右计算每个区间,将落在该区间内的矩形进行面积统计.这一步需要计算在区间内矩形的高度即上下边界,然后下边界减上边界,还要考虑到区间内多个矩形上下分离,而非连续情况的处理.
3)将每个区间计算的面积再相加
至于有些同学是想列举各种重叠的情况来扣除重叠面积,鼓励尝试一下,看是否能考虑周全所有重叠的情况.
11091 最优自然数分解问题
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: 无限制
Description
问题描述:设n是一个正整数。
(1)现在将n分解为若干个互不相同的自然数之和,且使这些自然数的乘积最大。
(2)现在将n分解为若干个自然数之和,且使这些自然数的乘积最大。
编程任务:对于给定的正整数n,编程计算问题(1)和(2)的最优分解的最大乘积。
注意:
这里的自然数不含0但包含1。
特别地,当整数n无法分解为若干互不相同的加数时,即自身视为单独的一个加数,比如输入2,问题(1)的解输出为2。
而如果整数n可以分解为若干互不相同的加数时,不考虑自身为单独加数的情况,比如4,问题(1)的解输出为3,而非4。
输入格式
只有一个正整数n(1<=n<=100)。
输出格式
输出待解问题(1)和(2)的最大乘积,中间空格相连,这两个数可能较大请用64位整数。
如,输入n为10,若加数互不相同,则n=2+3+5,此时最大乘积为2*3*5=30。
若加数可相同,则n=2+2+3+3,此时最大乘积为2*2*3*3=36。
输入样例
10
输出样例
30 36
8598 整除15 问题
Description
问题描述:
给定一个只包含数字[0..9]的字符串,求使用字符串中的某些字符,构建一个能够整除15的最大的整数。
注意,字符串中的每个字符只能使用一次。
编程任务:
求由给定字符串构建的能够整除15的最大整数。
输入格式
输入数据为一个只包含数字[0..9]字符串,字符串的长度为1~1000。
输出格式
将构建出的最大整数输出。
如果无法构建出能够整除15的整数,请输出
“impossible”
输入样例
02041
输出样例
4200
11079 可以移动的石子合并
11079 可以移动的石子合并
时间限制:1000MS 内存限制:1000K
提交次数:0 通过次数:0
题型: 编程题 语言: 无限制
Description
有n堆石子形成一行(a1,a2,…,an,ai为第i堆石子个数),现要将石子合并成一堆,规定每次可选择至少2堆最多k堆移出然后合并,每次合并的分值为新堆的石子数。
若干次合并后,石子最后肯定被合并为一堆,得分为每次合并的分值之和。
现在求解将这n堆石子合并成一堆的最低得分和最高得分。
输入格式
两行。第一行n和k,第二行a1 a2 … an,每个ai(1<=i<=n)表示第i堆石子的个数,n<=100,2<=k<=n。
输出格式
仅一行,为石子合并的最低得分和最高得分,中间空格相连。
输入样例
7 3
45 13 12 16 9 5 22
输出样例
199 593
基于c++和控制台黑白棋程序(源码)
实现了黑白棋的完整规则,并实现了一定的人机对弈功能
黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello)、苹果棋或翻转棋。黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。
10346 带价值的作业安排问题
已知n项作业E={1, 2, … ,n} 需要完成,只有一台机器,同一时刻至多完成一个作业,而且每项作业需要的时间都是单位时间1。
第k项作业要求在时间fk时刻完成,而且完成这项作业将获得效益pk,(k=1, 2, … , n)。
E的子集称为相容的,如果它们可以被安排由一台机器完成。
带限期和价值的作业安排问题就是:要在所给的作业集合中选出总效益值最大的相容子集,请输出最大的总效益值。
输入格式
输入3行:
第一行,一个数字,n值,表示n个作业(n<10000)。
第二行,n个正数字,表示这n个作业的需完成的时间点
第三行,n个正数字,表示这n个作业的效益值
输出格式
输出:相容作业子集所获得的最大总效益
例如:7个作业
时间点和效益值分别是:
1 8 8 5 9 3 5
20 25 30 7 18 10 18
则:可以获得的最大总效益为:20 + 30 + 18 + 10 + 18 = 96
输入样例
7
1 8 8 5 9 3 5
20 25 30 7 18 10 18