
OJ
没被稻草压垮的骆驼
不妥协.
展开
-
1076: 饭卡(动态规划)
题目描述如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。输入多组数据。对于每组数据:第一行为正整数n,表示菜的数量。n<=1000。第二行包括n个正整数,表示...原创 2020-02-10 10:26:20 · 428 阅读 · 0 评论 -
1143: 堆石子(STL)
题目描述在一片沙滩上摆放着n堆石子。 现要将石子有次序地合并成一堆。 每次任选2堆石子合并成新的一堆,合并的费用为新的一堆石子数。试设计一个算法,计算出将n堆石子合并成一堆的最小总费用。输入输入数据第1行有1个正整数n(1≤n≤100000),表示有n堆石子,每次选2堆石子合并。第2行有n个整数, 分别表示每堆石子的个数(每堆石子的取值范围为[1,1000]) 。输出数据...原创 2020-02-09 10:11:26 · 1025 阅读 · 0 评论 -
1370: 高度平衡的二叉树(二叉树)
题目描述给定一个二叉树,判断它是否是高度平衡的二叉树。一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。输入输入一行,按照先序输入一棵二叉树,其中空节点用 -1 表示。输出若是则输出YES,否则输出NO。样例输入1 2 -1 -1 3 4 -1 -1 -1样例输出YES#include<iostream&...原创 2020-02-08 11:57:12 · 475 阅读 · 0 评论 -
1369: 二叉树的最大深度(二叉树)
题目描述给定一个二叉树,找出其最大深度。最大深度是从根节点到最远叶子节点的最长路径上的节点数量。输入输入一行,按照先序输入一棵二叉树,其中空节点用 -1 表示。输出输出一行代表二叉树的最大深度。样例输入1 2 -1 -1 3 4 -1 -1 -1样例输出3//1369:二叉树的最大深度 #include<iostream>#i...原创 2020-02-08 11:34:54 · 227 阅读 · 0 评论 -
1315: 小鱼比可爱
题目描述人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮...原创 2020-02-07 16:38:29 · 457 阅读 · 0 评论 -
1303: 判断树的子树(二叉树)
题目描述给定两棵非空二叉树 T1 和 T2 ,现在PIPI想让你判断T2 是否是T1的子树。 T1的子树包含T1的一个结点以及该结点的所有子孙结点(包括空节点) 3 / \ 4 5 / \ 1 2给定s, 4 / \ 1 2给定t,则 t 是 s的子树. 3 / \ 4 5 /...原创 2020-02-07 11:56:17 · 470 阅读 · 0 评论 -
1302: PIPI的族谱(二叉树)
题目描述PIPI最近在看家里的族谱,发现族谱刚好组成了一棵二叉树,现在PIPI想询问族谱中的两个结点是否为兄弟或者堂兄弟。兄弟: 深度相同, 双亲节点相同(同一个结点不能是兄弟)。堂兄弟: 深度相同,双亲节点不同。输入第一行按照先序输入族谱代表的二叉树,其中空节点用 -1 表示。第二行输入两个数字 x y,代表询问的两个结点的值。输出若询问的两个结点是兄弟,输出...原创 2020-02-06 14:56:52 · 343 阅读 · 0 评论 -
1310: 同构二叉树(二叉树)
题目描述如果T1可以通过若干次左右孩子互换变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 ...原创 2020-02-05 14:55:12 · 581 阅读 · 0 评论 -
1301: 交换二叉树的左右子树(二叉树)
题目描述给定一棵二叉树,交换二叉树的左右子树。输入输入一行,按照先序输入一棵二叉树,其中空节点用 -1 表示。输出输出交换后的二叉树的先序序列,空节点无需输出。样例输入1 2 -1 -1 3 -1 -1样例输出1 3 2//1301: 交换二叉树的左右子树#include<iostream>#include<stdlib.h&...原创 2020-02-05 11:20:32 · 405 阅读 · 0 评论 -
1079: PIPI的存钱罐(动态规划)
题目描述PIPI有n种硬币,每种硬币有特定的重量cost[i] 克和它对应的价值val[i].已知有一个承重量为m的存钱罐,里面正好装着重量为m的硬币,问你这个存钱罐中硬币的最小价值是多少? 如果不可能存在m克的情况, 那么就输出”impossible“输入多组输入。第一行包括两个整数n,m(1<=n<=500,1<=m<=10000)接下来n行,...原创 2020-02-03 11:29:44 · 715 阅读 · 0 评论 -
1074: 矩阵取数II(动态规划)
题目描述PIPI想要大家了解基本的动态规划,所以它不知道从哪弄来了一个n*m的矩阵,矩阵每个元素是一个整数,你现在在左上角(第一行第一列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。走过的数的总和作为你的得分。现在PIPI想知道它去每一个格子的最大得分是多少?怎么样,是不是依然很简单呢?输入多组输入。第一行为两个整数n,m(1<=n,m<=500)接下来n行...原创 2020-01-30 15:43:07 · 565 阅读 · 0 评论 -
1073: 矩阵取数I(动态规划)
题目描述PIPI想要大家了解基本的动态规划,所以它不知道从哪弄来了一个n*m的矩阵,矩阵每个元素是一个整数,你现在在左上角(第一行第一列),你需要走到右下角(第n行,第m列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。走过的数的总和作为你的得分,求最大的得分。怎么样,是不是很简单呢?输入多组输入。第一行为两个整数n,m(1<=n,m<=500)接下来n行...原创 2020-01-30 15:25:49 · 766 阅读 · 0 评论 -
1072: 漫漫上学路(动态规划)
题目描述对于PIPI来说,能够在CSU(California State University)上学是他一生的荣幸。CSU校园内的道路设计的十分精巧,由n+1条水平道路和n+1条竖直道路等距交错而成,充分体现了校园深厚的文化底蕴。然而不幸的是CS市每到夏季,天降大雨,使得CSU常常形成“CS海”的奇观,今年,也就是2019年同样也不例外,校园有一半的区域被淹了。由于要进行一年一度激动人心的省...原创 2020-01-30 14:25:40 · 799 阅读 · 0 评论 -
1071: 数塔 (动态规划)
题目描述PIPI在CSU的某个角落发现了一座金字塔,而且这座金字塔是由数字组成的(如下图所示),现在PIPI想到塔顶去看看,它可以从底层任意一个数字出发逐层爬上去。PIPI每次可以爬至上一层相邻的数字上。现在PIPI想知道,它如何选择爬上去的路径,使该路径经过的数字和最大?输入多组数据每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,...原创 2020-01-30 12:38:35 · 732 阅读 · 0 评论 -
1077: 铁轨
题目描述PopPush城市有一座著名的火车站。这个国家到处都是丘陵。而这个火车站是建于上一个世纪。不幸的是,那时的资金有限。所以只能建立起一条路面铁轨。而且,这导致这个火车站在同一个时刻只能一个轨道投入使用,因为它缺少空间,两列火车将无路可走。具体看下图。当地的惯例是每一列火车从A方向驶向B方向时候,会用某种方式将车厢重组。假设火车将要到达A方向,拥有N个车厢(N<=1000),这些...原创 2020-01-22 14:44:07 · 581 阅读 · 1 评论 -
1018: 士兵排阵
题目描述在一个划分成网格的操场上,n个士兵散乱地站在网格点上。 网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、 下、 左、 右移动一步, 但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排列成(x,y),(x+1,y),…,(x+n-1,y)。如何选择x和y的值才能使士兵们以最少的总移动步数排成一列。 计算使所有士兵排成一行需要的最少移...原创 2020-01-15 09:50:58 · 819 阅读 · 1 评论 -
1016: 加油站
题目描述一辆汽车加满油后可行驶 n公里。 旅途中有若干加油站。 设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。请对于给定的 n和 k个加油站位置, 计算最少加油次数。输入输入包含多组测试用例。对于每一组数据,其第1行有2个正整数n(1≤n≤5000)和 k(1≤k≤5000)。表示汽车加满油后可行驶 n公里,且旅途中有 k个加油站。接下来的1行中,有 k+1个整数,表...原创 2020-01-14 10:09:23 · 455 阅读 · 0 评论 -
1014: 奇怪的餐厅
题目描述鲁大师和他的朋友经常去一家奇怪的餐厅,为什么说奇怪呢,一是餐厅提供的菜品比较奇怪,二是餐厅的付费规则比较奇怪,每个人有不同的折扣上限(单人从总结里折算的最高金额),超过折扣上限的部分原价付费(N个人可以每人出一部分),这次鲁大师和魏然层风以及朋友一共N个人去这家餐厅吃饭,他们点的菜品总金额为T,现在告诉你每个人的折扣率z和折扣上限H,请告诉他们最少需要支付多少钱?输入输入数据有多...原创 2020-01-10 17:33:08 · 513 阅读 · 0 评论 -
1010: 好坑的电子地图
题目描述小明是今年参加复试的外校考生,他要去民主楼小礼堂签到。由于对中南大学校本部很不熟悉,小明找到了这边读书的好朋友鲁大师,不巧,鲁大师在忙着自由探索项目的结题工作,不能给他带路,只好给他发了一份半成品的电子地图。地图上只列出了校本部内的N个点,M条路,小明处于S点,民主楼小礼堂是T点。小明感谢鲁大师,当然只是在拿到地图的一瞬间,后面的情况让他知道这半成品到底有多坑。鲁大师制作的电子地图是带有...原创 2020-01-10 10:52:22 · 305 阅读 · 0 评论 -
1009: 安全路径
题目描述卫斯理小说经常提及外星人,比如蓝血人。在土星星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0和1间的实数(包括0,1),一条从u到v的通道P的安全度为Safe(P) = s(e1)*s(e2)…*s(ek) e1,e2,ek是P上的边 ,现在蓝血人想出去旅游,面对这这么多的路,...原创 2020-01-06 17:26:04 · 582 阅读 · 1 评论 -
1004: 惠民工程
题目描述市政府“惠民工程”的目标是在全市n个居民点间之架设煤气管道(但不一定有直接的管道相连,只要能间接通过管道可达即可)。很显然最多可架设 n(n-1)/2条管道,然而实际上要连通n个居民点只需架设n-1条管道就可以了。现请你编写程序,计算出该惠民工程需要的最低成本。输入测试输入包含若干测试用例。每个测试用例的第1行给出居民点数目M ( < =100 )、 评估的管道条数 N;...原创 2020-01-06 15:21:22 · 507 阅读 · 0 评论 -
1008: 最大连续子序列
题目描述给定 K 个整数的序列{ N1, N2, ..., NK } ,其任意连续子序列可表示为{ Ni, Ni+1,...,Nj} ,其中1 <= i<= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个。编写程序得到其中最大子序列的和并输出该子序列的第一个和最后一个元素的下标。输入测试输入包含若干测试用例,每个测试用例占2 行,第1行给出正整数 K( ...原创 2020-01-05 23:27:31 · 500 阅读 · 0 评论 -
1042: 黑色星期五
题目描述众所周知,13号又是星期五成为"黑色星期五",真的是一个不寻常的日子吗?13号是星期五比13号是星期一、13号是星期二、……、13号是星期日要少吗? PIPI想知道这个问题的答案,所以想请聪明的你来写一个程序来计算在n年里每月13日落在星期一、星期二、……、星期日的次数。这个测试从1900年1月1日到1900+n-1年12月31日。n是一个正整数且不大于400。这里有一些...原创 2020-01-05 17:33:02 · 1306 阅读 · 0 评论 -
1047: 寻找嫌疑人
题目描述某地刑侦大队对涉及六个嫌疑人(A、B、C、D、E、F)的一桩疑案进行分析:A、B至少有一人作案;A、E、F三人中至少有两人参与作案;A、D不可能是同案犯;B、C或同时作案,或与本案无关;C、D中有且仅有一人作案;如果D没有参与作案,则E也不可能参与作案。#include<iostream>using namespace std;int main()...原创 2020-01-05 16:16:04 · 916 阅读 · 0 评论 -
1024: 走路还是坐公交
题目描述已知你的位置是N,目的地的位置是K。为了去目的地,你有两种移动方式:走路或者坐公交。走路:你可以从位置X移动到X+1或者X-1搭公交车:你可以从位置X移动到2X每次走路或者搭公交车所需要的时间都是1分钟,你想尽快到达目的地,所需的时间是多少呢?输入多组数据。对于每组数据,输入一行,分别是N和K(0<=N,K<=100,000)输出对于每组数据,输出一行...原创 2020-01-05 11:47:33 · 1698 阅读 · 0 评论 -
1065: 统计气球
题目描述众所周知,在打ACM比赛的时候,队伍只要通过了一个题,志愿者们就会送过来相对应颜色的气球。请统计通过队伍最多的题所对应的气球颜色吗?输入输入包含多组测试用例。对于每一个测试样例,第一行输入一个数字n (0<n<=1000),代表气球的数目。以下n行每一行是一个长度不超过15为字符串s,代表气球的颜色。输入以0为结尾,对应的样例无需处理。输出对于每组样例,输...原创 2020-01-05 09:46:37 · 879 阅读 · 0 评论 -
1043: 数学王子
题目描述数学王子高斯小时候就能利用规律很快的将1+2+……+100算出来。PIPI现在想知道1+2+……+10^n,你能像高斯一样快速求出结果吗?输入第一行有一个整数t,表示有t组数据。以下一共t行,每行一个整数n (0<=n && n<=1000)输出对于每个输入的n,输出对应的结果。样例输入212样例输出555050【...原创 2020-01-05 09:02:01 · 1208 阅读 · 4 评论 -
1026: a+b问题
题目描述读入两个小于100的正整数A和B,计算A+B,注意: A+B的每一位由对应的英文字母给出。输入测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为zero时输入结束,相应的结果不要输出.输出对每个测试用例输出1行,即A+B的值.样例输入one + two =three four + five six =zero + ...原创 2020-01-05 08:41:35 · 668 阅读 · 0 评论 -
1067: 蠢蠢机器人I
题目描述数轴原点有一个蠢蠢机器人。该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置。·LEFT:往左移动一个单位·RIGHT: 往右移动一个单位·SAME AS i: 和第i 条执行相同的动作。输入保证i 是一个正整数,且不超过之前执行指令数输入输入第一行为数据组数T (T<=100)。每组数据第一行为整数n (1<=n<=100),...原创 2020-01-04 19:35:14 · 700 阅读 · 0 评论 -
1045: 修墙壁
题目描述洞的形状是1*1*L(米)的长方体。从邻居那借来N块木块和一个锯子。正好木块的形状也是矩形,宽度和高度都是1米。借助这些工具,可以通过锯掉木块的多余部分来补好墙壁,当然,也能不锯掉。现在,知道了每块木块的规格,怎样补好墙壁而且用的木块数最少呢?输入包含多组测试用例,以"0"为结尾标志。每组数据含两行,第一行有两个整数L(0 < L < 10^5)和N(0< =...原创 2020-01-04 15:51:19 · 339 阅读 · 0 评论 -
1044: 七夕节
题目描述七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" 人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下: 值此七夕佳节来临之际,为感谢广大群众对我月老的热爱,特此将大家的另一半的寻找方法公布如下:将你的编号(数字王国的每一个人都有自己的一个编号)的所有因子加起来得到的一个编号,这个编号的主人...原创 2020-01-04 11:12:29 · 463 阅读 · 0 评论 -
1020: 切木棍
题目描述你有一根长度为n的木棍(n是整数),现在需要你用这个木棍做一个矩形(但是不能是正方形),矩形的每条边的长度为整数。你可以将这个木棍切成四份,作为矩形的四条边.请问你组成多少种不同的矩形?输入对于每组数据,输入一个整数,即为木棍的长度n(1<=n<=105)输出对于每组数据,输出一个整数,表示能组成的矩形种数。样例输入620样例输出14思路...原创 2020-01-03 18:06:21 · 420 阅读 · 0 评论 -
1015: 第几天
题目描述给定一个日期,输出这个日期是该年的第几天。输入数据格式为YYYY/MM/DD组成, 具体参见输入示例。另外,所有输入数据是合法的。输出对于每组输入数据,输出一行,表示该日期是该年的第几天。样例输入1985/01/202006/03/12样例输出2071思路闰年:year%4==0 && year%100!=0) ||...原创 2020-01-03 11:11:17 · 196 阅读 · 0 评论 -
1011: 容易的题
题目描述大家都很关心考试难易程度。K老师出题有一个规律,在出题之前,他会随机写下一个字符串,只要这个字符串中能按顺序找到E,A,S,Y四个字母。他出题就会比较简单。你拿到了这个字符串,请你告诉考试的题目难不难吧。输入输入数据有多组,每组占一行,由一个字符串组成(字符串的长度不超过1000)输出对于每组输入,输出一行,对应一个要求的答案(题目容易就输出easy,难就输出diffi...原创 2020-01-02 17:33:26 · 212 阅读 · 0 评论 -
1003: 发工资啦
题目描述如果每个员工的工资额都知道,最少需要准备多少张人民币,才能在给每位职员发工资的时候都不用老师找零呢?(100元、50元、10元、5元、2元和1元六种)输入输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<=100),表示老师的人数,然后是n个老师的工资.输出每个测试用例输出一行,即凑成钱数值M最少需要的钱币个数。如果凑钱失败,输出“Impossib...原创 2020-01-02 15:14:26 · 293 阅读 · 0 评论 -
1002: 安全密码
问题描述网络上各类交易活动越来越普及,为了能够安安心心地上网,经常需要设置一个安全的密码。一般来说一个比较安全的密码至少应该满足下面两个条件:(1)密码长度大于等于8。(2)密码中的字符应该来自下面“字符类别”中四组中的至少三组。这四个字符类别分别为:(1)大写字母:A,B,C...Z;(2)小写字母:a,b,c...z;(3)数字:0,1,2...9;(4)特殊符号:~,...原创 2019-12-31 15:45:18 · 499 阅读 · 0 评论 -
1001: 水仙花数
题目描述水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。输入输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。输出对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个...原创 2019-12-31 15:25:48 · 433 阅读 · 0 评论 -
1000: 回文串问题
题目描述“回文串”是一个正读和反读都一样的字符串,字符串由数字和小写字母组成,比如“level”或者“abcdcba”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。输入(请使用scanf进行输入)输入包含多个测试实例,每一行对应一个字符串,串长最多100字母。输出对每个字符串,输出它是第几个,如第一个输出为"case1:";如果一个字符串是回文串,则输出...原创 2019-12-31 15:09:03 · 477 阅读 · 0 评论 -
1055: 杨辉三角形
输出杨辉三角形(两个腰上的数字都为1,其它位置上的数字是其上一行中与之相邻的两个整数之和)。样例输入n(1<=n<=50)23样例输出11 111 11 2 1【思路】用一个二维数组保存杨辉三角形的值,这样当前值就可以取到上一行相邻两个元素了.#include<stdio.h>int main(void)...原创 2019-12-30 22:06:44 · 542 阅读 · 0 评论 -
1030: 平行四边形
输出斜边和横边分别为m,n个c字符构成的空心平行四边形图案。斜边的相邻两行中下行向右与上行错开一个字符的位置。#include<stdio.h>int main(void){ int m,n; char b,c; //m表示斜边,n表示横边 while(scanf("%d%d%c%c",&m,&n,&b,&c)!=EOF){ ...原创 2019-12-30 11:00:16 · 619 阅读 · 0 评论