Submission #753443


Source Code Expand

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.NoSuchElementException;

public class Main {
    static FastScanner scan = new FastScanner();
    static PrintWriter out = new PrintWriter(System.out);

    public static void main(String[] args) {
        int deg = scan.nextInt();
        int dis = scan.nextInt();

        float left[] = new float[15];
        float right[] = new float[15];
        String dires[] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"};
        
        float v1 = 11.25f;
        float v2 = 33.75f;
        for(int i=0; i<15; i++) {
            left[i] = v1;
            right[i] = v2;
            v1 += 22.5f;
            v2 += 22.5f;
        }
        
        String dir = dires[0]; 
        float v = (float)deg / 10;
        
        for(int i=0; i<15; i++) {
            if(v >= left[i] && v < right[i]) {
                dir = dires[i+1];
                break;
            }
        }
        
        double left2[] = { 0.0, 0.3, 1.6, 3.4, 5.5, 8.0, 10.8, 13.9, 17.2, 20.8, 24.5, 28.5 };
        double right2[] = { 0.2, 1.5, 3.3, 5.4, 7.9, 10.7, 13.8, 17.1, 20.7, 24.4, 28.4, 32.6 };
        
        BigDecimal b = new BigDecimal(dis).divide(new BigDecimal(60), 1, BigDecimal.ROUND_HALF_UP);
        double t = b.doubleValue();
        
        int w = 12;
        for(int i=0; i<left2.length; i++) {
            if(t >= left2[i] && t <= right2[i]) {
                w = i;
                break;
            }
        }
        
        if(w == 0) {
            dir = "C";
        }
        
        System.out.println(dir + " " + w);
    }

    static class FastScanner {
        private final InputStream in = System.in;
        private final byte[] buffer = new byte[1024];
        private int ptr = 0;
        private int buflen = 0;

        private boolean hasNextByte() {
            if (ptr < buflen) {
                return true;
            } else {
                ptr = 0;
                try {
                    buflen = in.read(buffer);
                } catch (IOException e) {
                    e.printStackTrace();
                }
                if (buflen <= 0) {
                    return false;
                }
            }
            return true;
        }

        private int readByte() {
            if (hasNextByte())
                return buffer[ptr++];
            else
                return -1;
        }

        private static boolean isPrintableChar(int c) {
            return 33 <= c && c <= 126;
        }

        private void skipUnprintable() {
            while (hasNextByte() && !isPrintableChar(buffer[ptr]))
                ptr++;
        }

        public boolean hasNext() {
            skipUnprintable();
            return hasNextByte();
        }

        public String next() {
            if (!hasNext())
                throw new NoSuchElementException();
            StringBuilder sb = new StringBuilder();
            int b = readByte();
            while (isPrintableChar(b)) {
                sb.appendCodePoint(b);
                b = readByte();
            }
            return sb.toString();
        }

        public int nextInt() {
            if (!hasNext())
                throw new NoSuchElementException();
            int n = 0;
            boolean minus = false;
            int b = readByte();
            if (b == '-') {
                minus = true;
                b = readByte();
            }
            if (b < '0' || '9' < b) {
                throw new NumberFormatException();
            }
            while (true) {
                if ('0' <= b && b <= '9') {
                    n *= 10;
                    n += b - '0';
                } else if (b == -1 || !isPrintableChar(b)) {
                    return minus ? -n : n;
                } else {
                    throw new NumberFormatException();
                }
                b = readByte();
            }
        }
    }
}

Submission Info

Submission Time
Task C - 風力観測
User sterusu1
Language Java (OpenJDK 1.7.0)
Score 100
Code Size 4201 Byte
Status AC
Exec Time 361 ms
Memory 21216 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 310 ms 21184 KB
00_sample_02.txt AC 306 ms 21188 KB
00_sample_03.txt AC 307 ms 21092 KB
00_sample_04.txt AC 318 ms 21144 KB
00_sample_05.txt AC 308 ms 21160 KB
00_sample_06.txt AC 320 ms 21188 KB
00_sample_07.txt AC 328 ms 21080 KB
00_sample_08.txt AC 314 ms 21148 KB
test_01.txt AC 306 ms 21172 KB
test_02.txt AC 309 ms 21036 KB
test_03.txt AC 307 ms 21036 KB
test_04.txt AC 314 ms 21148 KB
test_05.txt AC 313 ms 21152 KB
test_06.txt AC 318 ms 21092 KB
test_07.txt AC 318 ms 21120 KB
test_08.txt AC 310 ms 21140 KB
test_09.txt AC 310 ms 21096 KB
test_10.txt AC 310 ms 21120 KB
test_11.txt AC 319 ms 21040 KB
test_12.txt AC 308 ms 21096 KB
test_13.txt AC 310 ms 21132 KB
test_14.txt AC 303 ms 21104 KB
test_15.txt AC 326 ms 21096 KB
test_16.txt AC 326 ms 21092 KB
test_17.txt AC 321 ms 21176 KB
test_18.txt AC 323 ms 21148 KB
test_19.txt AC 331 ms 21096 KB
test_20.txt AC 316 ms 21152 KB
test_21.txt AC 349 ms 21092 KB
test_22.txt AC 361 ms 21108 KB
test_23.txt AC 303 ms 21124 KB
test_24.txt AC 314 ms 21084 KB
test_25.txt AC 303 ms 21168 KB
test_26.txt AC 309 ms 21068 KB
test_27.txt AC 322 ms 21136 KB
test_28.txt AC 317 ms 21096 KB
test_29.txt AC 298 ms 21188 KB
test_30.txt AC 298 ms 21184 KB
test_31.txt AC 309 ms 21148 KB
test_32.txt AC 313 ms 21152 KB
test_33.txt AC 310 ms 21172 KB
test_34.txt AC 301 ms 21076 KB
test_35.txt AC 302 ms 21088 KB
test_36.txt AC 298 ms 21088 KB
test_37.txt AC 302 ms 21092 KB
test_38.txt AC 303 ms 21216 KB
test_39.txt AC 299 ms 21144 KB
test_40.txt AC 314 ms 21044 KB
test_41.txt AC 297 ms 21088 KB
test_42.txt AC 331 ms 21148 KB
test_43.txt AC 324 ms 21128 KB
test_44.txt AC 319 ms 21132 KB
test_45.txt AC 346 ms 21120 KB
test_46.txt AC 330 ms 21060 KB
test_47.txt AC 324 ms 21124 KB
test_48.txt AC 305 ms 21080 KB
test_49.txt AC 340 ms 21044 KB
test_50.txt AC 314 ms 21180 KB
test_51.txt AC 341 ms 21216 KB
test_52.txt AC 329 ms 20956 KB
test_53.txt AC 339 ms 21068 KB
test_54.txt AC 306 ms 21192 KB
test_55.txt AC 308 ms 20952 KB
test_56.txt AC 342 ms 21172 KB
test_57.txt AC 305 ms 21168 KB
test_58.txt AC 313 ms 21120 KB