Codeforces Beta Round #1 补题题解
A Theatre Square(数学)
算出每行能装多少乘以每列能装多少就行
公式
ans=ceil(n/a)+ceil(m/a)
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
long long n,m,a;
cin>>n>>m>>a;
cout<<(n/a+(n%a!=0))*(m/a+(m%a!=0));
}
B Spreadsheets(字符串模拟)
先得看出这是一个26进制的转换然后会发现一个问题,这个26进制从1开始到26跟一般的从0-25是有区别的
解决的办法是转换的时候统一用m-1替换m但是条件还是判断m是不是等于0
sscanf真心好用啊
代码
#include <bits/stdc++.h>
char s[666666],ss[666666];
void print(int x)
{
if(!x)
return;
print((x-1)/26);
putchar('A'+(x-1)%26);
}
int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
double sum=0;
scanf("%s",s);
if(sscanf(s,"R%dC%d",&n,&m)==2)
print(m),printf("%d\n",n);
else
{
sscanf(s,"%[A-Z]%d",ss,&n);
int len=strlen(ss);
for(int i=0;i<len;i++)
sum+=(ss[i]-'A'+1)*pow(26,len-i-1);
printf("R%dC%.0f\n",n,sum);
}
}
}
C Ancient Berland Circus(数学)
完全的高考题,可以出在高考第一个数学大题,三角函数上
给定平面内的三个点,计算由这三个点构成的正多边形的面积
首先计算出外接圆
外接圆的公式是abc/4s
abc是三个点组成的三条线段的长度
s是三角形的面积
s可以用海伦公式求
s=sqrt(p(p-a)(p-b)(p-c))
其中p=(a+b+c)/2
然后计算多边形的边数
先求出三角形的三个内角用余弦定理
例如角A=acos((bb+cc-aa)/(2b*c))
其他的一样
然后找出三个角的最大公因数ang=gcd(A,B,C)=gcd(gcd(A,B),C)
边数n=pi/ang
这里因为圆周角是圆心角的一半所以原本的公式是2pi/2ang化简得到n=pi/ang
然后正多边形的面积就是n个等腰三角形的面积也就是
S=n1/2rrsin(2*pi/n)
代码
#include <bits/stdc++.h>
using namespace std;
double gcd(double a,double b)
{
return a<0.01?b:gcd(fmod(b,a),a);
}
double pi=acos(-1);
int main()
{
/*ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);*/
double x1,y1,x2,y2,x3,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
double a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
double b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
double c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
double p=(a+b+c)/2;
double s=sqrt(p*(p-a)*(p-b)*(p-c));
double r=(a*b*c)/(4*s);
double A=acos((b*b+c*c-a*a)/(2*b*c));
double B=acos((a*a+c*c-b*b)/(2*a*c));
double C=acos((a*a+b*b-c*c)/(2*b*a));
double ang=gcd(gcd(A,B),C);
double n=pi/ang;
printf("%.6f",n/2.0*r*r*sin(2*pi/n));
}
Codeforces Beta Round #1 补题题解的更多相关文章
- Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】
Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...
- Codeforces Beta Round #5 B. Center Alignment 模拟题
B. Center Alignment 题目连接: http://www.codeforces.com/contest/5/problem/B Description Almost every tex ...
- Codeforces Beta Round #62 题解【ABCD】
Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...
- 水题 Codeforces Beta Round #70 (Div. 2) A. Haiku
题目传送门 /* 水题:三个字符串判断每个是否有相应的元音字母,YES/NO 下午网速巨慢:( */ #include <cstdio> #include <cstring> ...
- Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...
- Codeforces Beta Round #17 D. Notepad (数论 + 广义欧拉定理降幂)
Codeforces Beta Round #17 题目链接:点击我打开题目链接 大概题意: 给你 \(b\),\(n\),\(c\). 让你求:\((b)^{n-1}*(b-1)\%c\). \(2 ...
- Codeforces Beta Round #13 C. Sequence (DP)
题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...
- Codeforces Beta Round #70 (Div. 2)
Codeforces Beta Round #70 (Div. 2) http://codeforces.com/contest/78 A #include<bits/stdc++.h> ...
- Codeforces Beta Round #63 (Div. 2)
Codeforces Beta Round #63 (Div. 2) http://codeforces.com/contest/69 A #include<bits/stdc++.h> ...
随机推荐
- 关于使用java执行shell脚本获取centos的硬盘序列号和mac地址
1.获取硬盘序列号: 新建shell脚本文件: identifier.sh, 内容为: diskdata=`fdisk -l` diskleft=${diskdata#*"identifie ...
- springMVC访问根路径问题
当web.xml没有配置欢迎页:如下 <welcome-file-list> <welcome-file>login.jsp</welcome-file> < ...
- Extjs 3 Grid相关操作
extjs gridpanel 操作行 得到选中行的列 var model = grid.getSelectionModel(); model.selectAll(); //选择所有行 mod ...
- Jquery选择器大全、属性操作、css操作、文档、事件等
一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库. jQuery对象 jQuery产 ...
- 软件项目功能测试框架(转载自51Testing软件测试)
测试用例的编写需要按照一定的思路进行,而不是想到哪写到哪,一般测试机制成熟的公司都会有公司自己自定义的测试用例模板,以及一整套的测试流程关注点,当然我们自己在测试生涯中也应当积累一套自己的测试框架,所 ...
- Linux之旅第一篇-目录结构及操作目录
一.引言 Linux对java开发来说也是一项必备的技能,因为项目基本都是部署在Linux操作系统的服务器中,虽然项目不一定需要我们去部署,但不管是自己测试环境部署,还是一些生产环境中日志的查看,Li ...
- linux下tab键在命令行情况下的强大
tab自动补全命令,包括可以补全比较长的文件名,速度快的不是一点点
- Unix\Linux | 总结笔记 | 查看文件的方式
0 目录 vi cat head tail more less 1.vi vi编辑器的内置命令 有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入.常用内置命令如下: Ctrl ...
- Css 基本的规则写法
样式表的写法: css的语法由一些标志构成,就是一个基本的样式表由选择器,属性和属性值构成.Css有标准的写法规则标准的css写法: h1 { Font-family:黑体;} h1:表示选择符Fon ...
- JDK集合框架--综述
接下来的几篇博客总结一下对jdk中常用集合类知识,本篇博客先整体性地介绍一下集合及其主要的api: 从整体上来说,集合分两大类collection和map: 首先来看看Collection: c ...