1.匿名信:
题目描述
出于对社会现状的担忧,Alice 决定给市长写一封建议信,考虑到市长的暴脾气,Alice 最终还是决定匿名上书,为了保证自己的绝对神秘,她还会从当天的报纸上将一些单词(或字母)裁剪下来并重新组合,从而得到她想要上书的信件内容。
现在给出报纸中的内容,以及 Alice 想要上书的信件内容,请你判断 Alice 能否从当天的报纸中裁剪得到自己的信件内容?
输入格式
输入第一行,一个数字 T 表示多组数据
接下来 T 组数据,每组数据分两行:
第一行,一个由大小写字母,空格,数字,以及标点符号构成字符串s1,表示报纸上的文字内容。
第二行,一个由大小写字母,空格,数字,以及标点符号构成字符串 s2,表示 Alice 所需要的信件内容。
输出格式
输出共 T 行,每行一个 YES
或 NO
,表示 Alice 能否从报纸上的文字中裁剪得到自己所需的信件内容。
输入输出样例
输入 #1
4
How much U wanna risk?
ooooooooo!
Rage, rage, against the dying of the light.
right day.
Rage, rage, against the dying of the light.
right day or not.
abcdefg hijk
k j i h g f e d c b a
输出 #1
NO
YES
NO
YES
说明/提示
样例解释
对于第一组询问,报纸中不存在小写字母 o
,所以无法得到想要的信件内容。
对于第二组询问,报纸中可以找到组成信件内容的所有字母与标点符号,所以能够得到想要的信件内容。
对于第三组询问,无法找到两个小写字母 r
,所以无法得到想要的信件内容。
数据范围
对于100 % 的数据,保证s1,s2 的长度均不超过2*10^3,T≤10.
2.队列还原:
题目背景
七年级C班的同学们正在为即将到来的大型活动彩排。
题目描述
作为最基本的彩排项目,班主任需要将班里的n名同学排成一排,为了防止今天排好队明天同学们就忘了的情况出现,班主任给了每位同学一个编号ai,第一次彩排之后,每位同学只需要记住自己左边与右边同学的编号(自己的编号往往是记不住的),第二天再次彩排时就能正确还原出前一天的队形了。
时间到了第二天,不出意外的话果然就出现了意外。每一名同学都记住了昨天排队时自己的左右同学的编号,但已经忘记了自己的号码。现在你的任务是帮助可怜的班主任老师还原出昨天排队的队形。
输入格式
第一行一个整数n,表示班里一共有n名同学。
接下来的n行,每行两个整数l,r,表示每位同学记住的他的左右手同学的编号。
输出格式
输出仅一行,n个数字,从左至右表示第一天彩排时n位同学的编号。
输入输出样例
输入 #1
3
0 5
2 6
5 0
输出 #1
2 5 6
输入 #2
4
92 31
0 7
31 0
7 141
输出 #2
92 7 31 141
说明/提示
样例解释:
在样例II中
排在最左边的同学编号是92,左边没有人,右边同学的编号是7.
编号为7的同学左边同学编号92,右边同学编号为31
依此类推。
数据范围:
对于10%的数据,保证n≤2
对于30%的数据,保证每位同学的编号是1∼n的一个排列
对于70%的数据,保证n≤1000
对于100%的数据,保证n≤10^5, 每位同学的编号在1∼10^6范围内,并且每位同学的编号各不相同。
3.最大公约数:
题目描述
给出闭区间[a,b], 求该区间中所有数字的最大公约数。
输入格式
第一行一个整数T,表示T组测试数据。
接下来每行两个数字a,b表示闭区间[a,b]的左右端点。
输出格式
共T行,每行一个整数,表示区间内所有数字的最大公约数。
输入输出样例
输入 #1
2
1 2
9 9
输出 #1
1
9
说明/提示
数据范围:
对于20%的数据,保证a=b
对于50%的数据,保证1≤a,b≤10^7
对于100%的数据,保证T≤10^5,1≤a≤b≤10^100
4.硬币翻转:
题目描述
桌面上有n枚硬币,你可以将一枚硬币翻转过来,该操作会连带将这枚硬币左右两边相邻的硬币也一起翻转。
譬如现有5枚硬币,分别为
正 反 反 正 正
面朝上的状态,翻转第二枚硬币会将左右两边第一枚、第三枚硬币一起翻转过来,变成
反 正 正 正 正
需要注意的是如果你翻转的是最边上的硬币的话,那么只会翻转两枚硬币。
现在轮到你来玩这个硬币翻转游戏了,请问你是否能够将这n枚硬币全部翻转到正面朝上的状态?
输入格式
输入有多组数据:
第一行,一个整数T,表示一共有T组测试数据
接下来每一组数据,先输入一个n,表示有n枚硬币,接下来n个数字(0或1),数字0表示改硬币反面朝上,1表示正面朝上。
输出格式
输出一共T行,每行回答一个Yes或者No,表示你是否能够将这n个硬币全部翻转到正面朝上的状态。
输入输出样例
输入 #1
3
3
0 1 0
4
0 0 0 0
5
1 0 0 0 0
输出 #1
Yes
Yes
No
说明/提示
样例解释:
对于第一个样例,执行翻转操作如下:
0 1 0 翻转第一枚硬币
1 0 0 翻转第三枚硬币
1 1 1 全部硬币正面朝上
对于第二个样例,执行翻转操作如下:
0 0 0 0 翻转第一枚硬币
1 1 0 0 翻转第四枚硬币
1 1 1 1 全部硬币正面朝上
对于第三个样例,无论如何执行操作都无法将所有硬币都翻转至正面朝上的状态。
数据范围:
对于20%的数据,保证硬币初始都是反面朝上
对于50%的数据,保证n≤10
对于100%的数据,保证T≤10,n≤1000
5. 深蓝的晚餐:
题目描述
蓝鲸深蓝作为海洋食物链的顶端,最喜爱的食物却是海里的磷虾。
充满智慧的它发现在南极附近的磷虾为了生存,演化出了一种奇妙的行动策略:一个磷虾族群有n只磷虾,这n只磷虾在最开始时各自独立行动,然后在一段时间后它们就会开始抱团行动,如果两个磷虾小队发现它们的数量一样多,就会合并为一个磷虾小队一起行动。一段时间后,这n只磷虾就合并出了若干个数量各不相同的磷虾小队。
经过了这一段时间的观察与研究,现在深蓝要开始进食了,由于磷虾们合并成了不同的磷虾小队,深蓝决定从数量最小的那一队开始进食,并决定每天只吃一队磷虾。
请问在接下来的k天内,深蓝一共可以吃掉多少只磷虾?
输入格式
输入仅一行,两个数字n,k,表示最初有n只磷虾,以及接下来会有k天时间。
输出格式
一个数字,表示深蓝接下来k天会吃掉多少只磷虾。
输入输出样例
输入 #1
6 1
输出 #1
2
输入 #2
13 2
输出 #2
5
输入 #3
47 3
输出 #3
7
说明/提示
样例解释:
对于样例1:初始的6只磷虾会分为两队,分别有4只磷虾,2只磷虾。所以第一天吃掉2只磷虾;
对于样例2:初始13只磷虾会氛围三队,分别有8只磷虾,4只磷虾,1只磷虾。所以前两天吃掉1+4 = 5只磷虾。
数据范围:
对于30%的数据,保证n≤20,k≤5
对于60%的数据,保证n≤10^9,k≤40
对于100%的数据,保证n≤10^18,k≤100