白駿-ACMホテル[10250]

6028 ワード

質問する


ACMホテルマネージャーの志宇さんはお客さんが着くと空き部屋を手配しています.お客様アンケートによると、ホテルの正門から最短距離の部屋まで歩くのが好きです.皆さんは智友を助けるプログラムを書きたいと思っています.つまり、アンケート調査の結果、ホテルの正門から徒歩距離が最も短い部屋への配布プログラムを作成します.
問題を簡略化するために、ホテルは矩形だと仮定します.各階にW部屋のH階建て(1≦H,W≦99)があると仮定する.次に、エレベータが一番左にあると仮定する(図1参照).こんな形のホテル.× W形態ホテルと呼ばれています.ホテルの正門は1階のエレベーターの正面にあり、正門からエレベーターまでの距離は無視されています.また、隣接するすべての2つの部屋の間の距離が同じ距離(距離1)であると仮定し、ホテルの正面にしか部屋がありません.

図1.H=6,W=12,H× Wホテルのサムネイル
部屋番号はYXXまたはYXX形式で、ここでYまたはYYはフロア数、XXはエレベーターから数えた番号を表します.すなわち、図1に斜線で示されている部屋は305号室である.
客はエレベーターで移動する距離を気にしない.歩く距離が同じだけで、階下の部屋のほうが好きです.例えば、102号室より301号室のほうが好きです.102号室は2キロ、301号室は1キロで行けますから.同じ理由で102番より2101番が好きです.
皆さんが作成するプログラムは、すべての部屋が空いていると仮定した場合、このポリシーに基づいてN番目のお客様に割り当てられた部屋番号を算出するプログラムです.1人目のお客様は101番、2人目のお客様は201番などを手配します.図1を例にとると、H=6で、10番目のお客様は402番に手配しなければならない.

入力


プログラムは標準入力から入力データを受信する.プログラムの入力はT個のテストデータからなり,Tは入力の第1行に与えられる.各テストデータは1行としてH、W、N、3つの整数を含み、それぞれホテルの階数、各階の部屋数、何人目の客(1≦H、W≦99、1≦N≦H)を表す.× W).

しゅつりょく


プログラムは標準出力に出力されます.各テストデータは、N番目のお客様に割り当てる部屋番号を正確に印刷します.

に答える


まず層を求めて、それからn%hをして層を求めます.しかし、残りが0の場合もあり、この場合はhを出力するだけで、距離はn/h+1となる.前の層を求める場合、残りが0であればn/hしか必要ありません.
出力形式はYXX、YXXなので、レイヤー*100から出力するのが望ましい.

ソース

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int t = sc.nextInt();

		while (t-- > 0) {
			int h = sc.nextInt();
			int w = sc.nextInt();
			int n = sc.nextInt();

			if (n % h == 0) {
				System.out.println((h * 100) + (n / h));
			} else {
				System.out.println(((n % h) * 100) + ((n / h) + 1));
			}

		}

	}

}