题目名称 816. 复原序列
输入输出 recover.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-06-15加入
开放分组 全部用户
提交状态
分类标签
动态规划
分享题解
通过:3, 提交:14, 通过率:21.43%
Gravatarcstdio 100 1.734 s 15.88 MiB C++
Gravatarww944606393 100 1.738 s 15.88 MiB C++
Gravatar葳棠殇 100 3.001 s 12.71 MiB C++
Gravatarcstdio 90 1.719 s 15.88 MiB C++
Gravatar葳棠殇 90 3.091 s 14.98 MiB C++
Gravatar葳棠殇 90 3.340 s 12.71 MiB C++
Gravatar葳棠殇 80 3.645 s 12.71 MiB C++
Gravatar葳棠殇 30 0.900 s 14.29 MiB C++
Gravatar葳棠殇 30 1.106 s 15.88 MiB C++
Gravatarcstdio 10 0.740 s 15.88 MiB C++
本题关联比赛
20120615
20140421
关于 复原序列 的近10条评论(全部评论)
题目丧心病狂!!!!!!!!!
Gravatarcstdio
2014-04-21 17:53 1楼

816. 复原序列

★   输入文件:recover.in   输出文件:recover.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

本题中,我们考察的是一类特殊的序列,这类序列只有+、-(正号,负号)两种符号构成,比如:-+++---++

我们将其中连续的+的长度按从左到右的顺序写出,即其派生序列,如-+++---++的派生序列为(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