結果
問題 | No.517 壊れたアクセサリー |
ユーザー |
![]() |
提出日時 | 2017-05-31 19:26:59 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,211 bytes |
コンパイル時間 | 660 ms |
コンパイル使用メモリ | 84,408 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-21 20:27:02 |
合計ジャッジ時間 | 1,227 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 15 |
ソースコード
/* -*- coding: utf-8 -*-** 517.cc: No.517 壊れたアクセサリー - yukicoder*/#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<iostream>#include<string>#include<vector>#include<map>#include<set>#include<stack>#include<list>#include<queue>#include<deque>#include<algorithm>#include<numeric>#include<utility>#include<complex>#include<functional>using namespace std;/* constant */const int MAX_N = 26;/* typedef *//* global variables */bool used[MAX_N];int prvs[MAX_N], nxts[MAX_N];/* subroutines *//* main */int main() {memset(prvs, -1, sizeof(prvs));memset(nxts, -1, sizeof(nxts));for (int i = 0; i < 2; i++) {int n;cin >> n;for (int j = 0; j < n; j++) {string s;cin >> s;for (int k = 0; k < s.size(); k++) {int t = s[k] - 'A';used[t] = true;if (k > 0) {int u = s[k - 1] - 'A';prvs[t] = u;nxts[u] = t;}}}}int top = -1;for (int i = 0; i < 26; i++)if (used[i] && prvs[i] < 0) {if (top >= 0) {puts("-1");return 0;}top = i;}for (int i = top; i >= 0; i = nxts[i]) putchar(i + 'A');putchar('\n');return 0;}