Java初心者の競技プログラミング日記

Dvorak配列でjavaを書いてます

yukicoder No.651 E869120 and Driving

はじめてyukicoderコンテストに出場しました。結果はABC完答、DE放棄。


時速100kmでakm移動したときにかかる時間は。a/100時間。小数の問題があるのと、どちらにせよこのあと現在時刻にかかった時間を足して計算しなければならないので、分に直す。


目的地に移動するのにかかる時間は60*a/100分。これに現在時刻午前10時(600分)を足して、時:分の表記に直す。

import java.util.*;
public class Main {
	static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		int a = sc.nextInt();
		a = 60*a/100;
		int time = 600+a;
		int h = time/60;
		int m = time%60;
		if (m<10) {System.out.println(h+":0"+m);}
		else {System.out.println(h+":"+m);}
	}
}


aの最大値は1000、つまりかかる時間は最大でも10時間なので、到着は22時となり、24時間表記のうちに収まる。よって、1440で割って余りを求める例の処理はこの問題では必要ない。また、時刻(h)の値も常に2桁なので、1桁の場合に0を付け加えてやる例の処理もない。分(m)のほうには必要。