CodeForces 617 D. Polyline(水~)
2016-02-26 10:59
155 查看
Description
给出三个整点的坐标,要求用一条由一些水平或者垂直的线段构成的折线将这三个点连起来,问构造这条折线最少需要几条线段
Input
六个整数x1,y1,x2,y2,x3,y3分别表示这三个点的坐标,保证三个点不重复
(-10^9<=xi,yi<=10^9)
Output
输出满足条件的折线最少由几条线段组成
Sample Input
-1 -1
-1 3
4 3
Sample Output
2
Solution
简单题,最多需要三条线段,分析需要1,2,3条线段的情况即可
Code
给出三个整点的坐标,要求用一条由一些水平或者垂直的线段构成的折线将这三个点连起来,问构造这条折线最少需要几条线段
Input
六个整数x1,y1,x2,y2,x3,y3分别表示这三个点的坐标,保证三个点不重复
(-10^9<=xi,yi<=10^9)
Output
输出满足条件的折线最少由几条线段组成
Sample Input
-1 -1
-1 3
4 3
Sample Output
2
Solution
简单题,最多需要三条线段,分析需要1,2,3条线段的情况即可
Code
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; int main() { int x1,y1,x2,y2,x3,y3,ans; while(~scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3)) { if(x1==x2&&x2==x3||y1==y2&&y2==y3)ans=1; else if(x2==x1&&(y3<=min(y1,y2)||y3>=max(y1,y2)) ||x2==x3&&(y1<=min(y3,y2)||y1>=max(y3,y2)) ||x3==x1&&(y2<=min(y1,y3)||y2>=max(y1,y3)) ||y2==y1&&(x3<=min(x1,x2)||x3>=max(x1,x2)) ||y2==y3&&(x1<=min(x3,x2)||x1>=max(x3,x2)) ||y3==y1&&(x2<=min(x1,x3)||x2>=max(x1,x3)))ans=2; else ans=3; printf("%d\n",ans); } return 0; }
相关文章推荐
- 开源是物联网的驱动力量
- C语言中extern的用法
- 队列
- 引用sun.management.ManagementFactory出错的解决办法
- Android开发之RecyclerView控件
- maven 打包【error】Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
- Java集合:LinkedList使用详解及源码分析
- iOS之2016面试题一
- Umbraco列表分页
- 关于js语法(运算中出现无限大的问题)本身的错误的解决方案
- 自动释放池详解
- PHP将二维数组某一个字段相同的数组合并起来的方法
- Redis系列-存储篇hash主要操作函数小结
- Android之Handler用法总结
- 二分查找
- Unity3D自定义以及Assets Store包导入
- 了解JavaScript 对象的属性操作
- object.observe数据绑定
- IO和NIO
- iOS开发之Bug汇总