获赞
23
粉丝
1
关注
2
看过 TA
8
电子科技大学
2020
C++
IP属地:四川
任重而道远
私信
关注
2019-08-18 17:16
已编辑
华为成都研究所_通信技术工程师
小Q在进行一场竞技游戏,这场游戏的胜负关键就在于能否争夺一条长度为L的河道,即可以看做是[0,L]的一条数轴。 这款竞技游戏当中有n个可以提供视野的道具--真视守卫,第i个真视守卫能够覆盖[xi,yi]。现在小Q想知道至少用几个真视守卫就可以覆盖整段河道。 输入描述 输入包括n+1行 第一行包括两个正整数n和L(1<=n<=10^5,1<=L<=10^9) 接下来的n行,每行两个正整数xi,yi(0<=xi<=yi<=10^9),表示第i个真视守卫覆盖的区间 输出描述,一个表示最少需要的真视守卫数量,...
咱也不知道起什么名字:public static void main(String[] args) { Scanner input=new Scanner(System.in); int n=input.nextInt(); int L=input.nextInt(); int[][] nums=new int[n][2]; int ce=0; while(ce<n) { nums[ce][0]=input.nextInt(); nums[ce][1]=input.nextInt(); ce++; } System.out.println(guidenum(nums,L)); } public static int guidenum(int[][] nums,int L) { int count=0; Arrays.sort(nums,(a,b)->a[0]-b[0]); int start=0,end=0; for(int i=0;start<L;) { for(;i<nums.length&&nums[i][0]<=start;i++) end=Math.max(end,nums[i][1]); if(start==end)return -1; start=end; count++; } return count; }
投递腾讯等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务