Submission #902461


Source Code Expand

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int TimeToIndex(int);
void RoundDown(int*);
void RoundUp(int*);
int main()
{
    int log[289]={0}; // 0:不明 1:降り始め 2:降り終わり 3:降ってた
    int N; cin >> N;
    for(int i=0;i<N;++i){
        char input[10]; cin >> input;
        int S_time, E_time;
        char S_ch[4], E_ch[4];

        for(int j=0;j<4;++j)
            S_ch[j]=input[j];
        S_ch[4]='\0';
        S_time = atoi(S_ch);
        RoundDown(&S_time);

        for(int j=0;j<4;++j)
            E_ch[j]=input[j+5];
        E_ch[4]='\0';
        E_time = atoi(E_ch);
        RoundUp(&E_time);
        
        int S_index = TimeToIndex(S_time);
        int E_index = TimeToIndex(E_time);

        switch (log[S_index]) {
        case 0:
            log[S_index]=1;
            break;
        case 1:
            break;
        case 2:
            log[S_index]=3;
            break;
        case 3:
            break;
        default:
            break;
        }
        for(int j=S_index+1;j<E_index;++j) log[j]=3;
        switch (log[E_index]) {
        case 0:
            log[E_index]=2;
            break;
        case 1:
            log[E_index]=3;
            break;
        case 2:
            break;
        case 3:
            break;
        default:
            break;
        }
    }

    /* デバッグ出力
    for(int i=0;i<24;++i){
        printf("%02d:",i);
        for(int j=0;j<12;++j)
            cout << log[i*12 + j] << " ";
        cout << endl;
    }cout<< "24:" << log[288] <<endl;
    */

    for(int i=0;i<289;++i){
        if(log[i]==1)
            printf("%02d%02d-",i/12,(i%12)*5);
        if(log[i]==2)
            printf("%02d%02d\n",i/12,(i%12)*5);
    }
    return 0;
}

int TimeToIndex(int time){
    return (time/100)*12 + (time%100)/5;
}
void RoundDown(int* time){
    switch (*time%10) {
    case 1:
    case 2:
    case 3:
    case 4:
        *time -= *time%10;
        break;
    case 6:
    case 7:
    case 8:
    case 9:
        *time -= *time%10;
        *time += 5;
        break;
    case 0:
    case 5:
    default:
        break;
    }
    return;
}

void RoundUp(int* time){
    switch (*time%10) {
    case 1:
    case 2:
    case 3:
    case 4:
        *time -= *time%10;
        *time += 5;
        break;
    case 6:
    case 7:
    case 8:
    case 9:
        *time -= *time%10;
        *time += 10;
        break;
    case 0:
    case 5:
    default:
        break;
    }
    if(*time%100==60)
        *time += 40;
    return;
}

Submission Info

Submission Time
Task D - 感雨時刻の整理
User Qfktm
Language C++ (G++ 4.6.4)
Score 100
Code Size 2685 Byte
Status AC
Exec Time 39 ms
Memory 924 KB

Judge Result

Set Name all
Score / Max Score 100 / 100
Status
AC × 48
Set Name Test Cases
all 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, cho_cho_chokudai.txt, chokudai_ga_cho.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
Case Name Status Exec Time Memory
00_sample_01.txt AC 19 ms 800 KB
00_sample_02.txt AC 19 ms 804 KB
00_sample_03.txt AC 17 ms 804 KB
cho_cho_chokudai.txt AC 39 ms 676 KB
chokudai_ga_cho.txt AC 35 ms 676 KB
test_01.txt AC 19 ms 676 KB
test_02.txt AC 18 ms 676 KB
test_03.txt AC 18 ms 804 KB
test_04.txt AC 18 ms 748 KB
test_05.txt AC 18 ms 796 KB
test_06.txt AC 16 ms 800 KB
test_07.txt AC 16 ms 804 KB
test_08.txt AC 17 ms 720 KB
test_09.txt AC 19 ms 676 KB
test_10.txt AC 20 ms 796 KB
test_11.txt AC 19 ms 672 KB
test_12.txt AC 17 ms 904 KB
test_13.txt AC 19 ms 672 KB
test_14.txt AC 19 ms 800 KB
test_15.txt AC 19 ms 800 KB
test_16.txt AC 18 ms 804 KB
test_17.txt AC 18 ms 800 KB
test_18.txt AC 19 ms 800 KB
test_19.txt AC 18 ms 676 KB
test_20.txt AC 19 ms 800 KB
test_21.txt AC 32 ms 676 KB
test_22.txt AC 34 ms 796 KB
test_23.txt AC 32 ms 800 KB
test_24.txt AC 34 ms 804 KB
test_25.txt AC 35 ms 676 KB
test_26.txt AC 33 ms 800 KB
test_27.txt AC 34 ms 804 KB
test_28.txt AC 33 ms 808 KB
test_29.txt AC 17 ms 844 KB
test_30.txt AC 18 ms 676 KB
test_31.txt AC 20 ms 800 KB
test_32.txt AC 16 ms 800 KB
test_33.txt AC 27 ms 800 KB
test_34.txt AC 18 ms 800 KB
test_35.txt AC 16 ms 804 KB
test_36.txt AC 35 ms 676 KB
test_37.txt AC 35 ms 804 KB
test_38.txt AC 31 ms 804 KB
test_39.txt AC 31 ms 924 KB
test_40.txt AC 33 ms 676 KB
test_41.txt AC 34 ms 804 KB
test_42.txt AC 36 ms 800 KB
test_43.txt AC 35 ms 800 KB