Submission #4392006
Source Code Expand
#include <cmath> #include <iostream> #include <string> // 風程(wind run)から風力(wind scale)を算出する unsigned int calc_wind_scale( unsigned int wind_run ) { /* local variables for this function */ unsigned int wind_speed; // STEP.01 // convert the `wind run` to `wind speed` wind_speed = std::round( ((double)wind_run)/6.0e+00 ); // STEP.02 // determine the `wind scale` to output if ( wind_speed <= 2 ) { return 0; } else if ( wind_speed <= 15 ) { return 1; } else if ( wind_speed <= 33 ) { return 2; } else if ( wind_speed <= 54 ) { return 3; } else if ( wind_speed <= 79 ) { return 4; } else if ( wind_speed <= 107 ) { return 5; } else if ( wind_speed <= 138 ) { return 6; } else if ( wind_speed <= 171 ) { return 7; } else if ( wind_speed <= 207 ) { return 8; } else if ( wind_speed <= 244 ) { return 9; } else if ( wind_speed <= 284 ) { return 10; } else if ( wind_speed <= 326 ) { return 11; } else { return 12; } } // 風力(wind scale)を考慮した風向(文字列)を返す std::string determine_wind_direction( unsigned int wind_scale, unsigned int wind_direction_num ) { /* local variables for this function */ unsigned int wind_direction_num_scaled; // STEP.01 // scale the wind direction wind_direction_num_scaled = wind_direction_num * 10; // STEP.02 // determine the `wind direction` to output if ( wind_scale == 0 ) { return "C"; } if ( wind_direction_num_scaled < 1125 ) { return "N"; } else { if ( wind_direction_num_scaled < 3375 ) { return "NNE"; } else if ( wind_direction_num_scaled < 5625 ) { return "NE"; } else if ( wind_direction_num_scaled < 7875 ) { return "ENE"; } else if ( wind_direction_num_scaled < 10125 ) { return "E"; } else if ( wind_direction_num_scaled < 12375 ) { return "ESE"; } else if ( wind_direction_num_scaled < 14625 ) { return "SE"; } else if ( wind_direction_num_scaled < 16875 ) { return "SSE"; } else if ( wind_direction_num_scaled < 19125 ) { return "S"; } else if ( wind_direction_num_scaled < 21375 ) { return "SSW"; } else if ( wind_direction_num_scaled < 23625 ) { return "SW"; } else if ( wind_direction_num_scaled < 25875 ) { return "WSW"; } else if ( wind_direction_num_scaled < 28125 ) { return "W"; } else if ( wind_direction_num_scaled < 30375 ) { return "WNW"; } else if ( wind_direction_num_scaled < 32625 ) { return "NW"; } else if ( wind_direction_num_scaled < 34875 ) { return "NNW"; } else { return "N"; } } } int main (void) { /* constants for main process */ /* variables for main process */ char wind_direction_chr; unsigned int wind_direction_num; unsigned int wind_run; unsigned int wind_scale; // STEP.01 // read out the given data std::cin >> wind_direction_num; // 風向 std::cin >> wind_run; // 風程 // STEP.02 // calculate the `wind scale` wind_scale = calc_wind_scale( wind_run ); // STEP.03 // output the result std::cout << determine_wind_direction( wind_scale, wind_direction_num ) << " " << wind_scale << std::endl; // STEP.END return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 風力観測 |
User | DSCF_1224 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 3257 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | all | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
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 | 1 ms | 256 KB |
00_sample_02.txt | AC | 1 ms | 256 KB |
00_sample_03.txt | AC | 1 ms | 256 KB |
00_sample_04.txt | AC | 1 ms | 256 KB |
00_sample_05.txt | AC | 1 ms | 256 KB |
00_sample_06.txt | AC | 1 ms | 256 KB |
00_sample_07.txt | AC | 1 ms | 256 KB |
00_sample_08.txt | AC | 1 ms | 256 KB |
test_01.txt | AC | 1 ms | 256 KB |
test_02.txt | AC | 1 ms | 256 KB |
test_03.txt | AC | 1 ms | 256 KB |
test_04.txt | AC | 1 ms | 256 KB |
test_05.txt | AC | 1 ms | 256 KB |
test_06.txt | AC | 1 ms | 256 KB |
test_07.txt | AC | 1 ms | 256 KB |
test_08.txt | AC | 1 ms | 256 KB |
test_09.txt | AC | 1 ms | 256 KB |
test_10.txt | AC | 1 ms | 256 KB |
test_11.txt | AC | 1 ms | 256 KB |
test_12.txt | AC | 1 ms | 256 KB |
test_13.txt | AC | 1 ms | 256 KB |
test_14.txt | AC | 1 ms | 256 KB |
test_15.txt | AC | 1 ms | 256 KB |
test_16.txt | AC | 1 ms | 256 KB |
test_17.txt | AC | 1 ms | 256 KB |
test_18.txt | AC | 1 ms | 256 KB |
test_19.txt | AC | 1 ms | 256 KB |
test_20.txt | AC | 1 ms | 256 KB |
test_21.txt | AC | 1 ms | 256 KB |
test_22.txt | AC | 1 ms | 256 KB |
test_23.txt | AC | 1 ms | 256 KB |
test_24.txt | AC | 1 ms | 256 KB |
test_25.txt | AC | 1 ms | 256 KB |
test_26.txt | AC | 1 ms | 256 KB |
test_27.txt | AC | 1 ms | 256 KB |
test_28.txt | AC | 1 ms | 256 KB |
test_29.txt | AC | 1 ms | 256 KB |
test_30.txt | AC | 1 ms | 256 KB |
test_31.txt | AC | 1 ms | 256 KB |
test_32.txt | AC | 1 ms | 256 KB |
test_33.txt | AC | 1 ms | 256 KB |
test_34.txt | AC | 1 ms | 256 KB |
test_35.txt | AC | 1 ms | 256 KB |
test_36.txt | AC | 1 ms | 256 KB |
test_37.txt | AC | 1 ms | 256 KB |
test_38.txt | AC | 1 ms | 256 KB |
test_39.txt | AC | 1 ms | 256 KB |
test_40.txt | AC | 1 ms | 256 KB |
test_41.txt | AC | 1 ms | 256 KB |
test_42.txt | AC | 1 ms | 256 KB |
test_43.txt | AC | 1 ms | 256 KB |
test_44.txt | AC | 1 ms | 256 KB |
test_45.txt | AC | 1 ms | 256 KB |
test_46.txt | AC | 1 ms | 256 KB |
test_47.txt | AC | 1 ms | 256 KB |
test_48.txt | AC | 1 ms | 256 KB |
test_49.txt | AC | 1 ms | 256 KB |
test_50.txt | AC | 1 ms | 256 KB |
test_51.txt | AC | 1 ms | 256 KB |
test_52.txt | AC | 1 ms | 256 KB |
test_53.txt | AC | 1 ms | 256 KB |
test_54.txt | AC | 1 ms | 256 KB |
test_55.txt | AC | 1 ms | 256 KB |
test_56.txt | AC | 1 ms | 256 KB |
test_57.txt | AC | 1 ms | 256 KB |
test_58.txt | AC | 1 ms | 256 KB |