方格填数(JAVA)
题目:本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
如下的 10个格子
+–+–+–+ | | | |+–+–+–+–+| | | | |+–+–+–+–+| | | |+–+–+–+
填入 0 ~ 9 的数字。要求:连续的两个数字不能相邻。 (左右、上下、对角都算相邻)
一共有多少种可能的填数方案?
运行限制
最大运行时间:1s
最大运行内存: 128M
代码:public class Main { static int sum=0; //存储结果 static int[][] nums=new int[5][6]; //用5行6列数组存储 static int[] vis=new int[10]; //记录0-9是否使用 public static void main(String[] args) { fuzhi(); dfs(1,2); //dfs入口 System.out.println(sum); ...
本质上升序列(JAVA)
题目:本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝特别喜欢单调递增的事物。
在一个字符串中,如果取出若干个字符,将这些字符按照在字符串中的顺序排列后是单调递增的,则成为这个字符串中的一个单调递增子序列。
例如,在字符串 lanqiao 中,如果取出字符 n 和 q,则 nq 组成一个单调递增子序列。类似的单调递增子序列还有 lnq、i、ano 等等。 小蓝发现,有些子序列虽然位置不同,但是字符序列是一样的,例如取第二个字符和最后一个字符可以取到 ao,取最后两个字符也可以取到 ao。小蓝认为他们并没有本质不同。
对于一个字符串,小蓝想知道,本质不同的递增子序列有多少个? 例如,对于字符串 lanqiao,本质不同的递增子序列有 21 个。它们分别是 l、a、n、q、i、o、ln、an、lq、aq、nq、ai、lo、ao、no、io、lnq、anq、lno、ano、aio。
请问对于以下字符串(共 200200 个小写英文字母,分四行显示):
tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhfiadgd ...
蓝肽子序列(JAVA)
题目:L 星球上的生物由蛋蓝质组成,每一种蛋蓝质由一类称为蓝肽的物资首尾连接成一条长链后折叠而成。
生物学家小乔正在研究 L 星球上的蛋蓝质。她拿到两个蛋蓝质的蓝肽序列,想通过这两条蓝肽序列的共同特点来分析两种蛋蓝质的相似性。
具体的,一个蓝肽可以使用 1 至 5 个英文字母表示,其中第一个字母大写,后面的字母小写。一个蛋蓝质的蓝肽序列可以用蓝肽的表示顺序拼接而成。
在一条蓝肽序列中,如果选取其中的一些位置,把这些位置的蓝肽取出,并按照它们在原序列中的位置摆放,则称为这条蓝肽的一个子序列。蓝肽的子序列不一定在原序列中是连续的,中间可能间隔着一些未被取出的蓝肽。
如果第一条蓝肽序列可以取出一个子序列与第二条蓝肽序列中取出的某个子序列相等,则称为一个公共蓝肽子序列。
给定两条蓝肽序列,找出他们最长的那个公共蓝肽子序列的长度。
输入描述输入两行,每行包含一个字符串,表示一个蓝肽序列。字符串中间没有空格等分隔字符。
其中有 ,两个字符串的长度均不超过 1000。
输出描述输出一个整数,表示最长的那个公共蓝肽子序列的长度。
输入输出样例示例
输入
LanQiaoBeiLanTaiXiaoQia ...
左移右移(JAVA)
题目:小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,…N 。
之后小蓝对这个数组进行了 M 次操作, 每次操作可能是以下 2 种之一:
左移 x, 即把 x 移动到最左边。
右移 x, 即把 x 移动到最右边。
请你回答经过 M 次操作之后, 数组从左到右每个数是多少?
输入格式第一行包含 2 个整数, N 和 M 。
以下 M 行每行一个操作, 其中 L表示左移 x, R 表示右移 x 。
输出格式输出 N 个数, 代表操作后的数组。
样例输入
5 3L 3L 2R 1
样例输出
2 3 4 5 1
样例说明样例中的数组变化如下:
[1,2,3,4,5]→[3,1,2,4,5]→[2,3,1,4,5]→[2,3,4,5,1]
评测用例规模与约定对于 50% 的评测用例, 1≤N,M≤10000.
对于 100% 的评测用例, 1≤N,M≤200000,1≤x≤N.
运行限制最大运行时间:3s最大运行内存: 512M
初始代码:import java.util.Scanner; public class Main { public stat ...
重合次数(JAVA)
题目:在同一天中, 从上午 6 点 13 分 22 秒到下午 14 点 36 分 20 秒, 钟表上的 分针和秒针一共重合了多少次?
注意时针、分针、秒针都围绕中心敳匀速运动。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。
运行限制
最大运行时间:1s
最大运行内存: 512M
代码:public class Main { public static void main(String[] args) { int h=6,m=13,s=22; int sum=0; while(true){ if (h==14&&m==36&&s==20){ break; } if (m==s){ sum++; } ...
回文日期(JAVA)
题目:2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。
有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。
也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日。算不上 “千年一遇”,顶多算 “千年两遇”。
给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。
输入描述输入包含一个八位整数 N,表示日期。
对于所有评测用例,10000101≤N≤89991231,保证 N 是一个合法日期的 8 位数表示。
输出描述输出两行,每行 1 个八位数。第一行表示下一 ...
七段码(JAVA)
题目:本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝要用七段码数码管来表示一种特殊的文字。
上图给出了七段码数码管的一个图示,数码管中一共有 77 段可以发光的二 极管,分别标记为 a,b,c,d,e,f,g。
小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。
例如:b 发光,其他二极管不发光可以用来表达一种字符。
例如 c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上 一行的方案可以用来表示不同的字符,尽管看上去比较相似。
例如:a,b,c,d,e 发光,f,g 不发光可以用来表达一种字符。
例如:b,f 发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。
请问,小蓝可以用七段码数码管表达多少种不同的字符?
运行限制最大运行时间:1s最大运行内存: 128M
代码:import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改 public class Main { static ...
最优清零方案(JAVA)
题目:给定一个长度为 N 的数列 A1,A2,⋯,AN 。现在小蓝想通过若干次操作将 这个数列中每个数字清零。
每次操作小蓝可以选择以下两种之一:
选择一个大于 0 的整数, 将它减去 1 ;选择连续 K 个大于 0 的整数, 将它们各减去 1 。小蓝最少经过几次操作可以将整个数列清零?
输入格式输入第一行包含两个整数 N 和 K 。
第二行包含 N 个整数 A1,A2,⋯,AN 。
输出格式输出一个整数表示答案。
样例输入
4 21 2 3 4
样例输出
6
评测用例规模与约定对于 20 %20% 的评测用例,1≤K≤N≤10 。
对于 40 %40% 的评测用例, 1≤K≤N≤100 。
对于 50 %50% 的评测用例, 1≤K≤N≤1000 。
对于 60 %60% 的评测用例, 1≤K≤N≤10000 。
对于 70 %70% 的评测用例, 1≤K≤N≤100000 。
对于所有评测用例, 1≤K≤N≤1000000,0≤Ai≤1000000 。
运行限制最大运行时间:15s最大运行内存: 512M
代码:import java.util.Scanner; impor ...
全排列的价值(JAVA)
题目:对于一个排列 A=(a1,a2,⋯,an), 定义价值ci 为a1 至ai−1 中小于ai 的数 的个数, 即ci=∣{aj∣j<i,aj<ai}∣。
定义 A 的价值为 c_{i}∑i=1nci 。
给定 n, 求 1 至 n 的全排列中所有排列的价值之和。
输入格式输入一行包含一个整数 n 。
输出格式输出一行包含一个整数表示答案, 由于所有排列的价值之和可能很大, 请 输出这个数除以 998244353 的余数。
样例输入 1
3
样例输出 1
9
样例输入 2
2022
样例输出 2
593300958
样例说明1 至 3 构成的所有排列的价值如下:
(1,2,3):0+1+2=3
(1,3,2):0+1+1=2
(2,1,3):0+0+2=2
(2,3,1):0+1+0=1
(3,1,2):0+0+1=1
(3,2,1):0+0+0=0
故总和为 3+2+2+1+1=93+2+2+1+1=9 。
评测用例规模与约定对于 40% 的评测用例, n≤20;
对于 70% 的评测用例, n≤5000;
对于所有评测用例, 2≤n≤106 。
运 ...
GCD(JAVA)
题目:给定两个不同的正整数 a,b, 求一个正整数 k 使得 gcd(a+k,b+k) 尽可能 大, 其中 gcd(a,b) 表示 aa 和 bb 的最大公约数, 如果存在多个 k, 请输出所有满 足条件的 k 中最小的那个。
输入格式输入一行包含两个正整数 a,b, 用一个空格分隔。
输出格式输出一行包含一个正整数 k 。
样例输入5 7
样例输出1
评测用例规模与约定对于 20% 的评测用例,a<b≤105;
对于 40% 的评测用例, a<b≤109;
对于所有评测用例, 1≤a<b≤1018 。
运行限制最大运行时间:1s最大运行内存: 512M
代码:import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改 public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); long a,b; a=sc.next ...