比赛场次 | 232 |
---|---|
比赛名称 | 20140421 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2014-04-21 08:00:00 |
结束时间 | 2014-04-21 11:30:00 |
开放分组 | 全部用户 |
注释介绍 |
题目名称 | 复原序列 |
---|---|
输入输出 | recover.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试点数 | 10 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
Cirno | WWWWWWWWWW | 0.001 s | 0.31 MiB | 0 |
【问题描述】
本题中,我们考察的是一类特殊的序列,这类序列只有+、-(正号,负号)两种符号构成,比如:-+++---++
我们将其中连续的+的长度按从左到右的顺序写出,即其派生序列,如-+++---++的派生序列为(3,2)。
现在的问题是,我们已知一个序列A的派生序列B,但是A的部分符号已经模糊到不能辨认的地步了。我们需要确定尽量多的符号。
【输入文件】
输入文件有两行。
第一行一个由+、-、?构成的序列,描述A,其中?表示已经无法辨认的符号。
第二行有若干整数描述A的生成序列B。
【输出文件】
输出一行,一个序列描述你恢复后的序列A(不能多余的空格),如果无解则输出一行No Solution。
【数据约定】
对于30%的数据满足|A| < 11
对于50%的数据满足|A| < 101
对于100%的数据满足|A| < 20001
B的元素属于[1 … |A|]
【样例】
输入样例1
+-?+-+++
1 2 3
输出样例1
+-++-+++
输入样例2
???
2
输出样例2
?+?
输入样例3
--
1
输出样例3
No Solution