結果
問題 | No.517 壊れたアクセサリー |
ユーザー |
![]() |
提出日時 | 2019-06-26 16:32:50 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 1,018 bytes |
コンパイル時間 | 269 ms |
コンパイル使用メモリ | 30,336 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-25 03:08:08 |
合計ジャッジ時間 | 1,135 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 15 |
コンパイルメッセージ
main.c: In function 'in': main.c:7:14: warning: implicit declaration of function 'getchar_unlocked' [-Wimplicit-function-declaration] 7 | #define gc() getchar_unlocked() | ^~~~~~~~~~~~~~~~ main.c:14:24: note: in expansion of macro 'gc' 14 | int n = 0, c = gc(); | ^~ main.c: In function 'outs': main.c:8:15: warning: implicit declaration of function 'putchar_unlocked' [-Wimplicit-function-declaration] 8 | #define pc(c) putchar_unlocked(c) | ^~~~~~~~~~~~~~~~ main.c:27:33: note: in expansion of macro 'pc' 27 | void outs(char *s) { while (*s) pc(*s++); } | ^~
ソースコード
// yukicoder: No.517 壊れたアクセサリー// 2019.6.26 bal4u#include <stdio.h>#if 1#define gc() getchar_unlocked()#define pc(c) putchar_unlocked(c)#else#define gc() getchar()#define pc(c) putchar(c)#endifint in() {int n = 0, c = gc();do n = 10 * n + (c & 0xf), c = gc(); while (c >= '0');return n;}int ins(char *s) {char *p = s;do *s = gc();while (*s++ > ' ');*--s = 0;return s - p;}void outs(char *s) { while (*s) pc(*s++); }typedef struct { int p, n; } T;T t[30];int nex[30];char a[30], f[30];int main(){int i, j, k, N, w, top;for (j = 0; j < 2; j++) {N = in();for (i = 0; i < N; i++) {w = ins(a);for (k = 0; k < w; k++) {int c = a[k] - 'A' + 1;f[c] = 1;if (k > 0) t[c].p = a[k-1]-'A'+1;if (k < w-1) t[c].n = a[k+1]-'A'+1;}}}top = 0;for (i = 1; i <= 27; i++) if (f[i]) {if (t[i].p == 0) {if (top) { outs("-1\n"); return 0; }top = i;}}while (top) {pc(top+'A'-1);top = t[top].n;}pc('\n');}