include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <utility>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <cstdlib>
#include <cmath>
typedef long long ll;
#define lowbit(x) (x&(-x))
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
using namespace std;
#define pi acos(-1)
const int N=;
struct Node{
int x,y;
}node[N];
int main()
{
int t,n;
double tx,ty;
scanf("%d",&t);
for(int i=;i<=t;i++)
{
scanf("%d",&n);
for(int i=;i<n;i++){
scanf("%lf%lf",&node[i].x,&node[i].y);//lf
}
scanf("%lf%lf",&tx,&ty);
// 为了下面的第n次旋转
node[n].x=node[].x,node[n].y=node[].y;
node[n+].x=node[].x,node[n+].y=node[].y;
double ans=;
for(int i=;i<n;i++)//要转n次
{
double a=sqrt(pow(node[i].x-node[i+].x,)+pow(node[i].y-node[i+].y,));
double b=sqrt(pow(node[i+].x-node[i+].x,)+pow(node[i+].y-node[i+].y,));
double c=sqrt(pow(node[i].x-node[i+].x,)+pow(node[i].y-node[i+].y,));
//利用余弦定理求角度
// pi-acos((a*a+b*b-c*c)/(2*a*b)) 为node[i+1]转过的角度,也就是(tx,ty)转过的角度
double l=pi-acos((a*a+b*b-c*c)/(*a*b));//一个小数,因为最后也以小数形式输出。
//弧长=半径*弧度
double r=sqrt(pow(node[i+].x-tx,)+pow(node[i+].y-ty,));
ans+=l*r;
}
printf("Case #%d: %.3f\n",i,ans);
}
return ;
}

最新文章

  1. 从“差不多了”到 正式发布 -- 新浪微博WinPhone UWP版诞生记
  2. NE Upgrade python script. Need to write a Tkinter GUI for it
  3. Ruby学习笔记
  4. MySQL Server 5.6 配置文件my.ini 以及windows上mysql表名区分大小写
  5. OC 实例方法和类方法区别
  6. SQL Server 2008维护计划 出错 无法实现自动备份
  7. Sqlserver 原生 MD5 函数(转)
  8. cocos2dx 自己主动加入cpp文件到android.mk
  9. 标准SQL语言的用法
  10. HDU ACM 1066 Last non-zero Digit in N!
  11. WebIM(3)----性能测试
  12. Zabbix3.4-RHEL 7.4 X64 YUM联网安装
  13. 【原创】大数据基础之Spark(7)spark读取文件split过程(即RDD分区数量)
  14. 双向数据绑定原生js
  15. bzoj 1006
  16. 推特算法,分布式ID
  17. C# 异步上传图片案例
  18. 原生js实现的瀑布流布局
  19. jQuery源码学习扒一扒jQuery对象初使化
  20. PHP快速入门

热门文章

  1. 048 Rotate Image 旋转图像
  2. docker postgresql FATAL: could not access private key file &quot;/etc/ssl/private/ssl-cert-snakeoil.key&quot;: Permission denied
  3. AXURE-手把手教你做汉化
  4. 在CentOS上源码安装Nginx
  5. td 内容自动换行 table表格td设置宽度后文字太多自动换行
  6. typedef int status
  7. Got error 28 from storage engine的错误处理
  8. UI设计中蕴涵着系统重要的数据结构与功能设计
  9. SharePoint 2013 安装配置(1)
  10. Python3+Selenium3+webdriver学习笔记7(选择多链接的结果、iframe、下拉框)