神奇的魔法机

蒜头君发现神奇的魔法机其实是一个栈,通过进栈和出栈操作实现数字序列的重新排列。他现在想测试组装后的魔法机是否正常工作,通过输入11到NN的数字序列和目标序列来验证。如果能通过魔法机得到目标序列,则输出,否则输出不能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

蒜头君有一台神奇的魔法机,它能将输入的序列进行一系列复杂的变换,输出原序列的另一种排列方式。蒜头君十分好奇魔法机的工作原理,终于有一天他尝试着把魔法机拆开研究了。

通过一系列复杂的演算,蒜头君终于发现了魔法机的工作原理:其实魔法机就是一个栈,根据栈先进后出的性质,每次一个数字进栈或将栈顶元素弹出,由此可以产生不同的出栈序列,出栈序列就是原序列的另一种排列了。

在研究完原理后,蒜头君凭借记忆很快就把魔法机组装好了。现在蒜头君想测试下魔法机在组装完成后是否出现问题。

首先他将 11 到 NN 这 NN 个数字依次输入魔法机里,然后随机写下一组序列a,现在他想知道能否通过魔法机得到序列a,聪明的你能帮蒜头君算一算吗?

输入格式

输入有两行,第一行是一个正整数 N (1 \leq N \leq 100)N(1≤N≤100),表示输入魔法机序列的长度,第二行是序列a,共有 NN 个整数,表示要得到的目标序列。

序列为 11 到 NN 的排列,即序列a长度为 NN,保证序列中的整数都不相同,且整数在区间 [11, NN] 内。

输出格式

输出一行,如果能通过魔法机得到序列a,则输出YES,否则输出NO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值