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在这一领域发挥着不可或缺的作用.有些人 ...
随机推荐
- 洛谷.4512.[模板]多项式除法(NTT)
题目链接 多项式除法 & 取模 很神奇,记录一下. 只是主要部分,更详细的和其它内容看这吧. 给定一个\(n\)次多项式\(A(x)\)和\(m\)次多项式\(D(x)\),求\(deg(Q) ...
- 【推导】zoj3846 GCD Reduce
题意:给你n个正整数a1...an,一次操作是选择任意两个数ai,aj,将它们都替换成gcd(ai,aj).让你在5n步内将所有数变为1.或者输出不可能. 如果所有数的gcd不为1,显然不可能. 否则 ...
- java中的hashmap与hashtable的区别
HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别.主要的区别有:线程安全性,同步(synchronizatio ...
- spring---aop(3)---Spring AOP的拦截器链
写在前面 时间断断续续,这次写一点关于spring aop拦截器链的记载.至于如何获取spring的拦截器,前一篇博客已经写的很清楚(spring---aop(2)---Spring AOP的JDK动 ...
- ios 得到目录大小 进率是1000
- (CGFloat)folderSizeAtPath:(NSString *) folderPath { NSFileManager * manager = [NSFileManager d ...
- Java-子类扩展父类功能
class person { private String name; private int age; public String getname(){ return this.name; ...
- perf 工具介绍1
https://perf.wiki.kernel.org/index.php/Tutorial http://os.51cto.com/art/201105/265133.htm 在LINUX 源代码 ...
- 《Android学习指南》文件夹
转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描写叙述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不 ...
- How to Make Portable Class Libraries Work for You
A Portable Class Library is a .NET library that can be used (in binary form, without recompiling) on ...
- 关于WEB集群中文件服务器的讨论
原文地址: http://blog.itpub.net/29806344/viewspace-1364778/ 在WEB集群中一般都要上传和删除图片.小规模的时候,图片放在本地,再通过同步方式来保持一 ...