結果
問題 |
No.3157 Nabeatsu
|
ユーザー |
|
提出日時 | 2025-05-12 02:35:56 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,012 bytes |
コンパイル時間 | 1,379 ms |
コンパイル使用メモリ | 26,704 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-05-12 02:36:00 |
合計ジャッジ時間 | 3,300 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 42 RE * 3 |
コンパイルメッセージ
main.c: In function ‘main’: main.c:8:5: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 8 | fgets(S, 1000001, stdin); | ^~~~~~~~~~~~~~~~~~~~~~~~
ソースコード
#pragma GCC optimize("Ofast") #include <stdio.h> #include <string.h> char S[1000001]; int main(void) { fgets(S, 1000001, stdin); int mod3 = 0; int flag = 0; int i; char* lst; for (i = 0; S[i] != '\n'; ++i) { if (S[i] == '0') continue; lst = S + i; if (S[i] == '3') { S[i] = '2'; mod3 += 2; flag = 1; break; } else { mod3 += S[i] - '0'; } } mod3 %= 3; if (flag) { for (i++; S[i] != '\n'; ++i) { S[i] = '9'; } if (mod3 == 0) S[--i] = '8'; puts(S); return 0; } if (*lst == '4') { *lst = '2'; while (*++lst != '\n') { *lst = '9'; } if (mod3 == 2) *--lst = '8'; puts(S); return 0; } else { *lst -= 1; while (*++lst != '\n') { *lst = '9'; } if (mod3 == 1) *--lst = '8'; puts(S); return 0; } }