代码求调
查看原帖
代码求调
546730
billtun楼主2023/9/10 14:18

10pts

#include<bits/stdc++.h>

using namespace std;

int n, ans=0;
double minl, maxl;
struct Triangle{
	int x, y, l, id;
	double u, r, len;
} tr[1005];

bool cmp(Triangle a, Triangle b){
	return a.len<b.len;
}

int main()
{
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>tr[i].x>>tr[i].y>>tr[i].l;
		tr[i].id=i;
		tr[i].len=sqrt(tr[i].x*tr[i].x+tr[i].y*tr[i].y);
		tr[i].u=(tr[i].y+tr[i].l)*1.0/tr[i].x;
		tr[i].r=tr[i].y*1.0/(tr[i].x+tr[i].l);
	}
	
	sort(tr+1, tr+n+1, cmp);
	maxl=tr[1].u, minl=tr[1].r;
	
	for(int i=2;i<=n;i++){
//		cout<<tr[i].id<<endl<<maxl<<" "<<minl<<endl<<tr[i].len<<" "<<tr[i].u<<" "<<tr[i].r<<endl<<endl;
		if(tr[i].u>maxl || tr[i].r<minl){
			ans++;
			if(tr[i].u>maxl) maxl=tr[i].u;
			if(tr[i].r<minl) minl=tr[i].r;
		}
	}
	
	cout<<ans+1;
	return 0;
}
2023/9/10 14:18
加载中...