Submission #1891927


Source Code Expand

object Main extends App {
  val sc = new java.util.Scanner(System.in)
  val deg, meterPerMin = sc.nextInt()
  val eps = 1e-6
  val dist = BigDecimal(meterPerMin / 60.0)
    .setScale(1, math.BigDecimal.RoundingMode.HALF_UP)
    .toDouble
  val directions = Array("N",
                         "NNE",
                         "NE",
                         "ENE",
                         "E",
                         "ESE",
                         "SE",
                         "SSE",
                         "S",
                         "SSW",
                         "SW",
                         "WSW",
                         "W",
                         "WNW",
                         "NW",
                         "NNW")
  val directionMap = {
    for (i <- 0 to 15) yield (i, directions(i))
  }.toMap

  val ranges = Array[(Double, Double)]((0.0, 0.2),
                                       (0.3, 1.5),
                                       (1.6, 3.3),
                                       (3.4, 5.4),
                                       (5.5, 7.9),
                                       (8.0, 10.7),
                                       (10.8, 13.8),
                                       (13.9, 17.1),
                                       (17.2, 20.7),
                                       (20.8, 24.4),
                                       (24.5, 28.4),
                                       (28.5, 32.6),
                                       (32.7, 120000))

  val intensity = getIntensity(dist)
  val dirCode = if (intensity == 0) "C" else getDirection(deg)

  println(s"$dirCode $intensity")

  def getDirection(d: Int): String = {
    val idx = ((d * 10 + 1125) / 2250) % 16
    directionMap.getOrElse(idx, "N")
  }

  def getIntensity(dist: Double): Int = {
    var intensity = -1
    for (((lower, upper), idx) <- ranges.zipWithIndex) {
      if (lower <= dist && dist <= upper) {
        intensity = idx
      }
    }
    intensity
  }
}

Submission Info

Submission Time
Task C - 風力観測
User tuxedocat
Language Scala (2.11.7)
Score 100
Code Size 2047 Byte
Status AC
Exec Time 344 ms
Memory 27448 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 334 ms 25272 KB
00_sample_02.txt AC 337 ms 25400 KB
00_sample_03.txt AC 334 ms 25364 KB
00_sample_04.txt AC 344 ms 25536 KB
00_sample_05.txt AC 338 ms 25396 KB
00_sample_06.txt AC 337 ms 25412 KB
00_sample_07.txt AC 334 ms 25408 KB
00_sample_08.txt AC 337 ms 25520 KB
test_01.txt AC 333 ms 25380 KB
test_02.txt AC 337 ms 25296 KB
test_03.txt AC 335 ms 25388 KB
test_04.txt AC 335 ms 25396 KB
test_05.txt AC 337 ms 25276 KB
test_06.txt AC 337 ms 25288 KB
test_07.txt AC 338 ms 25288 KB
test_08.txt AC 335 ms 25280 KB
test_09.txt AC 338 ms 25380 KB
test_10.txt AC 340 ms 25544 KB
test_11.txt AC 333 ms 25276 KB
test_12.txt AC 339 ms 23620 KB
test_13.txt AC 334 ms 25412 KB
test_14.txt AC 338 ms 25376 KB
test_15.txt AC 338 ms 25520 KB
test_16.txt AC 335 ms 25276 KB
test_17.txt AC 333 ms 25292 KB
test_18.txt AC 337 ms 25388 KB
test_19.txt AC 335 ms 25020 KB
test_20.txt AC 333 ms 25416 KB
test_21.txt AC 334 ms 25400 KB
test_22.txt AC 338 ms 25392 KB
test_23.txt AC 341 ms 25420 KB
test_24.txt AC 340 ms 25532 KB
test_25.txt AC 339 ms 25272 KB
test_26.txt AC 339 ms 25416 KB
test_27.txt AC 338 ms 27340 KB
test_28.txt AC 340 ms 25540 KB
test_29.txt AC 333 ms 25396 KB
test_30.txt AC 337 ms 25268 KB
test_31.txt AC 341 ms 25276 KB
test_32.txt AC 336 ms 25408 KB
test_33.txt AC 337 ms 25404 KB
test_34.txt AC 335 ms 25288 KB
test_35.txt AC 338 ms 25512 KB
test_36.txt AC 335 ms 25284 KB
test_37.txt AC 336 ms 23620 KB
test_38.txt AC 334 ms 25264 KB
test_39.txt AC 339 ms 27448 KB
test_40.txt AC 344 ms 25284 KB
test_41.txt AC 335 ms 27072 KB
test_42.txt AC 337 ms 25420 KB
test_43.txt AC 336 ms 25276 KB
test_44.txt AC 338 ms 25416 KB
test_45.txt AC 336 ms 25404 KB
test_46.txt AC 336 ms 25252 KB
test_47.txt AC 340 ms 25420 KB
test_48.txt AC 338 ms 25148 KB
test_49.txt AC 340 ms 25668 KB
test_50.txt AC 341 ms 25380 KB
test_51.txt AC 338 ms 25412 KB
test_52.txt AC 334 ms 25268 KB
test_53.txt AC 338 ms 23612 KB
test_54.txt AC 333 ms 24900 KB
test_55.txt AC 336 ms 25268 KB
test_56.txt AC 336 ms 25260 KB
test_57.txt AC 333 ms 25384 KB
test_58.txt AC 339 ms 25660 KB