牛客周赛
每日一句诗词
loading...
loading...
题 A
游游的7的倍数
游游拿到了一个正整数x,她希望在x中添加一个数字,使它成为7的倍数。你能帮帮她吗?
一个正整数x。
1 ≤ x ≤ 10^9
x添加一个数字后形成的数。请务必保证操作的合法性,且一定是7的倍数。如果有多解,输出任意一个合法解。可以证明,至少存在一个正确答案。
- 案例
1
2
3
4输入
1
输出
21
思路:每十个数里一定有至少一个7的倍数,因此枚举个位即可。
1 | import java.util.Scanner; |
题 B
游游的字母串
对于一个小写字母而言,游游可以通过一次操作把这个字母变成相邻的字母。’a’和’b’相邻,’b’和’c’相邻,以比类推。特殊的,’a’和’Z也是相邻的。可以认为,小写字母的相邻规侧为一个环。游游拿到了一个仅包含小写字母的字符串,她想知道,使得所有字母都相等至少要多少次操作?
一个仅包含小写字母,长度不超过100000的字符串。
一个整数,代表最小的操作次数。
- 案例
1
2
3
4
5
6
7
8输入
yab
输出
3
说明
第一次操作,把'y'变成'z',字符串变成了"zab"
第二次操作,把'b'变成'a',字符串变成了"zaa"
第三次操作,把'z'变成'a',字符串变成了"aaa"
思路:枚举将字符串中的所有字符变成某个字母所需的步数,取最小值即可。
1 | import java.util.Scanner; |
题 C
游游的水果大礼包
游游有个n苹果,m个桃子。她可以把2个苹果和1个桃子组成价值a元的一号水果大礼包,也可以把1个苹果和2个桃子组成价值b元的二号水果大礼包。游游想知道,自己最多能组成多少价值总和的大礼包?
四个正整数n,m,a,b用空格隔开。分别代表苹果的数量、桃子的数量、一号大礼包价值、二号大礼包价值。
1 ≤ n ,m ,a , b ≤ 10^9
一个整数,代表大礼包的最大价值总和。
- 案例
1
2
3
4
5
6输入
3 4 1 2
输出
4
说明
组成两个二号水果大礼包,使用了2个苹果和4个桃子。总价值为4。
思路:枚举第一个礼包打包的数量,那么第二个礼包打包的数量就可以算出来了。
1 | import java.util.*; |
题 D
游游的矩阵权值
游游定义一个矩阵权值为:每一对相邻元素之和的总和。
例如,对于短阵:
1 2
3 4
它的权值是(1+2)+(1+3)+(2+4)+(3+4)=3+4+6+7=20。
游游希望你构造一个n X n
的矩阵,矩阵中的元素为1到n^2且每个数恰好出现一次。
她希望最终矩阵的权值尽可能大。你能帮帮她吗?由于矩阵可能过大,你不需要输出最终的矩阵,只需要输出这个最大权值即可。答案对10e9十7取模。
一个正整数 n
2 <= n <= 10^9
矩阵权值的最大值,对10e9+7取模
- 案例
1
2
3
4输入
2
输出
20
思路:在矩阵角落的数字只会加两次,在边上的数字会加三次,在矩阵内部的数字会加四次。
这里可能需要费马小定律来求逆元
1 | import java.util.Scanner; |