第一题
package ccf201703; import java.util.Scanner; public class p1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); int[] a = new int[n + 1]; for (int i = 1; i <= n; i++) { a[i] = sc.nextInt(); } int count = 1; int w = k; for (int i = 1; i < n; i++) { if (a[i] < w) { w -= a[i]; } else { count++; w = k; } } System.out.println(count); } }
第二题
package ccf201703; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class p2 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String[] temp1 = bf.readLine().split(" "); int n = Integer.parseInt(temp1[0]); String[] temp2 = bf.readLine().split(" "); int m = Integer.parseInt(temp2[0]); int[] stu = new int[n + 1]; for (int i = 1; i <= n; i++) { stu[i] = i; } int[] p = new int[m]; int[] q = new int[m]; for (int i = 0; i < m; i++) { String[] line = bf.readLine().split(" "); for (int j = 0; j < 2; j++) { p[i] = Integer.parseInt(line[0]); q[i] = Integer.parseInt(line[1]); } } for (int i = 0; i < m; i++) { for (int j = 1; j <= n; j++) { if (p[i] == stu[j]) { if (q[i] >= 0) { for (int k = j; k < j + q[i]; k++) { int t = stu[k + 1]; stu[k + 1] = stu[k]; stu[k] = t; } } else { for (int k = j; k > j + q[i]; k--) { int t = stu[k - 1]; stu[k - 1] = stu[k]; stu[k] = t; } } break; } } } for (int i = 1; i <= n; i++) { System.out.print(stu[i] + " "); } } }