AtCoder Beginner Contest 001

Submission #672581

Source codeソースコード

import java.util.Scanner;
import java.math.BigDecimal;
import java.math.RoundingMode;

public class Main {
	
	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);	
		int deg = scan.nextInt();
		int dis = scan.nextInt();
	
		int p = power(dis);	
		System.out.println(direction(deg, p) + " " + p);
	}

	static int power(int dis) {
		double value = (double)dis / (double)60;
		double disSec = Double.parseDouble(String.format("%.1f", value));
		// BigDecimal bd = new BigDecimal(value);
		// double disSec = bd.setScale(1, RoundingMode.HALF_UP).doubleValue();
		// System.out.println(String.format("%.1f", disSec));
		if (0 <= disSec && disSec <= 0.2) {
			return 0;	
		} else if (0.3 <= disSec && disSec <= 1.5) {
			return 1;	
		} else if (1.6 <= disSec && disSec <= 3.3) {
			return 2;	
		} else if (3.4 <= disSec && disSec <= 5.4) {
			return 3;	
		} else if (5.5 <= disSec && disSec <= 7.9) {
			return 4;	
		} else if (8.0 <= disSec && disSec <= 10.7) {
			return 5;
		} else if (10.8 <= disSec && disSec <= 13.8) {
			return 6;
		} else if (13.9 <= disSec && disSec <= 17.1) {
			return 7;
		} else if (17.2 <= disSec && disSec <= 20.7) {
			return 8;
		} else if (20.8 <= disSec && disSec <= 24.4) {
			return 9;
		} else if (24.5 <= disSec && disSec <= 28.4) {
			return 10;
		} else if (28.5 <= disSec && disSec <= 32.6) {
			return 11;	
		} else if (32.7 <= disSec) {
			return 12;
		}
		return -1;
	}

	static String direction(int deg, int power) {
		if (power == 0) return "C";

		double degree = (double)deg / (double)10;	
		if (11.25 <= degree && degree < 33.75) {
			return "NNE";
		} else if (33.75 <= degree && degree < 56.25) {
			return "NE";	
		} else if (56.25 <= degree && degree < 78.75) {
			return "ENE";	
		} else if (78.75 <= degree && degree < 101.25) {
			return "E";
		} else if (101.25 <= degree && degree < 123.75) {
			return "ESE";
		} else if (123.75 <= degree && degree < 146.25) {
			return "SE";
		} else if (146.25 <= degree && degree < 168.75) {
			return "SSE";
		} else if (168.75 <= degree && degree < 191.25) {
			return "S";
		} else if (191.25 <= degree && degree < 213.75) {
			return "SSW";
		} else if (213.75 <= degree && degree < 236.25) {
			return "SW";
		} else if (236.25 <= degree && degree < 258.75) {
			return "WSW";
		} else if (258.75 <= degree && degree < 281.25) {
			return "W";
		} else if (281.25 <= degree && degree < 303.75) {
			return "WNW";
		} else if (303.75 <= degree && degree < 326.25) {
			return "NW";
		} else if (326.25 <= degree && degree < 348.75) {
			return "NNW";
		} else {
			return "N";
		}
	}
}

Submission

Task問題 C - 風力観測
User nameユーザ名 kawaryu
Created time投稿日時
Language言語 Java (OpenJDK 1.7.0)
Status状態 AC
Score得点 100
Source lengthソースコード長 2701 Byte
File nameファイル名
Exec time実行時間 464 ms
Memory usageメモリ使用量 23620 KB

Test case

Set

Set name Score得点 / Max score Cases
all 100 / 100 00_sample_01.txt,00_sample_02.txt,00_sample_03.txt,00_sample_04.txt,00_sample_05.txt,00_sample_06.txt,00_sample_07.txt,00_sample_08.txt,test_01.txt,test_02.txt,test_03.txt,test_04.txt,test_05.txt,test_06.txt,test_07.txt,test_08.txt,test_09.txt,test_10.txt,test_11.txt,test_12.txt,test_13.txt,test_14.txt,test_15.txt,test_16.txt,test_17.txt,test_18.txt,test_19.txt,test_20.txt,test_21.txt,test_22.txt,test_23.txt,test_24.txt,test_25.txt,test_26.txt,test_27.txt,test_28.txt,test_29.txt,test_30.txt,test_31.txt,test_32.txt,test_33.txt,test_34.txt,test_35.txt,test_36.txt,test_37.txt,test_38.txt,test_39.txt,test_40.txt,test_41.txt,test_42.txt,test_43.txt,test_44.txt,test_45.txt,test_46.txt,test_47.txt,test_48.txt,test_49.txt,test_50.txt,test_51.txt,test_52.txt,test_53.txt,test_54.txt,test_55.txt,test_56.txt,test_57.txt,test_58.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt AC 464 ms 23596 KB
00_sample_02.txt AC 377 ms 23468 KB
00_sample_03.txt AC 371 ms 23532 KB
00_sample_04.txt AC 370 ms 23532 KB
00_sample_05.txt AC 370 ms 23512 KB
00_sample_06.txt AC 371 ms 23508 KB
00_sample_07.txt AC 381 ms 23348 KB
00_sample_08.txt AC 380 ms 23496 KB
test_01.txt AC 387 ms 23484 KB
test_02.txt AC 369 ms 23504 KB
test_03.txt AC 363 ms 23440 KB
test_04.txt AC 366 ms 23468 KB
test_05.txt AC 368 ms 23504 KB
test_06.txt AC 366 ms 23516 KB
test_07.txt AC 364 ms 23496 KB
test_08.txt AC 365 ms 23444 KB
test_09.txt AC 366 ms 23352 KB
test_10.txt AC 369 ms 23528 KB
test_11.txt AC 374 ms 23552 KB
test_12.txt AC 362 ms 23492 KB
test_13.txt AC 376 ms 23448 KB
test_14.txt AC 364 ms 23344 KB
test_15.txt AC 375 ms 23516 KB
test_16.txt AC 370 ms 23556 KB
test_17.txt AC 367 ms 23460 KB
test_18.txt AC 371 ms 23508 KB
test_19.txt AC 367 ms 23444 KB
test_20.txt AC 379 ms 23512 KB
test_21.txt AC 362 ms 23468 KB
test_22.txt AC 374 ms 23508 KB
test_23.txt AC 368 ms 23532 KB
test_24.txt AC 363 ms 23532 KB
test_25.txt AC 358 ms 23404 KB
test_26.txt AC 370 ms 23504 KB
test_27.txt AC 359 ms 23440 KB
test_28.txt AC 364 ms 23512 KB
test_29.txt AC 356 ms 23528 KB
test_30.txt AC 360 ms 23400 KB
test_31.txt AC 355 ms 23448 KB
test_32.txt AC 357 ms 23488 KB
test_33.txt AC 358 ms 23520 KB
test_34.txt AC 360 ms 23440 KB
test_35.txt AC 358 ms 23444 KB
test_36.txt AC 357 ms 23528 KB
test_37.txt AC 356 ms 23472 KB
test_38.txt AC 365 ms 23512 KB
test_39.txt AC 362 ms 23480 KB
test_40.txt AC 360 ms 23520 KB
test_41.txt AC 361 ms 23516 KB
test_42.txt AC 365 ms 23536 KB
test_43.txt AC 361 ms 23540 KB
test_44.txt AC 366 ms 23424 KB
test_45.txt AC 373 ms 23548 KB
test_46.txt AC 367 ms 23460 KB
test_47.txt AC 362 ms 23444 KB
test_48.txt AC 356 ms 23460 KB
test_49.txt AC 354 ms 23468 KB
test_50.txt AC 370 ms 23440 KB
test_51.txt AC 353 ms 23504 KB
test_52.txt AC 366 ms 23620 KB
test_53.txt AC 356 ms 23532 KB
test_54.txt AC 353 ms 23504 KB
test_55.txt AC 356 ms 23460 KB
test_56.txt AC 361 ms 23508 KB
test_57.txt AC 355 ms 23496 KB
test_58.txt AC 354 ms 23436 KB