- 沙滩排石头
JAVA代码:
import java.util.Scanner;
public class M {
public static void main(String[] args) {
int max = 0;
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int[] r = new int[n];
for (int i = 0; i < n; i++)
r[i] = input.nextInt();
int[] dp = new int[n + 1];
dp[0] = 0;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
int a = i;
if (r[j] - r[a] == 1 || r[j] - r[a] == 0) {
dp[j] = dp[a] + 1;
if (max < dp[j])
max = dp[j];
a = j;
}
}
}
System.out.println(n - max - 1);
}
}
- 被砍掉的树
JAVA代码:
import java.util.Scanner;
public class Question02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int [] a = new int[n];
int [] b = new int[101];
for (int i = 1; i < b.length; i++) {
b[i] = 1;
}
for (int i = 0; i < n; i++) {
a[i] = sc.nextInt();
b[a[i]] = 0;
}
StringBuffer sb1 = new StringBuffer();
StringBuffer sb2 = new StringBuffer();
for (int i = 0; i < b.length; i++) {
if(i % 2 != 0 ){
if(b[i]==0){
sb1.append(" ");
} else{
if(i<10){
sb1.append("00");
sb1.append(i);
}
else if(i<100){
sb1.append("0");
sb1.append(i);
}
else {
sb1.append(i);
}
}
}
else{
if(b[i]==0){
sb2.append(" ");
} else{
if(i<10){
sb2.append("00");
sb2.append(i);
// System.out.println(sb2);
}
else if(i<100){
sb2.append("0");
sb2.append(i);
}
else {
sb2.append(i);
}
}
}
}
int max = 0;
String start = "";
String [] s1 = sb1.toString().split(" ");
String [] s2 = sb2.toString().split(" ");
for (int i = 0; i < s1.length; i++) {
if(max < s1[i].length()){
max = s1[i].length();
start = s1[i].substring(0,3);
}
}
for (int i = 0; i < s2.length; i++) {
if(max < s2[i].length()){
max = s2[i].length();
// 获取连续字符串中的第一个数字字符串,例如输出样例的8所对应的数字字符串008
start = s2[i].substring(0,3);
}
}
// Integer.parseInt()将字符串转换成In类型
System.out.println(Integer.parseInt(start)+" "+max/3);
}
}