Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
377511 许安哲 [ 2016年绍兴市第十四届少儿信息学竞赛复赛 ] - 辣椒炸弹 Java 解答错误 0 430 MS 12648 KB 1862 2026-02-01 10:38:26

Tests(0/10):


import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static class Row implements Comparable<Row> { int num; int cnt; public Row(int num, int cnt) { this.num = num; this.cnt = cnt; } @Override public int compareTo(Row o) { if (this.cnt != o.cnt) { return o.cnt - this.cnt; } else { return this.num - o.num; } } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int r = Integer.parseInt(st.nextToken()); int c = Integer.parseInt(st.nextToken()); int k = Integer.parseInt(st.nextToken()); int n = Integer.parseInt(st.nextToken()); int[] zombieCnt = new int[r + 1]; for (int i = 0; i < n; i++) { st = new StringTokenizer(br.readLine()); int x = Integer.parseInt(st.nextToken()); zombieCnt[x]++; } Row[] rows = new Row[r]; for (int i = 1; i <= r; i++) { rows[i - 1] = new Row(i, zombieCnt[i]); } Arrays.sort(rows); int total = 0; int[] selected = new int[k]; for (int i = 0; i < k; i++) { total += rows[i].cnt; selected[i] = rows[i].num; } Arrays.sort(selected); System.out.println(total); for (int i = 0; i < k; i++) { if (i > 0) System.out.print(" "); System.out.print(selected[i]); } br.close(); } }


测评信息: