坑nyoj1088 just do it
2014-10-12 20:06
288 查看
Just do it
时间限制:2000 ms | 内存限制:65535 KB难度:1
描述给出n个点的坐标,输出斜率最大的两个点的坐标。
输入第一行输入一个数N(不少于20000),表示有N组测试数据。每组测试数据首先输入一个数n(2<=n<=200),表示有n个点,接下来是n个点的坐标(坐标都是整数,-1000<x,y<1000)。
输出每组测试数据输出占一行,输出斜率最大的两个点的坐标(横坐标小的先输出)。两组测试数据之间输出两个空行。
样例输入
2 3 2 5 3 7 4 7 5 1 3 2 7 4 1 3 9 4 3
样例输出
2 5 3 7 4 1 4 3
来源原创
上传者ACM_尹玉娇
思路:就是一点要注意 斜率最大点必定是相邻点 然后就是要用scanf 和 printf(我就跪在这里)
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct node { int x,y; }p[210]; int cmp(node a,node b) { if(a.x==b.x) return a.y<b.y; return a.x<b.x; } double kk(node a,node b) { return (a.y*1.0-b.y)/(a.x*1.0-b.x); } int main() { int t; cin>>t; while(t--) { int n; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d%d",&p[i].x,&p[i].y); //cin>>p[i].x>>p[i].y; } sort(p,p+n,cmp); if(p[0].x==p[1].x) { if(p[0].y<p[1].y) printf("%d %d\n%d %d\n",p[0].x,p[0].y,p[1].x,p[1].y); //cout<<p[0].x<<" "<<p[0].y<<" "<<p[1].x<<" "<<p[1].y<<endl; else printf("%d %d\n%d %d\n",p[1].x,p[1].y,p[0].x,p[0].y); //cout<<p[1].x<<" "<<p[1].y<<" "<<p[0].x<<" "<<p[0].y<<endl; puts(""); continue; } double max=kk(p[0],p[1]); double max1; int flag =0,flag1=0; for(int i=1;i<n-1;i++) { if(p[i].x==p[i+1].x) { if(p[i].y<p[i+1].y) { printf("%d %d\n%d %d\n",p[i].x,p[i].y,p[i+1].x,p[i+1].y); //cout<<p[i].x<<" "<<p[i].y<<endl<<p[i+1].x<<" "<<p[i+1].y<<endl; } else { printf("%d %d\n%d %d\n",p[i+1].x,p[i+1].y,p[i].x,p[i].y); //cout<<p[i+1].x<<" "<<p[i+1].y<<endl<<p[i].x<<" "<<p[i].y<<endl; } puts(""); flag1=1; break; } max1=kk(p[i],p[i+1]); if(max1>max) { max=max1; flag=i; } } if(flag1==0) { printf("%d %d\n%d %d\n",p[flag].x,p[flag].y,p[flag+1].x,p[flag+1].y); puts(""); } } }
相关文章推荐
- just do it!!
- HDU 6129 Just do it
- just do it
- HDU 6129 Just do it(有点复杂的杨辉三角)
- hdu 6129 Just do it(递推)
- HDU 6129 Just do it【杨辉三角】
- Just Do It: 学习Sinatra
- Do something well,I just do it
- 【转ITAA上justdoit的一篇帖子】 验证OSPF中对外部路由路由的选择规则【留档】
- 【编程高手】,不想再崇拜,我们也可以,just do it
- 【Life】 Never Too Late, Just Do it Better!
- just do it
- Just Do It
- Just do it
- HDU Just do it (找规律暴力)
- HDU 6129 Just do it
- hdu 6129 Just do it(递推)
- HDU6129 Just do it
- hdu6129 Just do it 2017多校第七场1010 杨辉三角+规律
- HDU 6129 Just do it(规律)