牛客

阅读: 评论:0

牛客

牛客

题目描述

在上一集中(新生赛),策策学长的 hxd 终于帮助策策学长打到了超凡大师,但是他却拿走了策策学长的 py。(某python项目源码真的是源码吗?))
策策学长决定找回他自己 py,但他的 py 被分裂成了 k 份,被无情的散布在一个 n×m 的网格中,他需要找回所有的 py 碎片来重获 py。
策策学长从 (1, 1)(1,1) 出发走到 (n, m)(n,m),每次只能向下或者向右移动一格,策策学长会在移动的过程中收集 py 碎片,请你帮他判断是否能收集到所有的 py 碎片。

输入描述

第一行有一个正整数 T(1<=T<=1000),表示有 T 组数据。对于每一组样例,第一行有三个正整数 n, m, k,其中 1<=n,m<=10^4,1<=k<=nm.接下来的 k 行,每行有两个正整数xi,yi其中1 <= xi <= n,1 <= yi <= m.保证全部 T 组输入满足∑k⩽2×10 ^5,同一个格子可能含有多个py碎片。
输入描述
输出 TT 行, 每行输出 `YES` 或者 `NO`, 
表示策策学长是否能找回他的 py。
示例 1:
输入:
2
3 3 3
1 1
2 2
3 3
3 3 3
1 1
1 2
2 1
输出:
YES
NO
说明

样例的两张图如下所示:
左图可以通过:向右、向下、向右、向下的步骤找到所有 py 碎片,输出 YES, 右图无解输出 NO.

Java代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Comparator;public class Main {//拿人家py真过分public static void main(String[] args) throws IOException {//InputReader是自己写的一个输出类,代码就不放了,你可以换成scanner。InputReader scanner = new InputReader(System.in);int t = Int();for (int i = 0; i < t; i++) {int n = Int();int m  = Int();int k  = Int();int[][] arr = new int[k][2];boolean flag = true;for (int j = 0; j < k; j++) {arr[j][0] = Int();arr[j][1] = Int();}Arrays.sort(arr, new sort2());for (int j = 0; j < k-1; j++) {if(arr[j+1][1] < arr[j][1]){flag = false;break;}}if (flag) {System.out.println("YES");}else {System.out.println("NO");}}}
}
class sort2 implements Comparator<int[]> {@Overridepublic int compare(int[] o1, int[] o2) {if(o1[0] > o2[0]) {return 1;} else if(o1[0] == o2[0]){if(o1[1] > o2[1]){return 1;}else if(o1[1] == o2[1]){return 0;}else{               return -1;}}else{return -1;}}
}
解题思路

对数组进行排序,要自定义排序规则,注意不要写错,比赛时就因为一个下标写错,结果一直没过去(草),
优先对x排序,x想等则对y排序,我们只需保证排序后的数组中y有序递增即可证明可以收集到全部py(笑😂 ),不要想着生成数组后用什么动归,那玩意时间复杂度应该是nmt,太高了,而且生成数组会占用大量空间,我们这样时间复杂度是tlogk,而且空间应该也是tk。

本文发布于:2024-01-29 02:40:33,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170646723512113.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:牛客
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23