- 博客(44)
- 收藏
- 关注
原创 CCF-最大的矩形(a[i]为高,左右遍历直到小于a[i]停止)
问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。输入格式 第一行包含一个整数n,即矩形的数量(1 ≤ n ...
2020-04-15 17:12:25
195
原创 CCF-集合竞价(开盘价定为买价,1e8*5000--long long)
问题描述 某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量。该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种:1. buy p s 表示一个购买股票的买单,每手出价为p,购买股数为s。2. sell p s 表示一个出售股票的卖单,每手出价为p,出售股数为s。3. cancel i表示撤销第i行的记录。如果开盘价为p0,则系统可以...
2020-04-15 16:20:49
378
原创 CCF-节日(函数调用时参数调用混乱,周日统一问题)
问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。提示:关于闰年的规则:年份是400的整数倍时是闰年,否则年份是4的倍数并且不是100的倍数时是闰年,其他年份都不是闰...
2020-04-15 12:45:18
347
原创 CCF-画图(填充用迭代,注意边界;判断交汇点用map,pair保存坐标;坐标轴与数组的位置关系)
问题描述 用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。….………___…./.___/.||….|……/.…|.|…___.|.|).|.|).|.|.|.||.|__.).|…/|….<|.||.|._|/||…||._\__/.本题要求编程实现一个用 ASCII 字符...
2020-04-14 11:42:48
145
原创 CCF-小明种苹果(续)(输出数的属性 ,n小于3时注意)
解题思路:注意读题,每次大于0时都需要统计,统计的数目一定要看清楚。注意n<3的情况。#include<iostream>#include<cstdio>#include<cmath>#include<vector>using namespace std;int treedown[10005];int main(){ i...
2020-04-13 10:39:17
614
原创 CCF-Z字形扫描(上三角总个数--,结束坐标与开始坐标关于x=y对称,下移与右移交替,三角交界不交替)
问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行Z字形扫描后得到长度为16的序列: 1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3 请实现一个Z字形...
2020-04-12 12:54:49
182
原创 CCF-数字排序(低级错误)
问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式 输入的第一行包含一个整数n,表示给定数字的个数。 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式 输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值...
2020-04-11 16:18:38
160
原创 CCF权限查询-map::iterator->second为结构体时的存取。
问题描述授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限。本题中的授权机制是这样设计的:每位用户具有若干角色,每种角色具有若干权限。例如,用户 david 具有 manager 角色,manager 角色有 crm:2 权限,则用户 david 具有 crm:2 权限,也就是 crm 类权限的第 2 等级的权限。具体地,...
2020-03-20 17:01:23
246
原创 CCF路径解析(string复习)
问题描述 在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。 为了指定文件系统中的某个文件,需要用路径来定位。在类 Unix 系统(Linux、Max OS X、F...
2020-03-19 12:12:00
151
原创 CCF炉石传说(模拟,vector二维,删除)
问题描述 《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:* 玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。角色分为英雄和随从。 * 玩家各控制...
2020-03-19 12:05:16
179
原创 CCF回收站选址-map使用的注意事项(键值为pair)与ccf画图可用同一数据结构
解题思路:本题为稀疏图,故静态二维,三维数组不易做,我采用结构体保存点坐标,map保存各店是否被访问(有垃圾),其实map作为动态分配空间的三维数组,在map中使用结构体做key值时注意,由于map和set一样都是自动排序(二叉树),故当对结构体进行排序的时候需要进行重载(重新规定结构体的排序方式),格式一定严格,否则会报错。因为结构体中只有x,y,故用pair做map的key值最佳,当时...
2020-03-17 15:49:32
203
1
原创 CCF-窗口(vector复习)
问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。...
2020-03-15 19:52:48
401
原创 CCF-消除类游戏(图的遍历,数组一定开大(不知为何))
问题描述消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除...
2020-03-09 19:15:29
164
原创 CCF-俄罗斯方块(结构体存位置,先验证再嵌入,二维数组位置与坐标轴完全不一样)
问题描述俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。 游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方格图上的方块上边缘重合或者达到下边界时,板块不再移动,如果此时方格图的某一行全放满了方块,则该...
2020-03-09 16:44:12
378
原创 CCF-火车购票(vector模拟座位,边赋值边输出,0下标作开头方便输出,买5张结果没有连续座位的情况);
问题描述请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的...
2020-03-08 19:34:51
150
原创 CCF-工资计算-二分查找(不用计算,直接写公式即可)
问题描述小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算: 1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元; 2) A中不超过1500元的部分,税率3%; 3) A中超过1500元未超...
2020-03-08 18:01:43
177
原创 CCF-学生排队(vector的删除与插入)
问题描述体育老师小明要将自己班上的学生按顺序排队。他首先让学生按学号从小到大的顺序排成一排,学号小的排在前面,然后进行多次调整。一次调整小明可能让一位同学出队,向前或者向后移动一段距离后再插入队列。 例如,下面给出了一组移动的例子,例子中学生的人数为8人。 0)初始队列中学生的学号依次为1, 2, 3, 4, 5, 6, 7, 8; 1)第一次调整,命令为“3号同学向后移动2”,表示...
2020-03-08 15:55:31
356
原创 CCF-公共钥匙盒(存取混杂排序,排序规则读题,钥匙状态数组开2倍)
问题描述有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家。每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中。 钥匙盒一共有N个挂钩,从左到右排成一排,用来挂N个教室的钥匙。一串钥匙没有固定的悬挂位置,但钥匙上有标识,所以老师们不会弄混钥匙。 每次取钥匙的时候,老师们都会找到自己所需要的钥匙将其取走...
2020-03-07 20:18:49
136
原创 CCF-最小差值(遍历各个数之间的差值然后记录最小)
问题描述给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。输入格式输入第一行包含一个整数n。 第二行包含n个正整数,相邻整数之间使用一个空格分隔。输出格式输出一个整数,表示答案。样例输入51 5 4 8 20样例输出1样例说明相差最小的两个数是5和4,它们之间的差值是1。样例输入59 3 6 1 3样例输出0样例说明有两个相同的...
2020-03-06 16:55:08
837
原创 CCF-碰撞的小球(以小球为单位存位置,遍历查找是否发生碰撞)
问题描述数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。 当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。 当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。 现...
2020-03-06 15:35:34
151
原创 201809-2 买菜(数组value值表示相交)
问题描述小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装n次车。具体的,对于小H来说有n个不相交的时间段[a1,b1],[a2,b2]…[an,bn]在装车,对于小W来说有n个不相交的时间段[c1,d1],[c2,d2]…[cn,dn]在装车。其中,一个时间段[s, t]表示的是从时刻s到时刻t这段时间...
2020-02-16 11:20:03
85
原创 201812-2 小明放学(必须用longlong,输入顺序与灯的循环顺序不同)
题目背景汉东省政法大学附属中学所在的光明区最近实施了名为“智慧光明”的智慧城市项目。具体到交通领域,通过“智慧光明”终端,可以看到光明区所有红绿灯此时此刻的状态。小明的学校也安装了“智慧光明”终端,小明想利用这个终端给出的信息,估算自己放学回到家的时间。问题描述一次放学的时候,小明已经规划好了自己回家的路线,并且能够预测经过各个路段的时间。同时,小明通过学校里安装的“智慧光明”终端,看到了出...
2020-02-16 10:35:47
165
原创 CCF-二十四点(先搞乘、除、-号赋给相邻数(结合律),再加在一起。注意:a-b还是b-a)
解析:本题属于非常简单的一道表达式运算题,可以通过优先级赋值做,也可以通过先算乘除再算加减来手动实现优先级。 但是需要注意的有一点:由于用栈来保存表达式,在计算a-b+c时的结合律应为a+(-b)+c而非a-(b+c);故应在用栈进行运算时要将‘-’转化为‘+’负数。小问题没有注意,耽误了很长时间。eg:6x4-1+1 ->Yes。举几个易错的例子:36...
2020-01-14 20:26:49
180
原创 问题 A: THE FOOL
时间限制:1 Sec内存限制:128 MB提交:322解决:148[提交] [状态] [命题人:admin]题目描述The Fool is numbered 0 the number of unlimited potential -and therefore does not have a specific place in the sequence of the...
2019-05-08 21:35:45
461
原创 Little Sub and Enigma
问题 I: Little Sub and Enigma时间限制:1 Sec内存限制:256 MB提交:934解决:112[提交] [状态] [命题人:admin]题目描述Little Sub builds a naive Enigma machine of his own. It can only be used to encrypt/decrypt lower-c...
2019-05-05 21:45:50
316
原创 I Hate It HDU - 1754
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),...
2019-04-30 16:59:31
115
原创 L1-043 阅览室 (20 分)
L1-043 阅览室 (20 分)天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有...
2019-03-19 21:26:50
409
1
原创 踩方格
总时间限制: 1000ms 内存限制: 65536kB 描述 有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设: a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上; b. 走过的格子立即塌陷无法再走第二次; c. 只能向北、东、西三个方向走; 请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。输...
2018-08-22 17:18:03
268
原创 城堡问题
总时间限制: 1000ms 内存限制: 65536kB 描述 1 2 3 4 5 6 7 ############################# 1 # | # | # | | # #####—#####—#—#####—# 2 # # | # # # # # #—#####—...
2018-08-22 16:01:24
402
原创 滑雪
总时间限制: 1000ms 内存限制: 65536kB 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15...
2018-08-21 17:25:12
169
原创 求排列的逆序数
总时间限制: 1000ms 内存限制: 65536kB 描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。对于不同的排名结果可以用逆序来评价它们之间的差异。考虑1,2,…,n的排列i1,i2,…,in,如果其中存在j,k,满足 j < k 且 ij > ik, 那么就称(ij...
2018-08-08 18:41:41
10216
原创 输出前k大的数
总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 给定一个数组,统计前k大的数并且把这k个数从大到小输出。输入 第一行包含一个整数n,表示数组的大小。n < 100000。 第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。 第三行包含一个整数k。k < n。 输出 ...
2018-08-08 18:21:20
3282
原创 河中跳房子
总时间限制: 1000ms 内存限制: 65536kB 描述 每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) 的终点处均有一个岩石。在起点和终点之间,有N (0 ≤ N ≤ 50,000) 个岩石,每个岩石与起点的距离分别为Di (0 < Di ...
2018-08-07 18:44:13
468
原创 派
总时间限制: 1000ms 内存限制: 65536kB 描述 我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成;可以是一整个派)。我的朋友们都特别小气,如果有人拿到更大的一块,就会开始抱怨。因此所有人拿到的派是同样大小的(但不需要是同样形状的),虽然这样有些派会被浪费,...
2018-08-07 18:07:59
1206
1
原创 数据结构实验之图论九:最小生成树
Problem Description 有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。 Input 输入包含多组数据,格式如下。第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n <= 100, m <=10000)剩下m行每行3个正整数a b ...
2018-04-16 19:54:46
182
原创 Catch That Cow(剪枝防止超时)
Problem Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a...
2018-04-12 20:35:31
699
1
原创 基础练习 十六进制转八进制 (栈于队列结合使用)
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。 【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有...
2018-03-29 21:55:09
272
原创 入门训练 Fibonacci数列 (思考取余与加减法的关系)
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取...
2018-03-29 11:09:44
236
原创 连续因子(简单粗暴,细节特殊)
一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数N(1<N<231)。输出格式:首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*……*因子k”的格式输出最小的连续因子序列,其中因子按递...
2018-03-28 21:22:25
5230
原创 整除光棍(20 分)(java大数20分,vector17分)
这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提...
2018-03-22 21:12:08
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人