【HDOJ6300】Triangle Partition(极角排序)
2024-08-28 21:53:34
题意:给定3n个点,保证没有三点共线,要求找到一组点的分组方案使得它们组成的三角形之间互不相交。
n<=1e3
思路:以y为第一关键字,x为第二关键字,按x递减,y递增排序
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std; struct arr
{
int x,y,z;
}a[]; int cas,n; bool cmp(arr a,arr b)
{
if(a.x==b.x) return a.y>b.y;
else return a.x<b.x;
} int main()
{
freopen("1003.in","r",stdin);
freopen("1003.out","w",stdout);
scanf("%d",&cas);
while(cas--)
{
scanf("%d",&n);
int m=n*;
for(int i=;i<=m;i++)
{
scanf("%d%d",&a[i].x,&a[i].y);
a[i].z=i;
}
sort(a+,a+m+,cmp);
for(int i=;i<=m;i++)
{
printf("%d",a[i].z);
if(!i%) printf("\n");
else printf(" ");
}
}
return ;
}
最新文章
- AX7: Overlayering and extensions
- npm 模块常用命令
- ubuntu安装Python环境以及科学计算环境
- Mysql中的各种timeout
- CNAPS Code 查询(招商银行)
- 20145103 《Java程序设计》第3周学习总结
- 动态加载JS(css)文件
- PAT 1026
- axf、elf文件转换成bin、hex脚本工具
- iOS8:把这些七招APP哭
- NSDictionary 总结 -iOS
- hdu4597 Play Game DP
- 安装vue 教程
- pyqt5-控件是否可用
- Atitit 押金危机 如何防止用户挤兑
- day062 中间件
- 为docker配置HTTP代理服务器
- [R]统计工具包
- ArcGIS案例学习笔记-点集中最近点对和最远点对
- ajax访问WebService跨域问题