結果

問題 No.652 E869120 and TimeZone
ユーザー snow4726snow4726
提出日時 2018-03-10 20:24:16
言語 C
(gcc 12.3.0)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 2,503 bytes
コンパイル時間 1,194 ms
コンパイル使用メモリ 31,488 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-24 16:10:15
合計ジャッジ時間 2,541 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,812 KB
testcase_01 AC 1 ms
6,940 KB
testcase_02 AC 1 ms
6,940 KB
testcase_03 AC 1 ms
6,944 KB
testcase_04 AC 1 ms
6,944 KB
testcase_05 AC 1 ms
6,944 KB
testcase_06 AC 1 ms
6,940 KB
testcase_07 AC 1 ms
6,940 KB
testcase_08 AC 1 ms
6,944 KB
testcase_09 AC 1 ms
6,940 KB
testcase_10 AC 1 ms
6,944 KB
testcase_11 AC 1 ms
6,944 KB
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 AC 1 ms
6,944 KB
testcase_16 AC 1 ms
6,940 KB
testcase_17 AC 1 ms
6,940 KB
testcase_18 AC 1 ms
6,944 KB
testcase_19 AC 1 ms
6,940 KB
testcase_20 AC 1 ms
6,944 KB
testcase_21 AC 1 ms
6,940 KB
testcase_22 AC 1 ms
6,944 KB
testcase_23 AC 1 ms
6,944 KB
testcase_24 AC 1 ms
6,940 KB
testcase_25 AC 1 ms
6,944 KB
testcase_26 AC 1 ms
6,944 KB
testcase_27 AC 1 ms
6,940 KB
testcase_28 AC 1 ms
6,940 KB
testcase_29 AC 1 ms
6,940 KB
testcase_30 AC 1 ms
6,940 KB
testcase_31 AC 1 ms
6,940 KB
testcase_32 AC 1 ms
6,940 KB
testcase_33 AC 1 ms
6,940 KB
testcase_34 AC 1 ms
6,944 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<stdio.h>
#include<stdlib.h>

#define MOJI 13

int main(){

    char* str;
    char* a;
    char* b;
    char* s;
    char* x;
    char sym;
    int i = 10;
    int j = 0;
    /* int m; */
    int d1,d2,dd1,dd2;
    double d;
    int data1;
    double data2;
    int tmp;
    int zzz = 0;
    double stock1;
    int stock2;

    str = (char*)calloc(MOJI+1+1,sizeof(char));
    fgets(str,MOJI+1+1,stdin);

    s = (char*)calloc(5,sizeof(char));
    x = (char*)calloc(3,sizeof(char));
    a = (char*)calloc(3,sizeof(char));
    b = (char*)calloc(3,sizeof(char));

    a[0] = str[0];
    a[1] = str[1];
    a[2] = '\0';
    dd1 = atoi(a);

    /***/
    /* printf("a\n"); */

    b[0] = str[3];
    b[1] = str[4];
    b[2] = '\0';
    dd2 = atoi(b);

    /***/
    /* printf("b\n"); */

    sym = str[9];

    while( str[i] != '\n' && str[i] != '\0' ){
        s[j] = str[i];
        i++;
        j++;
    }
    s[j] = '\0';
    /* m = j; */

    /***/
    /* printf("c\n"); */

    i = 0;
    while( s[i] != '.' && s[i] != '\0' ){
        x[i] = s[i];
        i++;
    }
    x[i] = '\0';
    d1 = atoi(x);
    i++;

    /***/
    /* printf("d\n"); */

    if( s[i-1] != '\0' && s[i-1] == '.' ){
        j = 0;
        while( s[i] != '\0' ){
            x[j] = s[i];
            i++;
            j++;
        }
        x[j] = '\0';
        d2 = atoi(x);
    }else{
        d2 = 0;
    }

    /***/
    /* printf("e\n"); */

    d = (double)d1 + (double)d2/10.0;
    if( sym == '-' ) d = 24.0 - d;
    d -= 9.0;

    data1 = (int)d;
    data2 = d - (double)((int)d);
/*
    printf("dd2 = %d\n",dd2);
*/
    stock1 = 60.0 * data2;
    if( stock1 > 0 ) stock1 += 0.0001;
    if( stock1 < 0 ) stock1 -= 0.0001;
    stock2 = (int)stock1;

/*
    printf("stock1 = %lf\n",stock1);
    printf("stock2 = %d\n",stock2);
*/

    tmp = dd2 + stock2;
    if( tmp >= 60 ) zzz++;

/*
    printf("tmp = %d\n",tmp);
*/
/*
    printf("60.0*data2 = %lf\n",60.0*data2);
    printf("data2 = %lf\n",data2);
    printf("(int)(60.0*data2) = %d\n",(int)(60.0*data2));
    printf("tmp = %d\n",tmp);
*/
    if( data2 != 0.0 ){
        dd2 = tmp;
        if( tmp < 0 ) dd2 = 60 + tmp;
    }

/*
    printf("data2 = %lf\n",data2);
    printf("tmp = %d\n",tmp);
*/

    if( tmp < 0 ) zzz--;
    if( dd1 + data1 + zzz < 0 ){
        dd1 = 24 - dd1 + data1 + zzz;
    }else{
        dd1 += data1 + zzz;
    }

/*
    printf("zzz = %d\n",zzz);
*/

    dd1 %= 24;
    dd2 %= 60;

    printf("%02d:%02d\n",dd1,dd2);

    return 0;

}
0