結果
問題 |
No.1135 RPN
|
ユーザー |
![]() |
提出日時 | 2020-10-06 22:10:40 |
言語 | C (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,146 bytes |
コンパイル時間 | 832 ms |
コンパイル使用メモリ | 29,568 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-20 03:03:47 |
合計ジャッジ時間 | 1,548 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 1 WA * 15 |
コンパイルメッセージ
main.c: In function 'main': main.c:8:13: warning: implicit declaration of function 'getc_unlocked' [-Wimplicit-function-declaration] 8 | k = getc_unlocked(stdin); | ^~~~~~~~~~~~~ main.c:46:12: warning: implicit declaration of function 'putc_unlocked' [-Wimplicit-function-declaration] 46 | if (m) putc_unlocked('-', stdout); | ^~~~~~~~~~~~~
ソースコード
#include <stdio.h> #include <stdlib.h> #include <unistd.h> int main() { int n = 0, m, k, pt = 0, stk[500]; for (;;) { k = getc_unlocked(stdin); if (k < '0' || k > '9') break; n = n * 10 + k - '0'; } // printf("%d\n", n); for (int i = 0; i < n; ++i) { // printf("i=%d, n=%d\n", i, n); k = getc_unlocked(stdin); if (k == '+') { --pt; stk[pt - 1] += stk[pt]; getc_unlocked(stdin); } else if (k == '-') { --pt; stk[pt - 1] -= stk[pt]; getc_unlocked(stdin); } else { int m = k - 48; for (;;) { k = getc_unlocked(stdin); if (k < '0' || k > '9') break; m = n * 10 + k - '0'; } stk[pt++] = m; } } n = 0, m = 0, k = *stk; char f[6]; if (k < 0) { m = 1; k = -k; } while (k) { f[n++] = k % 10; k /= 10; } if (!n) f[n++] = 0; if (m) putc_unlocked('-', stdout); while (n--) putc_unlocked(f[n] + '0', stdout); return 0; }