记录下自己的答案,不知对错
答案: 318
填空题
问题描述
以下是一个 25 行 25 列的字母矩阵,全部由字母 A 和 B 组成。
AAAAAAABABBAABABABAAAAAAA
ABBBBBABBAABBBBBABABBBBBA
ABAAABABBBABAABBBBABAAABA
ABAAABABBBBBAABAABABAAABA
ABAAABABBABABBABABABAAABA
ABBBBBABBBABAABBBBABBBBBA
AAAAAAABABABABABABAAAAAAA
BBBBBBBBABAABABBBBBBBBBBB
AABAABABBAAABBAAABABBBBBA
ABBABABBBABBAAAABBBBAAAAB
BBBBAAABABAABABAABBBAABBA
BBAABABABAAAABBBAABBAAAAA
ABABBBABAABAABABABABBBBBA
AAAABBBBBABBBBAAABBBABBAB
AABAABAAABAAABAABABABAAAA
ABBBBBBBBABABBBBABAABBABA
ABBBAAABAAABBBAAAAAAABAAB
BBBBBBBBABBAAABAABBBABBAB
AAAAAAABBAAABBBBABABAABBA
ABBBBBABBAABABAAABBBABBAA
ABAAABABABBBAAAAAAAAAABAA
ABAAABABABABBBABBAABBABAA
ABAAABABBABBABABAABAABAAA
ABBBBBABABBBBBABBAAAABAAA
AAAAAAABAABBBAABABABBABBA
请问在这个矩阵中有多少个字母A?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int ans=0;
for(int i=1;i<=25;i++) {
String s=sc.next();
for(int j=0;j<s.length();j++) {
if(s.charAt(j)=='A')
ans++;
}
}
System.out.println(ans);
}
}
答案:564
如果一个整数的某个数位包含 2 ,则称这个数为一个“最2数字”。例如:102、2021 都是最2数字。
请问在 1(含) 到 2021(含) 中,有多少个最2数字。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int ans=0;
for(int i=1;i<=2021;i++) {
int t=i;
while(t>0) {
if(t%10==2) {
ans++;
break;
}
t/=10;
}
}
System.out.println(ans);//564
}
}
填空题
问题描述
有一个整数 A=2021,每一次,可以将这个数加 1 、减 1 或除以 2,其中除以 2 必须在数是偶数的时候才允许。
例如,2021 经过一次操作可以变成 2020、2022。
再如,2022 经过一次操作可以变成 2021、2023 或 1011。
请问,2021 最少经过多少次操作可以变成 1。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:14
和此题相似:https://blog.csdn.net/weixin_51995229/article/details/123169312
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<ArrayList> a = new ArrayList<>();
int i = 0;
ArrayList<Integer> aa = new ArrayList();
aa.add(2021);
a.add(aa);
while (true) {
// 循环结束条件,经过a.size()次操作得到1
for (int j = 0; j < a.get(i).size(); j++)
if (a.get(i).get(j) == Integer.valueOf(1)) {
System.out.println(a.size() - 1);// 需要减去初始数据2021所占用的一个位置
return;
}
ArrayList<Integer> t = new ArrayList();
for (int j = 0; j < a.get(i).size(); j++) {
int temp = (Integer) a.get(i).get(j);
t.add(temp + 1);// 加
if (temp % 2 == 0)// 如果可以除2
t.add(temp / 2);
t.add(temp - 1);// 减
}
a.add(t);
i++;
}
}
}
填空题
问题描述
对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。
例如,一个 4 行 5 列的螺旋矩阵如下:
1 2 3 4 5
14 15 16 17 6
13 20 19 18 7
12 11 10 9 8
请问,一个 30 行 30 列的螺旋矩阵,第 20 行第 20 列的值是多少?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案:819
参考:https://blog.csdn.net/maybe_ice/article/details/95674968
参考:https://blog.csdn.net/m0_57487901/article/details/123684040
问题描述
小蓝有一个插板,形状用一个 n * m 的01矩阵表示,0 表示板面,1 表示插孔。
小蓝还有一个插头,形状用一个 r * c 的01矩阵表示,0 表示没有伸出的部分,1 表示伸出的部分。插头伸出的部分必须插在插孔里面。
为了安全,插头插到面板上不能有任何部分超过插板边界(包括没有伸出的部分)。
插头和插板都不能旋转,也不能翻转。请求出插头插入插板的合理位置。
输入格式
输入的第一行包含两个整数 n, m。
接下来 n 行,每行一个长度为 m 的01串,表示插板的形状。
接下来一行包含两个整数 r, c。
接下来 r 行,每行一个长度为 c 的01串,表示插头的形状。
输出格式
如果插头没办法安全插入插板中,输出“NO”。否则输出两个数 a, b,表示插头的第 1 行第 1 列对应插板的第 a 行第 b 列。如果有多种情况满足要求,输出 a 最小的方案,如果 a 最小的方案有多个,输出在 a 最小的前提下 b 最小的方案。
样例输入
3 4
0110
0000
0000
3 3
000
010
000
样例输出
NO
样例说明
在插头不超出范围的前提下无法插入。
样例输入
4 7
1110100
1101111
0001111
0000011
2 3
111
011
样例输出
2 4
评测用例规模与约定
对于 50% 的评测用例,2 <= n, m, r, c <= 20。
对于所有评测用例,2 <= n, m, r, c <= 100。
和此题相似:https://blog.csdn.net/weixin_51995229/article/details/123626509
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] a = new int[n][m];
for (int i = 0; i < n; i++) {
String s = sc.next();
for (int j = 0; j < m; j++) {
a[i][j] = s.charAt(j) - '0';
}
}
int r = sc.nextInt();
int c = sc.nextInt();
int[][] b = new int[r][c];
for (int i = 0; i < r; i++) {
String s = sc.next();
for (int j = 0; j < c; j++) {
b[i][j] = s.charAt(j) - '0';
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (a[i][j] == b[0][0]) {
if (n - i > r && m - j > c) {//
int flag = 1;
for (int k = 0; k < r; k++) {
for (int l = 0; l < c; l++) {
if (b[k][l] == 1) {//需要插
if (a[i + k][j + l] != 1)//必须要有孔
flag = 0;
}
}
}
if (flag == 1) {
System.out.println((i+1) + " " + (j+1));
return;
}
}
}
}
}
System.out.println("NO");
}
}
问题描述
给定正整数 a, b, c,请问有多少个正整数,是其中至少两个数的约数。
输入格式
输入一行包含三个正整数 a, b, c。
输出格式
输出一行包含一个整数,表示答案。
样例输入
30 70 35
样例输出
6
样例说明
1、2、5、7、10、35满足条件。
评测用例规模与约定
对于 50% 的评测用例,1 <= a, b, c <= 1000000。
对于所有评测用例,a, b, c 不超过 10**12(10的12次方)。
//机器人判分系统要求必须如下规则:
// 1: 不能有package关键字
// 2: 类名必须是Main
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long a = sc.nextInt();
long b = sc.nextInt();
long c = sc.nextInt();
long max = Math.max(a, b);
max = Math.max(max, c);
long ans = 0;
for (int i = 1; i <= max; i++) {
int cnt = 0;
if (a % i == 0)
cnt++;
if (b % i == 0)
cnt++;
if (c % i == 0)
cnt++;
if (cnt >= 2) {
ans++;
}
}
System.out.println(ans);
}
}