备战蓝桥之思维

平台重叠真的坑

给你一句样例,如果你觉得自己的代码没问题那就试试吧

2

1 1 3

1 0 4

正确答案

0 0

0 0

P1105 平台 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

复制代码
import java.awt.Checkbox;
import java.awt.PageAttributes.OriginType;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.math.MathContext;
import java.security.PublicKey;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.TreeMap;
import java.util.TreeSet;

import javax.print.attribute.standard.JobMessageFromOperator;
public class Main {	
  public static void main(String[] args) throws NumberFormatException, IOException  {
	  Scanner scanner=new Scanner(System.in);
	 BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
	 PrintWriter pw1=new PrintWriter(System.out);
     String[] aStrings=br1.readLine().split(" ");
     bb=Integer.parseInt(aStrings[0]);
     aa1=new pingtai[bb];
     cc=new int[bb][2];
     int a;
     for(a=0;a<bb;a++) {
    	 String[] bStrings=br1.readLine().split(" ");
    	 int b=Integer.parseInt(bStrings[0]);
    	 int c=Integer.parseInt(bStrings[1]);
         int d=Integer.parseInt(bStrings[2]);
    	 aa1[a]=new pingtai(b, c, d,a);
     }
     Arrays.sort(aa1);
     
     int e;
     int l=0,r=0,h=0;
for(a=0;a<bb;a++) {
	//System.out.println(aa1[a]);
	r=l=-1;
	for(e=a+1;e<bb;e++) {
		if(aa1[a].heigh!=aa1[e].heigh) {
		if(r>-1&&l>-1) {			
			break;
		}
		
		if(l==-1&&aa1[e].left<aa1[a].left&&aa1[e].right>aa1[a].left) {
			l=aa1[e].xuhao+1;
		}
		if(r==-1&&aa1[e].right>aa1[a].right&&aa1[e].left<aa1[a].right) {
			r=aa1[e].xuhao+1;
		}
	}
	}
	if(r==-1) {
		r=0;
	}
	if(l==-1) {
		l=0;
	}
	cc[aa1[a].xuhao][0]=l;
	cc[aa1[a].xuhao][1]=r;
}
for(int k=0;k<bb;k++) {
	pw1.println(cc[k][0]+" "+cc[k][1]);
}
pw1.flush();
pw1.close();
	}
	public static pingtai[] aa1;
	public static int bb;
    public static int[][] cc;
}
class pingtai implements Comparable<pingtai>{
	int heigh;
	int left,right;
	int xuhao;
	public pingtai(int heigh, int left, int right, int xuhao) {
		super();
		this.heigh = heigh;
		this.left = left;
		this.right = right;
		this.xuhao = xuhao;
	}
	@Override
	public int compareTo(pingtai o) {
		int a=o.heigh-this.heigh;
		if(a==0) {
			a=this.xuhao-o.xuhao;
		}
		return a;
	}
	@Override
	public String toString() {
		return "pingtai [heigh=" + heigh + ", left=" + left + ", right=" + right + ", xuhao=" + xuhao + "]";
	}

	
}
相关推荐
jimy15 分钟前
C语言模拟对象、方法:“函数指针+结构体“复用函数指针指向的函数体
c语言·开发语言
程序员张316 分钟前
SpringBoot集成BCrypt密码加密库
java·spring boot·后端
闲猫18 分钟前
Spring AI Agentic 模式(第1部分):Agent Skills——模块化、可复用的能力
java·人工智能·spring
源图客24 分钟前
云途物流API开发-鉴权认证(Java)
java·网络·python
天外天-亮43 分钟前
HBuilder X 使用 uview-plus 方式
开发语言·javascript·hbuilder x·uview-plus
liguojun20251 小时前
篮球馆自动计时收费系统:从规则配置到自动结算的全流程拆解
java·大数据·运维·人工智能·物联网·1024程序员节
木木子221 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos
旖-旎1 小时前
《LeetCode 53 最大子数组和 || LeetCode 918 环形子数组的最大和》
c++·算法·leetcode·动态规划
952361 小时前
RabbitMQ-基础操作
java·spring boot·分布式·后端·spring·rabbitmq
变量未定义~1 小时前
单调栈+倍增思想 皇家守卫【算法赛】、单调队列 附近最小
算法