POJ 1477 Box of Bricks,题目什么的是水题,第一个Java程序,纪念一下^-^
题目的意思就是现在有N堆砖头,每堆砖头的数量不一样多,现在问你要移动多少次砖头(一次限一个)使得每堆砖头数相同。
做法就是算出平均数,然后直接算出超平均数的差值和即可。
代码如下:(第一次用java,写的不好,纪念一下)
import java.util.*; public class averge { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin=new Scanner(System.in); int ave , i , n , ans , t = 1; int a[] = new int[50]; while (true) { n = cin.nextInt(); if (n == 0) break; ave = 0; for (i = 0;i < n;i++) { a[i] = cin.nextInt(); ave += a[i]; } ave /= n; ans = 0; for (i = 0;i < n;i++) if (a[i] > ave) ans += a[i] - ave; System.out.println("Set #"+t); System.out.println("The minimum number of moves is "+ans+"."); System.out.println(); t ++; } } }
测试结果如下:
话说java真心很慢,如果是C/C++的话估计应该是0ms或者16ms的多