最近开始刷pat甲级题了
然后第二题就是这个 刚开始遇到的问题是没读懂题目
还以为.是什么特殊格式 后来才发现就是小数 天
发现是小数就简单多了 开个数组就行了 但是有两个坑
1. 输出的时候空格问题
2. 要保留一位小数 否则测试点1过不去(划重点 这个坑耽误了很长时间 因为他给的样例全是1位小数 所以刚开始没往这个方向想)
贴一下代码:
import java.text.DecimalFormat; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); double[] f = new double[1001]; int t = 2; while(t-->0){ int i = sc.nextInt(); while(i-->0){ int tmp1 = sc.nextInt(); double tmp2 = sc.nextDouble(); f[tmp1] += tmp2; } } int count = 0; for(int i = f.length-1;i >=0 ;i--){ if(f[i]!=0){ count++; } } DecimalFormat df =new DecimalFormat("#0.0"); System.out.print(count); for(int i = f.length-1;i >=0 ;i--){ if(f[i]!=0){ System.out.print(" "+i+" "+df.format(f[i])); } } } }