闲来无事水一期比赛
选择题
这里主要给出题目,并不包含正确答案。
第一题
第二题
第三题
第四题
第五题
第六题
第七题
第八题
第九题
第十题
第十一题
第十二题
第十三题
第十四题
第十五题
编程题
答案仅供参考!
第一道:
思路:模拟
实现:
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int ans = 0;
if (a % 2 == 0) {
for (int i = 2; i <= a; i += 2) {
int t = 0;
for (int j = 0; j < i; j++) {
t *= 10;
t += a;
}
ans += t;
}
} else {
for (int i = 1; i <= a; i += 2) {
int t = 0;
for (int j = 0; j < i; j++) {
t *= 10;
t += a;
}
ans += t;
}
}
System.out.println(ans);
}
}
第二题:
思路: 模拟
实现:
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String nums1 = scanner.next();
String nums2 = scanner.next();
if (nums1.length() != nums2.length() && nums1.length() != 3 && nums2.length() != 3) {
System.out.println(2);
return;
}
if (nums1.length() == 3 && nums2.length() != 3) {
System.out.println(1);
return;
}
if (nums2.length() == 3 && nums1.length() != 3) {
System.out.println(-1);
return;
}
HashMap<String, Integer> order = new HashMap<>();
int val = 1;
order.put("3", val++);
order.put("4", val++);
order.put("5", val++);
order.put("6", val++);
order.put("7", val++);
order.put("8", val++);
order.put("9", val++);
order.put("T", val++);
order.put("J", val++);
order.put("Q", val++);
order.put("K", val++);
order.put("A", val++);
order.put("2", val++);
String st1 = String.valueOf(nums1.charAt(0)), st2 = String.valueOf(nums2.charAt(0));
int v1 = order.get(st1), v2 = order.get(st2);
if (nums1.length() == 3) {
if (v1 == v2) {
System.out.println(0);
} else if (v1 > v2) {
System.out.println(1);
} else {
System.out.println(-1);
}
} else {
if (st1.equals("2") && st2.equals("2")) {
System.out.println(0);
return;
} else if (st1.equals("2")) {
System.out.println(1);
return;
} else if (st2.equals("2")) {
System.out.println(-1);
return;
}
if (Math.abs(v1 - v2) != 1) {
System.out.println(2);
return;
}
if (v1 == v2) {
System.out.println(0);
} else if (v1 > v2) {
System.out.println(1);
} else {
System.out.println(-1);
}
}
}
}
第三题:
思路:动态规划(01背包问题)
实现:
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[][] nums = new int[][]{
{2, 3},
{3, 3},
{2, 4},
{3, 5},
{5, 4},
{2, 1},
{2, 2},
};
int[] record = new int[n + 1];
for (int i = 0; i < nums.length; i++) {
for (int j = n; j >= nums[i][0]; j--) {
record[j] = Math.max(record[j], record[j - nums[i][0]] + nums[i][1]);
}
}
System.out.println(record[n]);
}
}
第四题:
思路:模拟
实现:文章来源:https://www.toymoban.com/news/detail-723137.html
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.next();
int len = str.length();
if (len < 8) {
System.out.println("NG");
} else {
HashSet<Integer> record = new HashSet<>();
for (int i = 0; i < len; i++) {
char c = str.charAt(i);
if (c >= 'A' && c <= 'Z') {
record.add(1);
} else if (c >= 'a' && c <= 'z') {
record.add(2);
} else if (c >= '0' && c <= '9') {
record.add(3);
} else {
record.add(4);
}
if (record.size() == 1) {
System.out.println("NG");
} else if (record.size() == 2) {
System.out.println("MG");
} else if (record.size() == 3) {
System.out.println("VG");
} else {
System.out.println("EG");
}
}
}
}
}
小尾巴:本次分享只为广大网友更好的学习。
若有侵权或一些不良行为,请联系本人第一时间删除!文章来源地址https://www.toymoban.com/news/detail-723137.html
到了这里,关于2022全国高校计算机能力挑战赛【初赛Java组】真题(选择+编程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!