哪错了
  • 板块灌水区
  • 楼主sunhaoyun
  • 当前回复1
  • 已保存回复2
  • 发布时间2024/8/7 13:53
  • 上次更新2024/8/7 14:57:39
查看原帖
哪错了
1257804
sunhaoyun楼主2024/8/7 13:53
#include<bits/stdc++.h> 

using namespace std;

struct platform{
	int id, h, l, r; 
	int c, b;
}a[10010];

int n;

bool cmp1(platform, platform);

bool cmp2(platform, platform);

int main()
{
	cin >> n;
	for(int i = 0;i < n;i++){
		cin >> a[i].h >> a[i].l >> a[i].r;
		a[i].id = i + 1;
	}
	sort(a, a + n, cmp1);
	for(int i = 0;i < n;i++){
		a[i].c = 0;
		for(int j = i;j < n;j++){
			if(a[i].l > a[j].l && a[i].l < a[j].r){
				a[i].c = a[j].id;
				break;
			}
		}
	}
	for(int i = 0;i < n;i++){
		a[i].b = 0;
		for(int j = i;j < n;j++){
			if(a[i].r < a[j].r && a[i].r > a[j].l){
				a[i].b = a[j].id;
				break;
			}
		}
	}
	sort(a, a + n, cmp2);
	for(int i = 0;i < n;i++){
		cout << a[i].c << ' ' << a[i].b << endl; 
	} 
}


bool cmp1(platform x, platform y)
{
	return (x.h != y.h && x.h > y.h) || x.id < y.id;
}

bool cmp2(platform x, platform y)
{
	return x.id < y.id;
}

P1105 平台

2024/8/7 13:53
加载中...