第一题
package ccf201604; import java.util.Scanner; public class p1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int []a=new int[n]; for (int i=0;i<n;i++){ a[i]=sc.nextInt(); } int count=0; for (int i=1;i<n-1;i++){ if(a[i]>a[i-1]&&a[i]>a[i+1]){ count++; } if(a[i]<a[i-1]&&a[i]<a[i+1]){ count++; } } System.out.println(count); } }
第二题
package ccf201604; import java.util.Scanner; public class p2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[][][] map = new int[15][10][2]; for (int i = 0; i < 15; i++) { for (int j = 0; j < 10; j++) { map[i][j][0] = sc.nextInt(); map[i][j][1] = 0; } } int[][] item = new int[4][4]; int maxi = 0; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { item[i][j] = sc.nextInt(); if (item[i][j] == 1) { if (i > maxi) maxi = i; } } } int x = 0; int y = 0; int n = sc.nextInt(); for (int i = 0; i < 4; i++) { y = 0; for (int j = n - 1; j < n + 3; j++) { if (item[x][y] == 1) { map[i][j][1] = 1; map[i][j][0] = item[x][y]; } y++; } x++; } for (int i = 0; i < 14 - maxi; i++) { boolean flag = true; for (int k = i; k < i + 1 + maxi; k++) { for (int j = n - 1; j < n + 3; j++) { if (map[k][j][1] == 1) { if (map[k + 1][j][0] == 1 && map[k + 1][j][1] == 0) { flag = false; } } } } if (!flag) { break; } for (int p = i + maxi; p >= i; p--) { for (int q = n - 1; q < n + 3; q++) { if (map[p][q][1] == 1) { int pq0 = map[p + 1][q][0]; map[p + 1][q][0] = map[p][q][0]; map[p][q][0] = pq0; int pq1 = map[p + 1][q][1]; map[p + 1][q][1] = map[p][q][1]; map[p][q][1] = pq1; } } } } for (int i = 0; i < 15; i++) { for (int j = 0; j < 10; j++) { System.out.print(map[i][j][0] + " "); } System.out.println(); } } }