代码很烂,将就看吧;
两个数组分别存x和y坐标,将x坐标排序,两个map存x对应的序号,每次都从拍好序的x往后面倒,如果倒下的牌的范围比当前范围大,则替换当前范围
import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Demo23 { public static void main(String[] args) {
Scanner in=new Scanner(System.in); int n=in.nextInt(); int a[]=new int[n+1]; int b[]=new int[n+1]; Map<Integer,Integer>map=new HashMap<Integer, Integer>(n); Map<Integer,Integer>map1=new HashMap<Integer, Integer>(n); for (int i = 1; i < n+1; i++) { int test=in.nextInt(); a[i]=test; int test1=in.nextInt(); b[i]=test1; map.put(i,test); map1.put(test,i); }
Arrays.sort(a); for (int i = 1; i <n+1 ; i++) { int x=map.get(i); int flag=0; for (int j =1; j < n+1; j++) { if (a[j]==x){
flag=j; break; }
} int y=b[i]; int temp=0; temp=x+y-1; int num=0; while (flag<n+1){ if (flag==n) { break; } else { if (a[flag+1]>=x+1&&a[flag+1]<=temp){
num++; if (a[flag+1]+b[map1.get(map.get(flag))+1]-1>temp)temp=a[flag+1]+b[map1.get(map.get(flag))+1]-1; }
}
flag++; }
System.out.println(num+1); }
}
}
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆