Shape of HDU_hdu_2108(几何).java
Shape of HDU
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4407 Accepted Submission(s): 1957
创业是需要地盘的,HDU向钱江肉丝高新技术开发区申请一块用地,很快得到了批复,据说这是因为他们公司研发的“海东牌”老鼠药科技含量很高,预期将占全球一半以上的市场。政府划拨的这块用地是一个多边形,为了描述它,我们用逆时针方向的顶点序列来表示,我们很想了解这块地的基本情况,现在请你编程判断HDU的用地是凸多边形还是凹多边形呢?
0 0 1 0 1 1 0 1
0
海东集团终于顺利成立了!后面的路,他们会顺顺利利吗?
欲知后事如何,且听下回分解——
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n;
while((n=input.nextInt())!=0){
Point f[]=new Point[n+5];
for(int i=0;i<n;i++){
int a=input.nextInt();
int b=input.nextInt();
f[i]=new Point(a,b);
}
f[n]=new Point(f[0].x,f[0].y);
f[n+1]=new Point(f[1].x,f[1].y);
boolean ok=true;
for(int i=0;i<n;i++){
Point a=new Point(f[i+1].x-f[i].x,f[i+1].y-f[i].y);
Point b=new Point(f[i+2].x-f[i+1].x,f[i+2].y-f[i+1].y);
int ans=a.x*b.y-b.x*a.y;
if(ans<0){
ok=false;
break;
}
}
if(ok)
System.out.println("convex");
else
System.out.println("concave");
}
}
}
class Point{
int x,y;
Point(int x,int y){
this.x=x;
this.y=y;
}
// Point(){}
}/*
* 8913013 2013-08-12 11:26:28 Accepted 2108 140MS 2920K 1040 B Java zhangyi
*/
import java.util.Scanner; public class MM {//郭思慧 /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
while(true){
int n=input.nextInt();
if(n==0)
break;
Shape[] arr=new Shape[n+1];
for(int i=1;i<=n;i++){
arr[i]=new Shape();
}
boolean flag=true;
for(int i=1;i<=n;i++){
arr[i].x=input.nextInt();
arr[i].y=input.nextInt();
}
int a,b,c;
int x1,y1,x2,y2;
for(int i=1;i<=n;i++){
a=i;
b=i+1;
c=i+2;
if(a==n-1)
c=1;
if(a==n){
b=1;
c=2;
}
x1=arr[a].x-arr[b].x;
y1=arr[a].y-arr[b].y;
x2=arr[c].x-arr[b].x;
y2=arr[c].y-arr[b].y;
if(x1*y2-x2*y1>0){
flag=false;
break;
}
}//for
if(flag==true)
System.out.println("convex");
else
System.out.println("concave");
}
}
}
class Shape{
int x=0;
int y=0;
Shape(int x,int y){
this.x=x;
this.y=y;
}
Shape(){}
}
Shape of HDU_hdu_2108(几何).java的更多相关文章
- [Think In Java]基础拾遗1 - 对象初始化、垃圾回收器、继承、组合、代理、接口、抽象类
目录 第一章 对象导论第二章 一切都是对象第三章 操作符第四章 控制执行流程第五章 初始化与清理第六章 访问权限控制第七章 复用类第九章 接口 第一章 对象导论 1. 对象的数据位于何处? 有两种方式 ...
- java poi ppt操作示例
poi3.9版本,官网 http://poi.apache.org/slideshow/how-to-shapes.html import java.awt.Color; import java.io ...
- JAVA设计模式--装饰器模式
装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰 ...
- 杨其菊201771010134《面向对象程序设计(java)》第六周学习总结
<面向对象程序设计(java)>第六周学习总结 第一部分:理论知识 1)类.超类和子类2)Object:所有类的超类 3)泛型数组列表4)对象包装器和自动打包 5)参数数量可变的方法 6) ...
- Thinking in Java Chapter 14
From Thinking in Java 4th Edition RTTI(Run-Time Type Information),运行时类型信息,使得你可以在程序运行时发现和使用类型信息.对RTTI ...
- 201771010128 王玉兰《面象对象程序设计(Java)》第六周学习总结
第一部分:基础知识总结: 1.继承 A:用已有类来构建新类的一种机制,当定义了一个新类继承一个类时,这个新类就继承了这个类的方法和域以适应新的情况: B:特点:具有层次结构.子类继承父类的方法和域: ...
- 201771010128 王玉兰《面象对象程序设计 (Java) 》第六周学习总结
---恢复内容开始--- 第一部分:基础知识总结: 1.继承 A:用已有类来构建新类的一种机制,当定义了一个新类继承一个类时,这个新类就继承了这个类的方法和域以适应新的情况: B:特点:具有层次结构. ...
- Geodatabase介绍
一.概述 (1)Geodatabase是什么? ArcGIS操作基于GIS文件格式和存储于地理数据库(Geodatabase)中的地理信息.Geodatabase是ArcGIS的本地数据结构,是用于编 ...
- GeoJson格式与转换(shapefile)Geotools
转自:https://blog.csdn.net/cobramonkey/article/details/71124888 作为大数据分析的重要工具,Hadoop在这一领域发挥着不可或缺的作用.有些人 ...
随机推荐
- centos 7 部署k8s集群
架构图: 前期准备 systemctl stop firewalldsystemctl disable firewalld yum -y install ntp systemctl start ntp ...
- [CodeVS1243]网络提速
题目大意: 有n个点的连通图,有m次可以将某一条边权值减半的机会. 不同的机会可以叠加作用于同一条边. 求1~n的最短路. 思路: 拆点,记录1到每个点在使用不同次数的机会后的最短路,然后直接跑Dij ...
- 【洛谷】2120:[ZJOI2007]仓库建设【斜率优化DP】
P2120 [ZJOI2007]仓库建设 题目背景 小B的班级数学学到多项式乘法了,于是小B给大家出了个问题:用编程序来解决多项式乘法的问题. 题目描述 L公司有N个工厂,由高到底分布在一座山上. 工 ...
- Mysql的学习随笔day1
关于mysql的基本语句 ps:[]是缺省 创建:CREATE DATABASE db.name CREATE TABLE name(列名,类型,[NULL])NOT NULL是不需要为空,NOT ...
- HDU 5699 货物运输 二分
货物运输 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5699 Description 公元2222年,l国发生了一场战争. 小Y负责领导工人运输物 ...
- Codeforces Round #297 (Div. 2)B. Pasha and String 前缀和
Codeforces Round #297 (Div. 2)B. Pasha and String Time Limit: 2 Sec Memory Limit: 256 MBSubmit: xxx ...
- JDK环境变量的配置说明
一.Linux下的JDK安装及配置: 1. 使用命令uname –a查看系统的版本确定系统的位数,然后去JDK官网下载相应位数的安装程序,进行安装. 2. 使用rz命令将下载的JDK上传至Linux ...
- trigger、procedure和event如何同步
最近遇到一个需求涉及存储过程,被突然问题到如何同步问题问到了,赶紧补课学习一下. 首先,先看一下trigger.procedure和event的定义都是什么? trigger: 触发器是一个被指定关联 ...
- 图解vim常用命令
VI 即 Visual Interface,可视化接口,VIM是VI的增强版 (improved),两张图总结vim常用命令. 图片来自 https://www.cnblogs.com/yangjig ...
- 2013Esri全球用户大会之ArcGIS for Server&Portal for ArcGIS
Q1:ArcGIS 10.2 for Server有哪些新特性? ArcGIS 10.2对于ArcGIS for Server来说是一个引人注目的版本.它建立在ArcGIS 10.1扎实雄厚的基础上, ...