电子商务网站业务流程,网站制作地点,百度免费注册,湖北网站科技建设项目至
时间限制#xff1a;1秒 空间限制#xff1a;1024M
网页链接
牛客tracker
牛客tracker 每日一题#xff0c;完成每日打卡#xff0c;即可获得牛币。获得相应数量的牛币#xff0c;能在【牛币兑换中心】#xff0c;换取相应奖品#xff01;助力每日有题做1秒 空间限制1024M网页链接牛客tracker牛客tracker 每日一题完成每日打卡即可获得牛币。获得相应数量的牛币能在【牛币兑换中心】换取相应奖品助力每日有题做丰盈牛币日益多题目描述⭐我喜欢在雨天屋檐下追溯滞后的频率Bingbong 给定一个大小为2 × n 2×n2×n2 22行n nn列的矩阵我们使用( i , j ) (i,j)(i,j)表示矩阵中从上往下数第i ii行和从左往右数第j jj列的位置初始时每个位置都为空地。Bing 初始位于( x 1 , y 1 ) (x_1,y_1)(x1,y1)Bong 初始位于( x 2 , y 2 ) (x_2,y_2)(x2,y2)两个人的位置可以重复。他们每次移动会以向上、向下或者向右移动一个单元格直到移动到终点( 2 , n ) (2,n)(2,n)前提是不能超出边界。一个位置若放置了障碍物则无法进入。现在你可以在矩阵上放置任意数量的障碍物也可以不放置障碍物需要满足以下条件两个人的初始位置和终点不得放置障碍物。两个人都至少存在一条路径可以到达( 2 , n ) (2,n)(2,n)。使得B i n g BingBing和B o n g BongBong两个人移动到终点的最短路径长度相等。请判断是否存在满足条件的放置方法若存在输出Y E S YESYES否则输出N O NONO。输入描述第一行输入一个整数n ( 1 ≦ n ≦ 1 0 5 ) n(1≦n≦10^5)n(1≦n≦105)表示矩阵的列长。第二行输入两个整数x 1 , y 1 ( 1 ≦ x 1 ≦ 2 ; 1 ≦ y 1 ≦ n ) x_1,y_1(1≦x_1≦2; 1≦y_1≦n)x1,y1(1≦x1≦2;1≦y1≦n)表示B i n g BingBing的起始位置。第三行输入两个整数x 2 , y 2 ( 1 ≦ x 2 ≦ 2 ; 1 ≦ y 2 ≦ n ) x_2,y_2(1≦x_2≦2; 1≦y_2≦n)x2,y2(1≦x2≦2;1≦y2≦n)表示B o n g BongBong的起始位置。输出描述请判断是否存在满足条件的放置方法若存在输出Y E S YESYES否则输出N O NONO。示例1输入6 1 1 1 1输出YES示例2输入6 1 1 1 2输出NO解题思路首先检查起始位置的列是否超过n nn若超过则直接输出N O NONO随后根据两人起始位置的行是否相同分类判断若行相同列相同则初始最短路径长度一致输出Y E S YESYES列不同则无法通过放置障碍物调整路径长度使其相等输出N O NONO若行不同先排除某位置列为n nn且行的关系导致无法调整的边界情况再判断列的差值是否为1 11且满足行与列的位置条件如x 1 x 2 x_1x_2x1x2时y 1 ≠ n − 1 y_1≠n-1y1n−1等满足则可通过放置障碍物调整路径长度使其相等输出Y E S YESYES否则输出N O NONO该方法通过分析起始位置的行和列的数学关系避免模拟路径和障碍物放置时间复杂度为O ( 1 ) O(1)O(1)适配n nn达1 e 5 1e51e5的规模精准判断是否存在符合条件的放置方法。代码内容#includebits/stdc.husingnamespacestd;typedeflonglongll;typedefpairll,llpii;constll p1e97;constll N5e220;intmain(){ll n;cinn;ll x1,x2,y1,y2;cinx1y1;cinx2y2;if(y1n||y2n)coutNOendl;elseif(x1x2){if(y1y2)coutYESendl;elsecoutNOendl;}else{if((x1x2y1n)||(x1x2y2n))coutNOendl;elseif((y1-y21)||(y2-y11)((x1x2y1!n-1)||(x2x1y2!n-1)))coutYES;elsecoutNOendl;}return0;}