自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 L2-009. 抢红包

题目描述 没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。输入输入第一行给出一个正整数N(<= 104),即参与发红包和抢红包的总人数,则这些人从1到N编号。随后N行,第i行给出编号为i的人发红包的记录,格式如下:K N1 P1 … NK PK其中K(0 <= K <= 20)是发出去的红包个数,Ni是抢到红包的...

2018-04-16 16:36:52 250

原创 L2-008. 最长对称子串

题目描述 对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定”Is PAT&TAP symmetric?”,最长对称子串为”s PAT&TAP s”,于是你应该输出11。输入输入在一行中给出长度不超过1000的非空字符串。输出在一行中输出最长对称子串的长度。样例输入Is PAT&TAP symmetric?样例输出11思路...

2018-04-16 15:21:38 212

原创 L1-050. 倒数第N个字符串

题目描述 给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, …, aaz, aba, abb, …, abz, …, zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。输入输...

2018-04-07 11:13:45 422

原创 L2-004. 这是二叉搜索树吗?

题目描述 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值; 其右子树中所有结点的键值大于等于该结点的键值; 其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。输入输入的第一行...

2018-03-25 10:04:57 193

原创 L2-002. 链表去重

题目描述 给定一个带整数键值的单链表L,本题要求你编写程序,删除那些键值的绝对值有重复的结点。即对任意键值K,只有键值或其绝对值等于K的第一个结点可以被保留。同时,所有被删除的结点必须被保存在另外一个链表中。例如:另L为21→-15→-15→-7→15,则你必须输出去重后的链表21→-15→-7、以及被删除的链表-15→15。输入输入第一行包含链表第一个结点的地址、以及结点个数N(&lt...

2018-03-24 20:01:08 177

原创 L1-046. 整除光棍

题目描述这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出...

2018-03-24 10:24:36 174

原创 L1-043. 阅览室

题目描述天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动...

2018-03-24 09:34:40 162

原创 01字串

题目描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100请按从小到大的顺序输出这32种01串。输入本试题没有输入。输出输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略>思...

2018-03-22 20:54:58 225

原创 L1-025. 正整数A+B

题目描述本题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。...

2018-03-22 20:46:32 386

原创 2n皇后问题

题目描述给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入输入的第一行为一个整数n,表示棋盘的大小。   接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应

2018-03-20 20:53:26 158

原创 L1-6 求符合给定条件的整数集

题目描述给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入输入在一行中给出A。输出输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。样例输入2样例输出234 235 243 245 253 254324 325 342 345 352 354423 425 432 43...

2018-03-18 09:42:42 531

原创 输出前k大的数

题目描述给定一个数组包含n个元素,统计前k大的数并且把这k个数从大到小输出。输入第一行是一个正整数n,表示数组的大小。n < 100000。 第二行包含n个整数,表示数组的元素,整数之间以一个空格分开。每个整数的绝对值不超过100000000。 第三行包含一个整数k。k < n。输出从大到小输出前k大的数。样例输入101 3 5 7 9 2 4 6 8 105样例输出10 9 8 7 6思路

2018-03-13 22:34:23 938

原创 放苹果

放苹果题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 5,1,1和1,5,1是同一种分法。输入第一行是测试数据的数目t(0<= t <=20)。以下每行均包含二个整数M和N,以空格分开。 1<=M,N<=10。输出对输出的每组数据M和N,用一行输出相应的K。样例输入17 3样例输出8来源MOOC PKU GuoWei 代码#include <ios

2018-03-13 20:47:47 248

转载 逆波兰表达式

//by PKU GuoWei#include &lt;iostream&gt;#include &lt;cstdlib&gt;using namespace std;double exp(){ char s[20]; cin&gt;&gt;s; switch(s[0]){ case '+': return exp()+exp(); ...

2018-03-13 20:29:23 129

原创 n皇后问题

#include &lt;iostream&gt;#include &lt;cmath&gt;using namespace std;int queen[100];int n;void printQ(){ for(int i=1; i&lt;=n; i++){ cout&lt;&lt;queen[i]&lt;&lt;' '; } cout&lt...

2018-03-13 20:21:33 183

原创 Kruskal Prim 最小生成树

/*Kruskal, 使用并查集判断两棵树是否连通,还可以用dfs*/#include &lt;iostream&gt;using namespace std;struct edge{ int u, v; int w;};struct edge a[100];int f[100];int n, m;struct edge tmp;void quickSo...

2018-03-05 22:05:04 177

原创 并查集

#include &lt;iostream&gt;using namespace std;int f[100];int getf(int v){ if(f[v] == v){ return v; }else { f[v] = getf(f[v]); return f[v]; }}void merge(int u...

2018-03-04 23:16:38 168

原创 最小堆

#include &lt;iostream&gt;using namespace std;int h[100];int n;void siftdown(int i){ int t, flag = 0; while(i*2 &lt;= n &amp;&amp; flag == 0){ if(h[i] &gt; h[i*2]){ t ...

2018-03-04 23:15:59 177

原创 Bellman-Ford 队列优化

#include &lt;iostream&gt;using namespace std;int n, m;int a[100][100], book[100], dis[100];const int INF = 0x3f3f3f3f;int main(){ int que[100]; int head, tail; cin&gt;&gt;n&gt;&gt;...

2018-03-04 23:14:50 214

原创 Bellman-Ford 扩展

#include &lt;iostream&gt;using namespace std;int n, m;int u[100], v[100], w[100], dis[100];const int INF = 0x3f3f3f3f;int check = 0, flag = 0;int main(){ cin&gt;&gt;n&gt;&gt;m; for(in...

2018-03-04 23:13:39 159

原创 Bellman-Ford 单源最短路径

#include &lt;iostream&gt;using namespace std;int u[100], v[100], w[100];const int INF = 0x3f3f3f3f;int dis[100];int main(){ int n, m; cin&gt;&gt;n&gt;&gt;m; for(int i=1; i&lt;=m; i...

2018-03-03 18:23:04 222

原创 Dijkstra 单源最短路径

Dijkstra单源最短路径#include &lt;iostream&gt;using namespace std;int a[100][100], book[100];int dis[100];const int INF = 0x3f3f3f3f;int main(){ int n, m;//n个顶点,m条边 cin&gt;&gt;n&gt;&gt;m; ...

2018-03-03 18:20:54 140

原创 Floyd 多源最短路径

Floyd多源最短路径#include &lt;iostream&gt; using namespace std;int main(){ int a[100][100]; int n, m;//n个顶点,m条边 const int INF = 0x3f3f3f3f; cin&gt;&gt;n&gt;&gt;m; for(int i=1; i&l...

2018-03-03 18:18:51 238

原创 HHUOJ_1054: 撸猫狂魔

HHUOJ_1054: 撸猫狂魔题目描述zyyyyy是一个二刺猿。虽然他没有九十八亿,但是他坚信可爱即正义,所以他特别喜欢撸猫。 今天他为了让猫乖乖的被撸带了很多很多猫粮,猫粮被摆成网格图,于是一大群白猫为了吃猫粮也成了网格图。 等它们吃的开心了zyyyyy就开始撸她们。当他撸某只猫的时候,这只猫所在的行和列的猫虽然在吃东西但还是会被吓得变色(白猫变黑猫,黑猫变白猫),而这只猫因为惊吓过度就变了

2017-11-25 22:15:00 493

原创 HHUOJ_1352: 幂字符串

HHUOJ_1352: 幂字符串题目描述给你一个字符串,请你判断将此字符串转化成a^n形式的最大的n是多少。 例如:abcd=(abcd)^1,则n=1; aaaa=a^4,则n=4; ababab=(ab)^3,则n=3。输入输入包含多组测试数据。每组输入为一个字符串,长度不超过100,其中不包含空格等空白符。当输入为一个“.”时,输入结束。输出对于每组输

2017-11-24 22:42:01 1000 1

原创 HHUOJ_1350: 破译邮件

HHUOJ_1350: 破译邮件题目描述小明收到了一封很奇怪的邮件,里面全是一些符号和数字,但是信上面给出了破译方法,具体方法如下: (1)将1变为‘A’,2变为‘B’,…,26变为‘Z’; (2)将‘#’变为一个空格; (3)忽略‘-’,原始信件中‘-’仅仅用来分割数字。 现请你编程帮助小明破译这封邮件。输入输入的第一行为一个整数C,表示测试数据的组数。 接下来C行,每行输入一个待破译的

2017-11-24 18:37:45 1085

原创 HHUOJ_1349: 分割排序

HHUOJ_1349: 分割排序题目描述输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。 你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。输入输入包含多组测试数据。每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不

2017-11-24 15:46:30 341

原创 HHUOJ_1345: 讨厌的小数点

HHUOJ_1345: 讨厌的小数点题目描述小明一直很讨厌小数点,一看到小数点就头疼。不幸的是,小红给他出了一个题目,问他: 给你一个小数x,你能算出小数点后第n位是什么吗?(1<=n<=6) 小明看到此题后,瞬间头疼晕倒,你能帮帮他吗?输入首先输入一个t,表示有t组数据,跟着t行: 每行输入一个小数(输入数据保证一定是a.b的形式,为了简单化问题,没有循环小数的情况), 然后跟一个n,表示

2017-11-23 22:51:20 642

原创 HHUOJ_1351: 相对分子质量

HHUOJ_1351: 相对分子质量题目描述小明最近迷上了化学,几乎天天在实验室做实验,但是很多实验生成的化学产物的相对分子质量令他很困惑,不知如何计算,请你编程帮他计算。输入输入的第一行是一个正整数n,表示有n组测试数据。 接下来n行每行输入一个字符串,表示某个分子式,分子式中只包含大写字母和数字。 注意: 输入数据只包含8种元素,而这8种元素的相对原子质量如下: H(1),C(12),N

2017-11-20 19:43:15 1593

原创 HHUOJ_1337: 18岁生日

HHUOJ_1337: 18岁生日题目描述小明的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。输入输入的第一行是一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。输

2017-11-18 16:46:55 633

原创 HHUOJ_1331: 时钟

HHUOJ_1331: 时钟题目描述有一个标准的12小时时钟,它有一个时针,一个分针。现问你,在给定的两个时刻之间分针与时针相遇几次?输入输入包含多组测试数据。每组输入包含4个整数,前两个数字分别表示起始时刻的小时和分,后两个数字分别表示结束时刻的小时和分。 小时数在[1,12]内,分钟数在[0,59]内。 注意: 1)输入中的起始和结束时刻均不会出现时针和分针恰好相遇的情况...

2017-11-17 23:01:39 1039

原创 HHUOJ_1003: 数字整除

HHUOJ_1003: 数字整除题目描述定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍。当且仅当差是17的倍数时,原数也是17的倍数 。例如,34是17的倍数,因为3-20=-17是17的倍数;201不是17的倍数,因为20-5=15不是17的倍数。输入一个正整数n,你的任务是判断它是否是17的倍数。输入输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(

2017-11-16 13:33:45 492

原创 HHUOJ_1004: 台球碰撞

HHUOJ_1004: 台球碰撞题目描述在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形。有一个球心在(x,y),半径为R的圆形母球放在台球桌上(整个球都在台球桌内)。受撞击后,球沿极角为a的射线(即:x正半轴逆时针旋转到此射线的角度为a)飞出,每次碰到球桌时均发生完全弹性碰撞(球的速率不变,反射角等于入射角)。如果球的速率为v,s个时间单位之后球心在什么地方?输入输入文

2017-11-16 13:22:45 492

原创 HHUOJ_1322: 挂盐水

HHUOJ_1322: 挂盐水题目描述挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下…,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢?输入输入数据包含多个测试实例,每个实例占一行,由VUL和D组成,其中 0<D<VUL<5000。输出对

2017-11-16 13:17:07 405

原创 HHUOJ_1327: 电子钟

HHUOJ_1327: 电子钟题目描述电子钟用四个数字来表示时间,每个数字的尺寸为3*3,用于表示数字的字符包括‘|’、‘_’和空格。 现在给你当前的时间,请你告诉我们电子钟是如何展示这个时间的。电子钟显示的数字样式如下: _ _ _ _ _ _ _ _ | _| _||_||_ |_ ||_||_|| | ||_ _| | _||_| ||_| _|

2017-11-16 12:59:56 707

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除