poj 2014 Flow Layout(基本題アナログ統計)

1527 ワード

poj 2014の簡単な模擬問題で、コードを打つスピードが遅く、思考が足りないことが分かりました。
このテーマは簡単な統計です。普段は似たような統計思想を使うことがあります。

import java.util.*;

public class Main {//poj2014
	public static void main(String[]args)
	{
		Scanner scanner = new Scanner(System.in);
		int maxWidth;
		
		while(true)
		{
			maxWidth = scanner.nextInt();
			if(maxWidth==0)
			{
				break;
			}
			
			int resultWidth =0;
			int resultHeight = 0;
			
			int currentRowWidth=0;
			int currentRowHeight=0;
			
			int w,h;
			while(true)
			{
				w = scanner.nextInt();
				h = scanner.nextInt();
				if(w == -1 && h == -1)
				{
					if(currentRowWidth>resultWidth)
					{
						resultWidth = currentRowWidth;
					}
					
					resultHeight += currentRowHeight;
					break;
				}
				
				if(w+currentRowWidth>maxWidth)
				{
					if(currentRowWidth>resultWidth)
					{
						resultWidth = currentRowWidth;
					}
					
					resultHeight += currentRowHeight;
					
					currentRowHeight= 0;
					currentRowWidth = 0;
				}
				
				currentRowWidth += w;
				if(currentRowHeight<h)
				{
					currentRowHeight = h;
				}
			}
			
			System.out.println(resultWidth+" x "+resultHeight);
		}
		
	}
}