結果
| 問題 |
No.138 化石のバージョン
|
| コンテスト | |
| ユーザー |
kachipan
|
| 提出日時 | 2023-07-03 14:06:14 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,342 bytes |
| コンパイル時間 | 176 ms |
| コンパイル使用メモリ | 31,232 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-17 11:48:12 |
| 合計ジャッジ時間 | 1,377 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | RE * 3 |
| other | AC * 4 RE * 29 |
コンパイルメッセージ
main.c: In function 'main':
main.c:31:25: warning: 'return' with no value, in function returning non-void
31 | return;
| ^~~~~~
main.c:11:5: note: declared here
11 | int main()
| ^~~~
main.c:36:25: warning: 'return' with no value, in function returning non-void
36 | return;
| ^~~~~~
main.c:11:5: note: declared here
11 | int main()
| ^~~~
main.c: In function 'ParseNumArray':
main.c:80:42: warning: 'ToInt' accessing 10 bytes in a region of size 4 [-Wstringop-overflow=]
80 | intVer[intItr] = ToInt(buff);
| ^~~~~~~~~~~
main.c:80:42: note: referencing argument 1 of type 'char[10]'
main.c:44:5: note: in a call to function 'ToInt'
44 | int ToInt(char str[10])
| ^~~~~
ソースコード
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <string.h>
int ToInt(char str[10]);
void Init(char* init);
void ParseNumArray(char* ver, int* intVer);
int main()
{
char fossilVer[12] = "";
char assessVer[12] = "";
int fossil[3] = { 0 };
int assess[3] = { 0 };
int chrItr = 0;
int intItr = 0;
char buff[4] = "";
scanf("%s", fossilVer);
scanf("%s", assessVer);
ParseNumArray(fossilVer, fossil);
ParseNumArray(assessVer, assess);
for (int i = 0;i < 3;i++)
{
if (fossil[i] > assess[i])
{
printf("YES\n");
return;
}
else if (fossil[i] < assess[i])
{
printf("NO\n");
return;
}
}
printf("YES\n");
return 0;
}
int ToInt(char str[10])
{
int re_num = 0;
for (int i = 0;str[i] != '\0';i++)
{
int num = str[i] - 48;
if (num > 9 || num < 0)
{
return -1;
}
re_num = re_num * 10;
re_num += num;
}
return re_num;
}
void Init(char* init)
{
for (int i = 0;init[i] != '\0';i++)
{
init[i] = '\0';
}
}
void ParseNumArray(char* ver, int* intVer)
{
int chrItr = 0;
int intItr = 0;
char buff[4] = "";
for (int i = 0;;i++)
{
if (ver[i] == '.' || ver[i] == '\0')
{
intVer[intItr] = ToInt(buff);
intItr++;
chrItr = 0;
Init(buff);
if (ver[i] == '\0')
{
break;
}
continue;
}
buff[chrItr] = ver[i];
chrItr++;
}
}
kachipan