【题解】跳格子2
【题目描述】
地面上有一排长度为n的格子1-n,每个格子上都有一个数xi,开始时你在位置0,每次你可以向前跳1-2格,然后取走格子上的数,直到跳到位置n+1。取走的数的和就是你的得分,现在你想知道你可能的最小得分是多少。
【输入描述】
}
【输出描述】
【样例输入】
3 1 1 1
【样例输出】
-29977
【题目描述】
地面上有一排长度为n的格子1-n,每个格子上都有一个数xi,开始时你在位置0,每次你可以向前跳1-2格,然后取走格子上的数,直到跳到位置n+1。取走的数的和就是你的得分,现在你想知道你可能的最小得分是多少。
【输入描述】
}
【输出描述】
【样例输入】
3 1 1 1
【样例输出】
-29977
【题目描述】
地面上有一排长度为n的格子1-n,每个格子上都有一个数xi,开始时你在位置0,每次你可以向前跳1-2格,然后取走格子上的数,直到跳到位置n+1。取走的数的和就是你的得分,现在你想知道你可能的最大得分是多少。
【输入描述】
【输出描述】
【样例输入】
3 1 1 1
【样例输出】
-9993
【题目描述】
设有由n(1≤n≤200)个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)≠b(j)(i≠j),若存在i1<i2<i3<…<ie 且有b(i1)<b(i2)<…<b(ie)则称为长度为e的不下降序列。程序要求,当原数列出之后,求出最长的不下降序列。
例如13,7,9,16,38,24,37,18,44,19,21,22,63,15。
例中13,16,18,19,21,22,63就是一个长度为7的不下降序列,同时也有7 ,9,16,18,19,21,22,63组成的长度为8的不下降序列。
【输入描述】
第一行为n,第二行为用空格隔开的n个整数。
【输出描述】
第一行为输出最大个数max。
第二行为max个整数形成的不下降序列,答案可能不唯一,输出一种就可以了。
【样例输入】
14 13 7 9 16 38 24 37 18 44 19 21 22 63 15
【样例输出】
max=8 7 9 16 18 19 21 22 63
【题目描述】
设有由n(1≤n≤200)个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)≠b(j)(i≠j),若存在i1<i2<i3<…<ie 且有b(i1)<b(i2)<…<b(ie)则称为长度为e的不下降序列。程序要求,当原数列出之后,求出最长的不下降序列的长度。
例如13,7,9,16,38,24,37,18,44,19,21,22,63,15。
例中13,16,18,19,21,22,63就是一个长度为7的不下降序列,同时也有7 ,9,16,18,19,21,22,63组成的长度为8的不下降序列。
【输入描述】
第一行为n,第二行为用空格隔开的n个整数。
【输出描述】
第一行为输出最大个数max
【样例输入1】
14 13 7 9 16 38 24 37 18 44 19 21 22 63 15
【样例输出1】
max=8
【样例输入2】
7 1 7 3 5 9 4 8
【样例输出2】
max=4
【题目描述】
给出充足的父子关系,请你编写程序找到某个人的最早的祖先。
规定每个人的名字都没有空格,且没有任意两个人的名字相同。最多可能有1000组父子关系,总人数最多可能达到50000人,家谱中的记载不超过30代。
【输入描述】
输入由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系中父亲只有一行,儿子可能有若干行;用#name的形式描写一组父子关系中的父亲的名字,用+name的形式描写一组父子关系中的儿子的名字,儿子的名字一定紧接着父亲的名字出现;
接下来用?name的形式表示要求该人的最早的祖先;(?name一定在父子关系描述结束之后出现)
最后用单独的一个$表示文件结束。
【输出描述】
按照输入文件的要求顺序,求出每一个要找祖先的人的祖先,格式:本人的名字+一个空格+祖先的名字+回车。
【样例输入】
#George +Rodney #Arthur +Gareth +Walter #Gareth +Edward ?Edward ?Walter ?Rodney ?Arthur $
【样例输出】
Edward Arthur Walter Arthur Rodney George Arthur Arthur
【题目描述】
小 T 和他的小伙伴们到 CZ 中学的创新实验班报到后的第一件事就是选班委,班主任 R 老师走上讲台宣布了选举办法,首先让全班 40 位同学依次上讲台做自我介绍,然后按照 职位一个一个依次进行选举,先选班长,再选学习委员……,选举办法是每人投一票,谁 的票数最高就选谁担任这个职位,最后围棋高手小 W 颇具大将风范被选为班长,学神小 Z 当选为学习委员那是众望所归,小 S 则有天生一副好嗓子,不但歌唱得好,并且能将多种 动物的叫声模仿得惟妙惟肖,因此当选为文体委员。小 T 同学在本次选举中负责计票,他 觉得手工计票太慢了,且容易出错,因此想请你编一个程序实现机器计票功能。这个程序 要能实现以下功能:全班共有 n 个同学,依次用 1 到 n 编号,共有 m 个人(包括班主任和 任课老师等)参与了投票,每张选票上写有一个同学的编号,得票最多的同学当选。
【输入描述】
输入数据第一行包含两个用空格隔开的正整数 n 和 m,其中 n≤200,m≤2000。
第二行有 m 个用空格隔开的不超过 n 的正整数,表示这 m 张选票上所写的编号。
【输出描述】
输出得票最多的那个同学的编号。如果同时有两名以上同学得票最多,输出编号最小的那个同学的编号。
【样例输入】
3 4 1 3 2 1
【样例输出】
1
【样例解释】
全班共有 3 位同学,共有 4 人进行了投票,其中有 2 人选了 1 号同学,选 2 号和 3 号
同学的都只有 1 人,最后 1 号同学得 2 票,2 号和 3 号同学各得 1 票,1 号同学得票最多, 当选班委。
【数据范围】
20%的数据满足:n≤3,m≤20
60%的数据满足:n≤100,m≤500
70%的数据满足:得票最多的同学是唯一的
100%的数据满足:n≤200,m≤2000
【题目描述】
校运会上,一共有N个参赛选手,已知N个选手的名字。然后老师告诉你M句话,话的内容是学生A与学生B在同一组里。如果学生A与学生B在同一组里,学生B与学生C也在同一组里,就说明学生A与学生C在同一组。
然后老师问你K句话,即学生X和学生Y是否在同一组里。若是,输出Yes,否则输出No。
【输入描述】
第一行N和M。
接下来N行输入每一个同学的名字。
再往下M行每行输入两个名字,且保证这两个名字都在上面 N行中出现过,表示这两个参赛选手在同一个组里。
接下来输入K。
最后输入K个老师的询问。
【输出描述】
对于每一个循环,输出Yes或者No
【样例输入】
10 6 Jack Mike ASDA Michel brabrabra HeHe HeHE papapa HeY Obama Jack Obama HeHe HeHE brabrabra HeHe Obama ASDA papapa Obama Obama HeHE 3 Mike Obama HeHE Jack papapa brabrabra
【样例输出】
No. Yes. Yes.
【数据范围】
2<=N<=2*10^4 1<=M<=10^6 1<=K<=10^6
【题目描述】
w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。
这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。
如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?
【输入描述】
第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<m,n<1000)。
接下来一行,一个整数k,表示下面还有k行数据(0<k<100000)
接下来k行,第2+k行两个整数a,b,表示编号为a的小格子和编号为b的小格子合根了。
格子的编号一行一行,从上到下,从左到右编号。
比如:5 * 4 的小格子,编号:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
【输出描述】
一行,表示有多少株?
【样例输入】
5 4 16 2 3 1 5 5 9 4 8 7 8 9 10 10 11 11 12 10 14 12 16 14 18 17 18 15 19 19 20 9 13 13 17
【样例输出】
5