牛客小白月赛65
题 A
题A
牛牛带着 n 元钱去超市买东西,超市一共只有两款商品,
价格为 a 元的篮球和价格为 b 元的足球,
牛牛想把手里的钱尽可能花光,请问牛牛最少能剩多少钱?
输入一行,三个正整数 n,a,b(1 <= n,a,b <= 1000)n,a,b(1≤n,a,b≤1000),
n 表示牛牛现有的钱数,a 表示一个篮球的单价,b 表示一个足球的单价。
输出一行一个整数,代表牛牛最少能剩下的钱数。
- 案例
1
2
3
4输入
7 5 3
输出
1
考虑太多反而错了
1 | import java.util.Scanner; |
语言:Java 代码长度:390 运行时间: 44 ms 占用内存:10572K
1 | import java.util.*; |
题 B
题 B
牛牛给牛妹写了一封情书(仅包含小写字母aa到zz),但是被牛可乐截获了,由于牛可乐也喜欢牛妹,所以往这份情书里增加了许多数字和特殊字符(也可以不加),最后收到情书的牛妹想知道原本的情书是否包含某个字符串 kk。如果包含则输出 YES,否则输出 NO。
包含指 kk 是原本情书的子串,子串即任意连续的字符构成的子字符串,
例如对于字符串 abcdefgabcdefg,” abdabd “,” acgacg “,” afeafe” 不是该字符串的子串,” abcabc “,” cdecde “是该字符串的子串。
牛可乐添加的数字和特殊字符仅包含以下这些:1
0123456789+-*|,.~!@#$%^&()[]{}'";:?<>/\
输入描述:
第一行输入两个正整数 n,m(1≤n,m≤5×10^3) ,
n 表示字符串 s 的长度,m 表示字符串 k 的长度。
第二行输入一个字符串 s ,代表牛妹最后收到的情书。
第三行输入一个字符串 k ,代表牛妹想知道原本的情书是否包含的单词。
保证 s 和 k 中都不包含空格。
输出一行一个YES或者NO代表答案。
- 案例
1
2
3
4
5
6输入:
25 4
niu1niun\|olo5ve,ni+um/ei
love
输出:
YES
语言:Java 代码长度:750 运行时间: 129 ms 占用内存:13852K
1 | import java.util.Scanner; |
语言:Java 代码长度:519 运行时间: 69 ms 占用内存:11496K
1 | import java.util.*; |
题 C
题 C
有 n 个人排队,1 号排在 2 号前面,2 号排在 3 号前面,…,以此类推 n-1 号排在
n 号前面。在这个过程中,偶尔老师会把某个人叫走,叫走之后这个人就离开了队伍,
假设本来 a 排在 b 前面,b 排在 c 前面,b 被叫走后 a 就排在了 c 前面。
老师偶尔也会感到疑问,她想知道此时排在 a 号前面的同学是几号呢?
已知老师一共会有 k 次操作,每次会执行下面的一种:
- 把 x 叫走。
- 求排在 x 前面的是谁。输入描述:
第一行输入两个正整数 n,k(1≤n,k≤10^6) 。
n 表示排队人数,k 表示老师的操作次数。
接下来 k 行,每行包含 2 个整数,表示一个操作,具体如下:
1 x :把 x 叫走,保证此时 x 一定在队伍里
2 x :输出排在 x 前面的人的编号,保证此时 x 一定在队伍里,如果没有人排在 x 前面,输出 0 。(1≤x≤n)输出:5 4
2 1
1 3
2 5
2 40
4
2
- 说明 只输出执行2的结果
- 1 3 移除 3 需要判断3在队列中
- 2 5 输出 5 前面的数值
语言:Java 代码长度:833 运行时间: 2962 ms 占用内存:117724K
1 | import java.util.*; |
题 D
题 D
牛牛和牛妹在玩游戏,他们的游戏规则是这样的:
一共有两堆石子,第一堆有 a 个,第二堆有 b 个,
牛牛和牛妹轮流取石子,牛牛先手,每次取石子的时候只能从以下 2
种方案种挑一种来取(对于选择的方案数必须保证当前石子 ≥ 取的石子个数才能取):
- 第一堆取 1 个,第二堆取 2 个
- 第一堆取 2 个,第二堆取 1 个
谁先无法取石子,谁就输了。假设牛牛和牛妹都很聪明,请问谁会获胜?
输入描述:输出描述:第一行输入一个正整数 T(1≤T≤10^5) ,代表数据组数。
接下来 T 行,每行输入两个整数 a,b(1≤a,b≤10^18) 代表两堆石子的数量。实例:对于每组数据,输出一行,代表胜利者的名字
(牛牛获胜输出niuniu,牛妹获胜输出niumei)。1
2
3
4
5
6
7输入:
2
1 2
3 3
输出:
niuniu
niumei
仔细思考题目可以发现,牛妹可以让石子数量始终减3
当石子数量是3的倍数时,牛牛先手的话,始终是牛妹赢
特殊情况,当两堆石子相同时,牛牛可以先拿一堆的第一个从而使牛妹成为先手
1 | import java.util.Scanner; |
众所周知IO是最影响性能的因素,不使用java提供的输出和输入
自己写输入输出的IO流
1 | import java.io.*; |