分类讨论(Python)
至
https://www.nowcoder.com/practice/36892cfda60144bb9eb8b20f2f61e0b6
思路:分类讨论
代码:
import sys
input = lambda: sys.stdin.readline().strip()
import math
inf = 10 ** 18
def I():
return input()
def II():
return int(input())
def MII():
return map(int, input().split())
def GMI():
return map(lambda x: int(x) - 1, input().split())
def LI():
return input().split()
def LII():
return list(map(int, input().split()))
def LFI():
return list(map(float, input().split()))
fmax = lambda x, y: x if x > y else y
fmin = lambda x, y: x if x < y else y
isqrt = lambda x: int(math.sqrt(x))
'''
'''
def solve():
n = II()
x1, y1 = MII()
x2, y2 = MII()
# 预处理,左边的点y小,右边的点y大
if y1 > y2:
x1, x2 = x2, x1
y1, y2 = y2, y1
# 如果相同,必然合法
if x1 == x2 and y1 == y2:
print("YES")
return
# 如果不相同,并且右边的点已经在终点,不合法
if (x2, y2) == (2, n):
print("NO")
return
# 如果在同一行/同一列,无法放置障碍物使得在第一步之后两者在同一位置
if x1 == x2 or y1 == y2:
print("NO")
return
# 如果列相差大于1,也无法放置障碍物使得在第一步之后两者在同一位置
if y2 - y1 > 1:
print("NO")
return
# 其他的2 * 2对角情况可以满足条件,除了以下这种情况
# 当(x2, y2)就在(2, n - 1)的位置时,由于题目说了不能在终点放置障碍物,所以说这种情况不合法
if y2 + 1 == n:
print("NO")
return
# 除此之外都是合法情况
print("YES")
t = 1
# t = II()
for _ in range(t):
solve()
#每日一题挑战#