小美拿到了一个排列。她想知道在这个排列中,x和y是否是相邻的。你能帮帮她吗?
排列是指一个长度为n的数组,其中 1 到n每个元素恰好出现一次。
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
输入描述:
第一行输入一个正整数,代表排列的长度。
第二行输入个正整数,代表排列的元素。
第三行输入两个正整数和,用空格隔开。
保证
输出描述:
如果和在排列中相邻,则输出"Yes"。否则输出"No"。
示例1
输入例子:
4
1 4 2 3
2 4
输出例子:
Yes
示例2
输入例子:
5
3 4 5 1 2
3 2
输出例子:
No
题解
题解
def create_arr(n):
arr = list(map(int,input().split(' ')))
return arr
def judge_next(x, y, arr):
if x not in arr or y not in arr:
return 'No'
if x in arr or y in arr:
if arr[arr.index(x)-1] == y or arr[arr.index(x)+1] == y:
return 'Yes'
# elif arr[arr.index(y)-1] == x or arr[arr.index(y)+1] == x:
# return 'Yes'
else:
return 'No'
n = int(input())
arr = create_arr(n)
x,y = map(int,input().split(' '))
print(judge_next(x, y, arr))