PKU 2501-Average Speed

問題概要

車の距離計が壊れてしまった.
しかし,速度は知ることが出来る.
時刻とその後の速度の情報が与えられた時,ある時刻での移動距離を求めよ.

解法

実装するだけ

実装(Java)

import java.util.*;
import java.math.*;
import java.io.*;
import java.util.regex.*;
import static java.lang.Math.*;
import static java.util.Arrays.*;
import static java.lang.System.*;

public class Main {
	Scanner cin;
	int str2time(String s){
		String[] tmp=s.split(":");
		int hour=Integer.parseInt(tmp[0]);
		int min=Integer.parseInt(tmp[1]);
		int sec=Integer.parseInt(tmp[2]);
		return (hour*60+min)*60+sec;
	}
	void run(){
		cin=new Scanner(System.in);
		int spped=0;
		double dist=0;
		int back=0;
		while(cin.hasNextLine()){
			String in=cin.nextLine();
			int now=str2time(in.split(" ")[0]);
			int next=-1;
			if(in.split(" ").length>1){
				next=Integer.parseInt(in.split(" ")[1]);
			}
			dist+=(now-back)*spped/3600.0;
			if(next==-1){
				printf("%s %.2f km\n",in,dist);
			}else{
				spped=next;
			}
			back=now;

		}
	}

	void printf(String format,Object... args){
		System.out.printf(format, args);
	}

	public static void main(String[] args) {
		new Main().run();
	}

}