Submission #131575


Source Code Expand

#include <cmath>

#include <iostream>
#include <algorithm>
#include <string>
#include <sstream>
using namespace std;

const double EPS = 1e-8;

double LB[] = { 11.25, 33.75, 56.25, 78.75, 101.25, 123.75, 146.25,
              168.75, 191.25, 213.75, 236.25, 258.75, 281.25, 303.75, 326.25 };
string DIRSTR[] = { "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW" };
double LB2[] = { 0.2, 1.5, 3.3, 5.4, 7.9, 10.7, 13.8, 17.1, 20.7, 24.4, 28.4, 32.6 };

bool is_ge(double a, double b) {
  return a > b - EPS;
}

bool is_le(double a, double b) {
  return a < b + EPS;
}

bool is_lt(double a, double b) {
  return a < b - EPS;
}

template<class T, class U>
T lexical_cast(const U& from) {
  T to;
  stringstream ss;
  ss << from; ss >> to;
  return to;
}

#define DEBUG(x) cerr << #x << " = " << x << endl

int main() {
  int DIR, W; cin >> DIR >> W;
  string dirOut;
  string wOut;
  double DIR2 = 1.0 * DIR / 10;
  double W2 = floor((1.0 * W / 60 + 0.05 + EPS)*10)/10;
  if(is_ge(W2, 32.7)) {
    wOut = "12";
  }
  else {
    for(int i = 11; i >= 0; i--) {
      if(is_le(W2, LB2[i])) wOut = lexical_cast<string>(i);
    }
  }

  if(wOut == "0") {
    dirOut = "C";
  }
  else if(is_ge(DIR2, 348.75) || is_lt(DIR2, 11.25)) {
    dirOut = "N";
  }
  else {
    for(int i = 0; i < 15; i++) {
      if(is_ge(DIR2, LB[i])) {
        dirOut = DIRSTR[i];
      }
    }
  }
  cout << dirOut << ' ' << wOut << endl;
}

Submission Info

Submission Time
Task C - 風力観測
User arosh
Language C++11 (GCC 4.8.1)
Score 100
Code Size 1520 Byte
Status AC
Exec Time 37 ms
Memory 936 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 22 ms 932 KB
00_sample_02.txt AC 21 ms 760 KB
00_sample_03.txt AC 21 ms 732 KB
00_sample_04.txt AC 22 ms 732 KB
00_sample_05.txt AC 22 ms 804 KB
00_sample_06.txt AC 22 ms 800 KB
00_sample_07.txt AC 37 ms 744 KB
00_sample_08.txt AC 20 ms 796 KB
test_01.txt AC 21 ms 808 KB
test_02.txt AC 21 ms 800 KB
test_03.txt AC 21 ms 812 KB
test_04.txt AC 21 ms 924 KB
test_05.txt AC 21 ms 680 KB
test_06.txt AC 22 ms 804 KB
test_07.txt AC 22 ms 684 KB
test_08.txt AC 21 ms 800 KB
test_09.txt AC 23 ms 920 KB
test_10.txt AC 24 ms 924 KB
test_11.txt AC 21 ms 804 KB
test_12.txt AC 23 ms 936 KB
test_13.txt AC 22 ms 800 KB
test_14.txt AC 22 ms 804 KB
test_15.txt AC 22 ms 808 KB
test_16.txt AC 23 ms 804 KB
test_17.txt AC 21 ms 800 KB
test_18.txt AC 22 ms 812 KB
test_19.txt AC 23 ms 800 KB
test_20.txt AC 23 ms 724 KB
test_21.txt AC 21 ms 804 KB
test_22.txt AC 24 ms 748 KB
test_23.txt AC 22 ms 804 KB
test_24.txt AC 22 ms 800 KB
test_25.txt AC 23 ms 924 KB
test_26.txt AC 23 ms 800 KB
test_27.txt AC 23 ms 804 KB
test_28.txt AC 23 ms 928 KB
test_29.txt AC 23 ms 804 KB
test_30.txt AC 23 ms 932 KB
test_31.txt AC 20 ms 804 KB
test_32.txt AC 23 ms 680 KB
test_33.txt AC 23 ms 804 KB
test_34.txt AC 21 ms 928 KB
test_35.txt AC 24 ms 928 KB
test_36.txt AC 25 ms 796 KB
test_37.txt AC 23 ms 800 KB
test_38.txt AC 22 ms 808 KB
test_39.txt AC 22 ms 732 KB
test_40.txt AC 21 ms 800 KB
test_41.txt AC 23 ms 808 KB
test_42.txt AC 20 ms 804 KB
test_43.txt AC 20 ms 804 KB
test_44.txt AC 22 ms 804 KB
test_45.txt AC 22 ms 680 KB
test_46.txt AC 21 ms 928 KB
test_47.txt AC 20 ms 804 KB
test_48.txt AC 20 ms 804 KB
test_49.txt AC 22 ms 928 KB
test_50.txt AC 22 ms 924 KB
test_51.txt AC 21 ms 804 KB
test_52.txt AC 20 ms 796 KB
test_53.txt AC 20 ms 800 KB
test_54.txt AC 21 ms 924 KB
test_55.txt AC 21 ms 808 KB
test_56.txt AC 21 ms 932 KB
test_57.txt AC 21 ms 800 KB
test_58.txt AC 21 ms 800 KB