CF508D.Tanya and Password
省选/NOI-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
While dad was at work, a little girl Tanya decided to play with dad's password to his secret database. Dad's password is a string consisting of n + 2 characters. She has written all the possible n three-letter continuous substrings of the password on pieces of paper, one for each piece of paper, and threw the password out. Each three-letter substring was written the number of times it occurred in the password. Thus, Tanya ended up with n pieces of paper.
Then Tanya realized that dad will be upset to learn about her game and decided to restore the password or at least any string corresponding to the final set of three-letter strings. You have to help her in this difficult task. We know that dad's password consisted of lowercase and uppercase letters of the Latin alphabet and digits. Uppercase and lowercase letters of the Latin alphabet are considered distinct.
爸爸上班时,小女孩塔尼娅决定玩一玩爸爸秘密数据库的密码。爸爸的密码是一个由 n+2 个字符组成的字符串。她将该密码中所有可能的 n 个连续三字母子串分别写在纸条上(每张纸条写一个子串),然后把原密码扔掉了。每个三字母子串被写出的次数等于它在原密码中出现的次数。因此,塔尼娅最终得到了 n 张纸条。
随后,塔尼娅意识到爸爸知道这件事后会很生气,于是决定恢复原始密码,或至少构造出任意一个与当前这些三字母子串集合相容的字符串。你需要帮她完成这项困难的任务。已知爸爸的密码仅由拉丁字母(大小写)和数字组成;其中,拉丁字母的大写与小写被视为不同字符。
输入格式
The first line contains integer n (1 ≤ n ≤ 2·105), the number of three-letter substrings Tanya got.
Next n lines contain three letters each, forming the substring of dad's password. Each character in the input is a lowercase or uppercase Latin letter or a digit.
第一行包含一个整数 n(1≤n≤2⋅105),表示塔尼娅得到的三字母子串的数量。
接下来的 n 行,每行包含三个字母,构成爸爸密码的一个三字母子串。输入中的每个字符均为小写或大写拉丁字母,或一个数字。
输出格式
If Tanya made a mistake somewhere during the game and the strings that correspond to the given set of substrings don't exist, print "NO".
If it is possible to restore the string that corresponds to given set of substrings, print "YES", and then print any suitable password option.
如果塔尼娅在游戏过程中某处出错,使得与给定子串集合相对应的字符串不存在,则输出 "NO"。
如果可以恢复出与给定子串集合相对应的字符串,则输出 "YES",然后输出任意一个合适的密码。
输入输出样例
输入#1
5 aca aba aba cab bac
输出#1
YES abacaba
输入#2
4 abc bCb cb1 b13
输出#2
NO
输入#3
7 aaa aaa aaa aaa aaa aaa aaa
输出#3
YES aaaaaaaaa
输入解题思路,AI测评打分。不知道怎么写?