Submission #519963


Source Code Expand

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

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		String deg = sc.next();
		String dis = sc.next();

		BigDecimal decDeg = new BigDecimal(deg);
		BigDecimal decDis = new BigDecimal(dis);

		// メートル毎秒に直して四捨五入
		BigDecimal disMeterPerSec = decDis.divide(new BigDecimal(60), 1,BigDecimal.ROUND_HALF_UP);


		// decide wind power
		String w = null;

		if(in(disMeterPerSec,new BigDecimal("0.0"),new BigDecimal("0.2"))){
			w = "0";
		}else if (in(disMeterPerSec, new BigDecimal("0.3"), new BigDecimal("1.5"))) {
			w = "1";
		}else if (in(disMeterPerSec, new BigDecimal("1.6"), new BigDecimal("3.3"))) {
			w = "2";
		}else if (in(disMeterPerSec, new BigDecimal("3.4"), new BigDecimal("5.4"))) {
			w = "3";
		}else if (in(disMeterPerSec, new BigDecimal("5.5"), new BigDecimal("7.9"))) {
			w = "4";
		}else if (in(disMeterPerSec, new BigDecimal("8.0"), new BigDecimal("10.7"))) {
			w = "5";
		}else if (in(disMeterPerSec, new BigDecimal("10.8"), new BigDecimal("13.8"))) {
			w = "6";
		}else if (in(disMeterPerSec, new BigDecimal("13.9"), new BigDecimal("17.1"))) {
			w = "7";
		}else if (in(disMeterPerSec, new BigDecimal("17.2"), new BigDecimal("20.7"))) {
			w = "8";
		}else if (in(disMeterPerSec, new BigDecimal("20.8"), new BigDecimal("24.4"))) {
			w = "9";
		}else if (in(disMeterPerSec, new BigDecimal("24.5"), new BigDecimal("28.4"))) {
			w = "10";
		}else if (in(disMeterPerSec, new BigDecimal("28.5"), new BigDecimal("32.6"))) {
			w = "11";
		}else if (ge(disMeterPerSec, new BigDecimal("32.7"))) {
			w = "12";
		}


		// decide wind dr
		String dir = null;
		if("0".equals(w)){
			dir = "C";
		}else {
			if (in2(decDeg, new BigDecimal("112.5"), new BigDecimal("337.5"))) {
				dir = "NNE";
			} else if (in2(decDeg, new BigDecimal("337.5"), new BigDecimal("562.5"))) {
				dir = "NE";
			} else if (in2(decDeg, new BigDecimal("562.5"), new BigDecimal("787.5"))) {
				dir = "ENE";
			} else if (in2(decDeg, new BigDecimal("787.5"), new BigDecimal("1012.5"))) {
				dir = "E";
			} else if (in2(decDeg, new BigDecimal("1012.5"), new BigDecimal("1237.5"))) {
				dir = "ESE";
			} else if (in2(decDeg, new BigDecimal("1237.5"), new BigDecimal("1462.5"))) {
				dir = "SE";
			} else if (in2(decDeg, new BigDecimal("1462.5"), new BigDecimal("1687.5"))) {
				dir = "SSE";
			} else if (in2(decDeg, new BigDecimal("1687.5"), new BigDecimal("1912.5"))) {
				dir = "S";
			} else if (in2(decDeg, new BigDecimal("1912.5"), new BigDecimal("2137.5"))) {
				dir = "SSW";
			} else if (in2(decDeg, new BigDecimal("2137.5"), new BigDecimal("2362.5"))) {
				dir = "SW";
			} else if (in2(decDeg, new BigDecimal("2362.5"), new BigDecimal("2587.5"))) {
				dir = "WSW";
			} else if (in2(decDeg, new BigDecimal("2587.5"), new BigDecimal("2812.5"))) {
				dir = "W";
			} else if (in2(decDeg, new BigDecimal("2812.5"), new BigDecimal("3037.5"))) {
				dir = "WNW";
			} else if (in2(decDeg, new BigDecimal("3037.5"), new BigDecimal("3262.5"))) {
				dir = "NW";
			} else if (in2(decDeg, new BigDecimal("3262.5"), new BigDecimal("3487.5"))) {
				dir = "NNW";
			} else{
				dir = "N";
			}
		}

		System.out.println(dir + " " + w);

	}

	public static boolean in(BigDecimal target,BigDecimal min, BigDecimal max) {
		return ge(target, min) && le(target, max);
	}

	public static boolean in2(BigDecimal target,BigDecimal min, BigDecimal max) {
		return ge(target, min) && lt(target,max);
	}

	// op greater than target
	public static boolean gt(BigDecimal op, BigDecimal target) {
		return op.compareTo(target) == 1;
	}

	// op less than target
	public static boolean  lt(BigDecimal op, BigDecimal target) {
		return op.compareTo(target) == -1;
	}

	// op equals target
	public static boolean eq(BigDecimal op, BigDecimal target) {
		return op.compareTo(target) == 0;
	}

	// op equals or greater than target
	public static boolean ge(BigDecimal op, BigDecimal target) {
		return gt(op,target) || eq(op, target);
	}

	// op equals or less than target
	public static boolean le(BigDecimal op, BigDecimal target) {
		return lt(op, target)|| eq(op, target);
	}

}

Submission Info

Submission Time
Task C - 風力観測
User coraph
Language Java (OpenJDK 1.7.0)
Score 100
Code Size 4334 Byte
Status AC
Exec Time 405 ms
Memory 23512 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 66
Set Name Test Cases
all 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
Case Name Status Exec Time Memory
00_sample_01.txt AC 379 ms 23332 KB
00_sample_02.txt AC 372 ms 23456 KB
00_sample_03.txt AC 367 ms 23480 KB
00_sample_04.txt AC 368 ms 23504 KB
00_sample_05.txt AC 365 ms 23480 KB
00_sample_06.txt AC 369 ms 23364 KB
00_sample_07.txt AC 366 ms 23340 KB
00_sample_08.txt AC 370 ms 23360 KB
test_01.txt AC 366 ms 23348 KB
test_02.txt AC 370 ms 23348 KB
test_03.txt AC 369 ms 23348 KB
test_04.txt AC 374 ms 23440 KB
test_05.txt AC 373 ms 23360 KB
test_06.txt AC 373 ms 23464 KB
test_07.txt AC 373 ms 23504 KB
test_08.txt AC 374 ms 23372 KB
test_09.txt AC 379 ms 23364 KB
test_10.txt AC 375 ms 23468 KB
test_11.txt AC 375 ms 23340 KB
test_12.txt AC 377 ms 23364 KB
test_13.txt AC 400 ms 23372 KB
test_14.txt AC 383 ms 23364 KB
test_15.txt AC 405 ms 23368 KB
test_16.txt AC 371 ms 23376 KB
test_17.txt AC 376 ms 23384 KB
test_18.txt AC 382 ms 23384 KB
test_19.txt AC 387 ms 23368 KB
test_20.txt AC 376 ms 23496 KB
test_21.txt AC 379 ms 23308 KB
test_22.txt AC 375 ms 23344 KB
test_23.txt AC 376 ms 23328 KB
test_24.txt AC 376 ms 23376 KB
test_25.txt AC 379 ms 23396 KB
test_26.txt AC 377 ms 23432 KB
test_27.txt AC 374 ms 23436 KB
test_28.txt AC 366 ms 23392 KB
test_29.txt AC 367 ms 23336 KB
test_30.txt AC 365 ms 23220 KB
test_31.txt AC 372 ms 23416 KB
test_32.txt AC 364 ms 23484 KB
test_33.txt AC 374 ms 23340 KB
test_34.txt AC 376 ms 23380 KB
test_35.txt AC 372 ms 23468 KB
test_36.txt AC 373 ms 23352 KB
test_37.txt AC 389 ms 23364 KB
test_38.txt AC 375 ms 23448 KB
test_39.txt AC 377 ms 23488 KB
test_40.txt AC 375 ms 23452 KB
test_41.txt AC 374 ms 23428 KB
test_42.txt AC 367 ms 23224 KB
test_43.txt AC 381 ms 23368 KB
test_44.txt AC 383 ms 23512 KB
test_45.txt AC 388 ms 23484 KB
test_46.txt AC 382 ms 23364 KB
test_47.txt AC 382 ms 23496 KB
test_48.txt AC 386 ms 23352 KB
test_49.txt AC 385 ms 23508 KB
test_50.txt AC 384 ms 23336 KB
test_51.txt AC 375 ms 23488 KB
test_52.txt AC 379 ms 23412 KB
test_53.txt AC 375 ms 23468 KB
test_54.txt AC 376 ms 23440 KB
test_55.txt AC 377 ms 23452 KB
test_56.txt AC 393 ms 23464 KB
test_57.txt AC 393 ms 23472 KB
test_58.txt AC 403 ms 23384 KB