25 GUC-A

题目描述

因为 151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151 是回文质数。

写一个程序来找出范围 [a,b](5a<b100,000,000)[a,b] (5 \le a < b \le 100,000,000)(一亿)间的所有回文质数。

输入格式

第一行输入两个正整数 aabb

输出格式

输出一个回文质数的列表,一行一个。

5 500

5
7
11
101
131
151
181
191
313
353
373
383

25 GUC-B

Description

有$n$个小伙伴(编号从0到$n-1$)围坐一圈玩游戏。按照顺时针方向给$n$个位置编号,从$0$到$n-1$。最初,第0号小伙伴在第0号位置,第1号小伙伴在第1号位置,……,依此类推。

游戏规则如下:每一轮第$0$号位置上的小伙伴顺时针走到第$m$号位置,第1号位置小伙伴走到第$m+1$号位置,……,依此类推,第$n−m$号位置上的小伙伴走到第0号位置,第$n-m+1$号位置上的小伙伴走到第1号位置,……,第$n-1$号位置上的小伙伴顺时针走到第$m-1$号位置。

现在,一共进行了$10^k$ 轮,请问x号小伙伴最后走到了第几号位置。

Input Format

输入共1行,包含4个整数n、m、k、x,每两个整数之间用一个空格隔开。

Output Format

输出共1行,包含1个整数,表示$10^k$轮后$x$号小伙伴所在的位置编号。

10 3 4 5
5

Hint

数据范围:$0<n<10^6,0<m<n,0<x<=n,0<k<10^9$

25 GUC-C

Description

很久很久以前,森林里住着一群兔子。

有一天,兔子们想要研究自己的 DNA 序列。

我们首先选取一个好长好长的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 $26​$ 个小写英文字母)。

然后我们每次选择两个区间,询问如果用两个区间里的 DNA 序列分别生产出来两只兔子,这两个兔子是否一模一样。

注意两个兔子一模一样只可能是他们的 DNA 序列一模一样。

Input Format

第一行输入一个 DNA 字符串 $S$。

第二行一个数字 $m$,表示 $m$ 次询问。

接下来 $m$ 行,每行四个数字 $l_1, r_1, l_2, r_2$,分别表示此次询问的两个区间,注意字符串的位置从 $1$ 开始编号。

Output Format

对于每次询问,输出一行表示结果。

如果两只兔子完全相同输出Yes,否则输出No(注意大小写)。

aabbaabb
3
1 3 5 7
1 3 6 8
1 2 1 2
Yes
No
Yes

Hint

数据范围

$1 \le length(S),m \le 1000000$

25 GUC-D

题目描述

奶牛们灰常享受在牛栏中哞叫,因为她们可以听到她们哞声的回音。虽然有时候并不能完全听到完整的回音。Bessie曾经是一个出色的秘书,所以她精确地纪录了所有的哞叫声及其回声。她很好奇到底两个声音的重复部份有多长。

输入两个字符串(长度为1到80个字母),表示两个哞叫声。你要确定最长的重复部份的长度。两个字符串的重复部份指的是同时是一个字符串的前缀和另一个字符串的后缀的字符串。

我们通过一个例子来理解题目。考虑下面的两个哞声:

    moyooyoxyzooo
yzoooqyasdfljkamo

</p>

第一个串的最后的部份"yzooo"跟第二个串的第一部份重复。第二个串的最后的部份"mo"跟第一个串的第一部份重复。所以"yzooo"跟"mo"都是这2个串的重复部份。其中,"yzooo"比较长,所以最长的重复部份的长度就是5。

输入格式

两行: 每一行是1个字符串表示奶牛的哞声或它的回声。

 

输出格式

第一行: 包含一个单独的整数表示输入的2个字符串中,一个字符串的前缀和另一个字符串的后缀的最长的重复部份的长度。

abcxxxxabcxabcd
abcdxabcxxxxabcx
11
"abcxxxxabcx"是第一个字符串的前缀和第二个字符串的后缀。

25 GUC-E

说明

春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi

在搭建开始之前,没有任何积木(可以看成n块高度为0的积木)。接下来每次操作,小朋友们可以选择一段连续区间[L, R],然后将第L块到第R块之间(含第L块和第R块)所有积木的高度分别增加1。

小M是个聪明的小朋友,她很快想出了建造大厦的最佳策略,使得建造所需的操作次数最少。但她不是一个勤于动手的孩子,所以想请你帮忙实现这个策略,并求出最少的操作次数。


输入格式

每组输入数据包含两行,第一行包含一个整数n,表示大厦的宽度。

第二行包含n个整数,第i个整数为hi


数据规模:

其中一种可行的最佳方案,依次选择 [1, 5] [1, 3] [2, 3] [3, 3] [5, 5]

对于30%的数据,有1≤n≤10;

对于70%的数据,有1≤n≤1000;

对于100%的数据,有1≤n≤100000,0≤hi≤10000。


输出格式

每组输出仅一行,即建造所需的最少操作数。


下面是对样例数据的解释:

其中一种可行的最佳方案,依次选择

[1, 5]  [1, 3]  [2, 3]  [3, 3]  [5, 5]


样例

5
2 3 4 1 2
5

25 GUC-F

题目描述

农民约翰的母牛总是产生最好的肋骨。你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们。农民约翰确定他卖给买方的是真正的质数肋骨,是因为从右边开始切下肋骨,每次还剩下的肋骨上的数字都组成一个质数,举例来说: 7 3 3 1 全部肋骨上的数字 7331是质数;三根肋骨 733是质数;二根肋骨 73 是质数;当然,最后一根肋骨 7 也是质数。 7331 被叫做长度 4 的特殊质数。写一个程序对给定的肋骨的数目 N (1<=N<=8),求出所有的特殊质数。数字1不被看作一个质数。

输入格式:

单独的一行包含N。

输出格式:

按顺序输出长度为 N 的特殊质数,每行一个。

输入样例#1:

4  

输出样例#1:

2333  
2339  
2393  
2399  
2939  
3119  
3137  
3733  
3739  
3793  
3797  
5939  
7193  
7331  
7333  
7393  

25 GUC-G

Description

达达学会了使用扑克 DIY 占卜。

方法如下:

一副去掉大小王的扑克共 $52$ 张,打乱后均分为 $13$ 堆,编号 $1 \sim 13$,每堆 $4$ 张,其中第 $13$ 堆称作“生命牌”,也就是说你有 $4$ 条命。

这里边,$4$ 张 $K$ 被称作死神。

初始状态下,所有的牌背面朝上扣下。

流程如下:

1.抽取生命牌中的最上面一张(第一张)。

2.把这张牌翻开,正面朝上,放到牌上的数字所对应编号的堆的最上边。(例如抽到 $2$,正面朝上放到第 $2$ 堆牌最上面,又比如抽到 $J$,放到第 $11$ 堆牌最上边,注意是正面朝上放)

3.从刚放了牌的那一堆最底下(最后一张)抽取一张牌,重复第 $2$ 步。(例如你上次抽了 $2$,放到了第二堆顶部,现在抽第二堆最后一张发现是 $8$,又放到第 $8$ 堆顶部.........)

4.在抽牌过程中如果抽到 $K$,则称死了一条命,就扔掉 $K$ 再从第 $1$ 步开始。

5.当发现四条命都死了以后,统计现在每堆牌上边正面朝上的牌的数目,只要同一数字的牌出现 $4$ 张正面朝上的牌(比如 $4$ 个 $A$),则称“开了一对”,当然 $4$ 个 $K$ 是不算的。

6.统计一共开了多少对,开了 $0$ 对称作”极凶”,$1 \sim 2$ 对为“大凶”,$3$ 对为“凶”,$4 \sim 5$ 对为“小凶”,$6$ 对为“中庸”,$7 \sim 8$ 对“小吉”,$9$ 对为“吉”,$10 \sim 11$ 为“大吉”,$12$ 为“满堂开花,极吉”。

Input Format

一共输入 $13$ 行数据,每行四个数字或字母,表示每堆牌的具体牌型(不区分花色只区分数字),每堆输入的顺序为从上到下。

为了便于读入,用 $0$ 代表 $10$。

同行数字用空格隔开。

Output Format

输出一个整数,代表统计得到的开出的总对数。

8 5 A A
K 5 3 2
9 6 0 6
3 4 3 4
3 4 4 5
5 6 7 6
8 7 7 7
9 9 8 8
9 0 0 0
K J J J
Q A Q K
J Q 2 2
A K Q 2
9

25 GUC-H

说明


  在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多。可是一段时间观察下来,阮小二发现自己账户的钱增长好慢啊,碰到节假日的时候连个铜板都没进,更郁闷的是这些天分文不进就算了,可恨的是银行这几天还有可能“落井下石”(代扣个人所得税),看着自己账户的钱被负增长了,阮小二就有被割肉的感觉(太痛苦了!),这时阮小二最大的愿望无疑是以最快的速度日进斗金,可什么方法能够日进斗金呢?抢银行(老本行)?不行,太危险,怕有命抢没命花;维持现状?受不了,搂钱太慢了!想来想去,抓破脑袋之后,终于想到了能快速发家致富的法宝----买彩票,不但挣了钱有命花,运气好的话,可以每天中他个几百万的,岂不爽哉!抱着这种想法,阮小二开始了他的买彩票之旅。想法是“好的”(太天真了OR 太蠢了),可是又发现自己的数学功底太差,因为不知道数字都有哪些组合排列?那现在就请同学们写个递归程序,帮助阮小二解决一下这个问题吧!

输入格式

输入描述:
  不超过6位数的正整数N,注意:构成正整数N的数字可重复
输入样例:
123

输出格式


输出描述:
  组成正整数N的所有位数的全排列,这些排列按升序输出,每个排列占一行。

注意:输出数据中不能有重复的排列
输出样例:
123
132
213
231
312
321

样例

参考上文 
参考上文

提示

HINT:时间限制:1.0s 内存限制:512.0MB