Submission #531962


Source Code Expand

#include <cassert>
#include <cmath>
#include <iostream>
#include <string>

std::string deg2str(int deg)
{
    assert(0 <= deg && deg < 3600);
    // 11.25 <= deg < 33.75
    if ( deg >= 113 && deg <= 337 ) {
        return "NNE";
    // 33.75 <= deg < 56.25
    } else if ( deg >= 338 && deg <= 562 ) {
        return "NE";
    // 56.25 <= deg < 78.75
    } else if ( deg >= 563 && deg <= 787 ) {
        return "ENE";
    // 78.75 <= deg < 101.25
    } else if ( deg >= 788 && deg <= 1012 ) {
        return "E";
    // 101.25 <= deg < 123.75
    } else if ( deg >= 1013 && deg <= 1237 ) {
        return "ESE";
    // 123.75 <= deg < 146.25
    } else if ( deg >= 1238 && deg <= 1462 ) {
        return "SE";
    // 146.25 <= deg < 168.75
    } else if ( deg >= 1463 && deg <= 1687 ) {
        return "SSE";
    // 168.75 <= deg < 191.25
    } else if ( deg >= 1688 && deg <= 1912 ) {
        return "S";
    // 191.25 <= deg < 213.75
    } else if ( deg >= 1913 && deg <= 2137 ) {
        return "SSW";
    // 213.75 <= deg < 236.25
    } else if ( deg >= 2138 && deg <= 2362 ) {
        return "SW";
    // 236.25 <= deg < 258.75
    } else if ( deg >= 2363 && deg <= 2587 ) {
        return "WSW";
    // 258.75 <= deg < 281.25
    } else if ( deg >= 2588 && deg <= 2812 ) {
        return "W";
    // 281.25 <= deg < 303.75
    } else if ( deg >= 2813 && deg <= 3037 ) {
        return "WNW";
    // 303.75 <= deg < 326.25
    } else if ( deg >= 3038 && deg <= 3262 ) {
        return "NW";
    // 326.25 <= deg < 348.75
    } else if ( deg >= 3263 && deg <= 3487 ) {
        return "NNW";
    } else {
        return "N";
    }
}

int dis2scale(int dis)
{
    int x = round(dis / 60.0 * 10);
    if ( x <= 2 ) {
        return 0;
    } else if ( x >= 3 && x <= 15 ) {
        return 1;
    } else if ( x >= 16 && x <= 33 ) {
        return 2;
    } else if ( x >= 34 && x <= 54 ) {
        return 3;
    } else if ( x >= 55 && x <= 79 ) {
        return 4;
    } else if ( x >= 80 && x <= 107 ) {
        return 5;
    } else if ( x >= 108 && x <= 138 ) {
        return 6;
    } else if ( x >= 139 && x <= 171 ) {
        return 7;
    } else if ( x >= 172 && x <= 207 ) {
        return 8;
    } else if ( x >= 208 && x <= 244 ) {
        return 9;
    } else if ( x >= 245 && x <= 284 ) {
        return 10;
    } else if ( x >= 285 && x <= 326 ) {
        return 11;
    } else if ( x >= 327 ) {
        return 12;
    }
}

int main()
{
    int deg, dis;
    std::cin >> deg >> dis;
    assert(0 <= deg && deg < 3600);
    assert(0 <= dis && dis < 12000);
    int scale = dis2scale(dis);
    std::cout << (scale ? deg2str(deg) : "C") << " " << scale << std::endl;
    return 0;
}

Submission Info

Submission Time
Task C - 風力観測
User mugwort_rc
Language C++11 (GCC 4.8.1)
Score 100
Code Size 2789 Byte
Status AC
Exec Time 41 ms
Memory 1136 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 31 ms 1124 KB
00_sample_02.txt AC 26 ms 952 KB
00_sample_03.txt AC 26 ms 952 KB
00_sample_04.txt AC 26 ms 1048 KB
00_sample_05.txt AC 28 ms 1128 KB
00_sample_06.txt AC 27 ms 1052 KB
00_sample_07.txt AC 28 ms 1048 KB
00_sample_08.txt AC 28 ms 1052 KB
test_01.txt AC 26 ms 956 KB
test_02.txt AC 29 ms 948 KB
test_03.txt AC 27 ms 1044 KB
test_04.txt AC 28 ms 952 KB
test_05.txt AC 27 ms 1052 KB
test_06.txt AC 29 ms 1048 KB
test_07.txt AC 29 ms 1124 KB
test_08.txt AC 26 ms 1052 KB
test_09.txt AC 30 ms 1048 KB
test_10.txt AC 28 ms 956 KB
test_11.txt AC 28 ms 1048 KB
test_12.txt AC 30 ms 1064 KB
test_13.txt AC 29 ms 980 KB
test_14.txt AC 26 ms 1052 KB
test_15.txt AC 28 ms 952 KB
test_16.txt AC 28 ms 996 KB
test_17.txt AC 27 ms 952 KB
test_18.txt AC 27 ms 1052 KB
test_19.txt AC 28 ms 956 KB
test_20.txt AC 27 ms 1052 KB
test_21.txt AC 26 ms 1052 KB
test_22.txt AC 28 ms 1052 KB
test_23.txt AC 27 ms 956 KB
test_24.txt AC 27 ms 952 KB
test_25.txt AC 27 ms 952 KB
test_26.txt AC 27 ms 1044 KB
test_27.txt AC 27 ms 952 KB
test_28.txt AC 27 ms 1056 KB
test_29.txt AC 30 ms 1048 KB
test_30.txt AC 27 ms 952 KB
test_31.txt AC 28 ms 1048 KB
test_32.txt AC 27 ms 1092 KB
test_33.txt AC 25 ms 1056 KB
test_34.txt AC 27 ms 1044 KB
test_35.txt AC 27 ms 1052 KB
test_36.txt AC 41 ms 956 KB
test_37.txt AC 29 ms 984 KB
test_38.txt AC 28 ms 1048 KB
test_39.txt AC 28 ms 1136 KB
test_40.txt AC 28 ms 948 KB
test_41.txt AC 28 ms 1028 KB
test_42.txt AC 28 ms 1052 KB
test_43.txt AC 28 ms 956 KB
test_44.txt AC 28 ms 952 KB
test_45.txt AC 27 ms 952 KB
test_46.txt AC 26 ms 1052 KB
test_47.txt AC 27 ms 952 KB
test_48.txt AC 28 ms 956 KB
test_49.txt AC 28 ms 1048 KB
test_50.txt AC 28 ms 956 KB
test_51.txt AC 28 ms 956 KB
test_52.txt AC 28 ms 952 KB
test_53.txt AC 28 ms 956 KB
test_54.txt AC 27 ms 1044 KB
test_55.txt AC 28 ms 952 KB
test_56.txt AC 28 ms 1048 KB
test_57.txt AC 27 ms 1052 KB
test_58.txt AC 28 ms 988 KB