結果
| 問題 |
No.652 E869120 and TimeZone
|
| コンテスト | |
| ユーザー |
snow4726
|
| 提出日時 | 2018-03-10 20:24:16 |
| 言語 | C (gcc 13.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 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | AC * 27 WA * 3 |
ソースコード
#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;
}
snow4726