hzwer爱折纸
题目描述
hzwer 买到了一张神奇的小纸条,初始时它由N 个格子组成,每个格子上面有一个整数Ni,显然每两个相邻的格子之间有一条分界线,hzwer 可以选择任意一条分界线,将整张纸条进行向左翻折,如果翻折后有两个格子重叠,那么翻折后的格子上数字为原两个格子数字之和,否则数字保持不变。hzwer 也可以将整张纸条进行向左翻转,翻转之后第i 个格子的数字变成第N-i+1 个格子的数字。
输入格式
多组数据,最多5 组,每组数据由四行组成
第一行包含一个整数N,代表了初始纸条的格子数
第二行包含N 个整数,代表了初始时每个格子的值Ni
第三行包含一个整数M(M<=N),代表了理想纸条的格子数
第四行包含M 个整数,代表了理想纸条上每个格子的值Mi
输出格式
每组数据包含一个字母,’S’代表可行,’N’代表不可行。
输入输出样例
输入
7
5 6 23 8 19 7 10
4
5 16 30 27
7
1 2 3 4 5 6 7
5
7 6 5 5 5
4
1 2 3 4
1
10
6
19 23 3 51 2 0
2
34 64
输出
S
S
S
N
解题思路:
拿过题来,映入眼帘的就是本题良心的数据范围:1≤n≤15。可以确定,暴力搜索加上一些奇奇怪怪的特

该博客介绍了洛谷P2809题目的解法,内容涉及如何通过深度优先搜索(DFS)解决纸条翻折问题。题目要求在给定初始纸条序列和理想纸条序列的情况下,判断能否通过翻折和翻转操作达到理想状态。解题思路包括利用DFS搜索,边界条件是纸条序列长度等于理想序列长度,并考虑序列的倒序情况。代码实现中包含了翻折操作的细节处理。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



