Hatena::Grouptopcoder

hama_DU@TopCoderへの道

2012-03-25SRM362, SRM363 (Practice)

SRM 362 MaximizeSquares

|  SRM 362 MaximizeSquares - hama_DU@TopCoderへの道 を含むブックマーク はてなブックマーク -  SRM 362 MaximizeSquares - hama_DU@TopCoderへの道

http://www.topcoder.com/stat?c=problem_statement&pm=7735

  • 格子状に、なるべく正方形っぽく並べるのが一番いい気がする。
    • 反例があるかも・・・
  • 念のため、長方形を作る場合を全部試す
public class MaximizeSquares {
	public int squareCount(int N) {
		int max = 0;
		for (int i = 2 ; i * i <= N ; i++) {
			int count = 0;
			int j = N / i;
			int amari = N - i * j;
			for (int a = 1 ; a < i ; a++) {
				count += (i - a) * (j - a);
			}
			for (int a = 1 ; a < amari ; a++) {
				count += (amari - a);
			}
			max = Math.max(max, count);
			
		}		
		return max;
	}
}