米哈游9.14第三题忏悔录,呜呜
//第三题
import java.util.*;
public class Main {
static int sum = 0;
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] s = scanner.nextLine().split(" ");
int n = Integer.parseInt(s[0]);
int m = Integer.parseInt(s[1]);
ArrayList<Integer[]> integers = new ArrayList<>();
for (int i = 0; i < n - 1; i++) {
s = scanner.nextLine().split(" ");
Integer[] integers1 = new Integer[2];
integers1[0] = Integer.parseInt(s[0]);
integers1[1] = Integer.parseInt(s[1]);
integers.add(integers1);
}
DFS(integers, m, 0, 0);
System.out.println(sum);
}
//找到树结构归就完事了,怪我最近LC刷的少了,手又生疏了,加油,秋招必胜
private static int DFS(ArrayList<Integer[]> integers, int m, int fu, int it) {
ArrayList<Integer> list = new ArrayList<>();
for (Integer[] k :
integers) {
if (k[0] == m && k[1] != fu)
list.add(k[1]);
else if (k[1] == m && k[0] != fu)
list.add(k[0]);
}
if (list.size() == 1) {
int tmp = DFS(integers, list.get(0), m, it);
if (list.get(0) % 2 != m % 2) {
tmp += 1;
}
sum += tmp;
return tmp;
} else if (list.size() == 2) {
int h = DFS(integers, list.get(0), m, it) + DFS(integers, list.get(1), m, it);
//这里改了一下,如果父节点和两个字节点奇偶性相同,那么要减1
if (list.get(0) % 2 == m % 2 && list.get(1) % 2 == m % 2)
h -= 1;
else if (list.get(0) != m % 2 && list.get(1) != m % 2)
h += 1;
sum += h;
return h;
}
return 1;
}
} 第一题:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String[] s = scanner.nextLine().split(" ");
int n = Integer.parseInt(s[0]);
int k = Integer.parseInt(s[1]);
String s1 = scanner.nextLine();
int b = 0, l, r, l1 = 0, r1 = Integer.MAX_VALUE;
ArrayList<Integer> list = new ArrayList<>();
while (b < n - 5) {
int mihoyo = s1.indexOf("mihoyo", b);
if (mihoyo != -1) {
list.add(mihoyo);
if (list.size() >= k) {
r = list.get(list.size() - 1) + 5;
l = list.get(list.size() - k);
if (r - l < r1 - l1) {
r1 = r;
l1 = l;
}
}
b = list.get(list.size() - 1) + 6;
}
}
if (list.size() >= k) System.out.println(l1 + " " + r1);
else System.out.println(-1);
}
}
查看1道真题和解析


腾讯成长空间 5958人发布