Java练习 SDUT-2240_织女的红线
织女的红线
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
好久不见牛郎哥哥了,织女非常想他,但是她想考验一下牛郎在她不在的日子里有没有好好学习天天向上,于是乎
想出一个问题考一考他。织女找了一跟很细的红线和N颗相同的钉子,将各颗钉子钉在墙上作为一个多边
形的各个顶点,然后将红线缠在各个钉子上围成了多边形,多余的剪掉。下面给出了图示。

可惜牛郎不会算,悲剧了,但他不想让织女失望,还好有你这个朋友,你的任务是帮他计算出红线的长度。
Input
在输入数据的第一行有两个数:N——钉子的数目(1 <= N <= 100),R——钉子的半径。所有的钉子半径
相同。接下来有N行数据,每行有两个空格隔开的实数代表钉子中心的坐标。坐标的绝对值不会超过
100。钉子的坐标从某一颗开始按照顺时针或逆时针的顺序给出。不同的钉子不会重合。
Output
输出一个实数(小数点后保留两位)————红线的长度。
Sample Input
4 1
0.0 0.0
2.0 0.0
2.0 2.0
0.0 2.0
Sample Output
14.28
Hint
Source
tongjiantao
import java.util.*;
public class Main
{
static public void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int n,r,i;
double sum;
n = cin.nextInt();
r = cin.nextInt();
sum = (double)r * Math.PI * 2;
point a[] = new point[n];
for(i=0;i<n;i++)
a[i] = new point(cin.nextDouble(),cin.nextDouble());
for(i=1;i<n;i++)
sum += a[i].dis(a[i-1]);
sum += a[0].dis(a[n-1]);
System.out.printf("%.2f\n",sum);
cin.close();
}
}
class point
{
double x,y;
point(double x,double y)
{
this.x = x;
this.y = y;
}
double dis(point a)
{
return Math.sqrt((x-a.x)*(x-a.x) + (y-a.y)*(y-a.y));
}
}
Java练习 SDUT-2240_织女的红线的更多相关文章
- Java练习 SDUT - 2669_2-2 Time类的定义
2-2 Time类的定义 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 通过本题目的练习可以掌握类与对象的定义: 设计 ...
- Java面向对象2(G~J)
G 织女的红线(SDUT 2240) import java.util.Scanner; import java.text.DecimalFormat; class Sum { double x ...
- 从Java角度理解Angular之入门篇:npm, yarn, Angular CLI
本系列从Java程序员的角度,带大家理解前端Angular框架. 本文重点介绍Angular的开发.编译工具:npm, yarn, Angular CLI,它们就像Java在中的Maven,同时顺便介 ...
- (转载)从Java角度理解Angular之入门篇:npm, yarn, Angular CLI
本系列从Java程序员的角度,带大家理解前端Angular框架. 本文是入门篇.笔者认为亲自动手写代码做实验,是最有效最扎实的学习途径,而搭建开发环境是学习一门新技术最需要先学会的技能,是入门的前提. ...
- 【Java编程实战】Metasploit_Java后门运行原理分析以及实现源码级免杀与JRE精简化
QQ:3496925334 文章作者:MG1937 CNBLOG博客ID:ALDYS4 未经许可,禁止转载 某日午睡,迷迷糊糊梦到Metasploit里有个Java平台的远控载荷,梦醒后,打开虚拟机, ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java 泛型快速排序 以sdut 1196为例
oj链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1196 Java中,Arrays.so ...
- SDUT中大数实现的题目,持续更新(JAVA实现)
SDUT2525:A-B (模板题) import java.util.Scanner; import java.math.*; public class Main { public static v ...
- java链接MySQL数据库时使用com.mysql.jdbc.Connection的包会出红线问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题
package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...
随机推荐
- 【python之路面向对象】初级篇
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...
- TZ_02MyBatis_一级缓存和二级缓存
1.Mybatis中的缓存 1>什么是缓存 存在于内存中的临时数据. 2> 为什么使用缓存 减少和数据库的交互次数,提高执行效率. 3>什么样的数 ...
- Tomcat7 Redis Session共享
1.环境 服务器 centos7 tomcat 7 redis nginx 2.配置tomcat配置文件context.xml <Valve className="com.orange ...
- day37 08-Hibernate的反向工程
反向工程:先创建表,创建好表之后,就是持久化类和映射文件可以不用你写,而且你的DAO它也可以帮你生成.但是它生成的DAO可能会多很多的方法.你可以不用那么多方法,但是它里面提供了这种的.用hibern ...
- python 处理缺失值
- MySQL 开启远程访问权限 | 宝塔系统
1.进入 MySQL 管理菜单 2.选择权限为所有人
- ubuntu上安装nodejs和npm
在使用npm时,特别注意nodejs的版本问题. 一般选择源码安装
- 利用 awk 将当前的链接按端口汇总倒排序
写了一行命令,利用 awk 将当前的链接按端口汇总倒排序 :) netstat -ano | awk /tcp.*:1[15].*:[1-5]/'{print $4}' | awk -F ':' ' ...
- 【Pyqt5】自定义信号简单原理(易懂版),多窗口交互,传输数据,调用方法
PS:如果你想在2窗口调用1窗口的内部方法,或者在2窗口传递数据给1窗口数据,本片博客可以放心食用 主窗口: class MainWindow(QWidget,Ui_MainFrom): insert ...
- iOS自动化打包上传的踩坑记
http://www.cocoachina.com/ios/20160624/16811.html 很久以前就看了很多关于iOS自动打包ipa的文章, 看着感觉很简单, 但是因为一直没有AppleDe ...