A. Theatre Square

  题目大意:有一个长宽为m和n的广场,用边长为a的正方形去铺盖,问铺满最少需要多少正方形

  题解:题目分解为用长度为a的线条分别去覆盖长度为m和n的线条,计算两者的乘积就是答案,在计算时注意整除的情况以及需要开long long防止相乘时范围越界。

#include <iostream>
using namespace std;
int main(){
long long n,a,m,p1,p2;
cin>>n>>m>>a;
if(n%a)p1=n/a+1; else p1=n/a;
if(m%a)p2=m/a+1; else p2=m/a;
cout<<p1*p2<<endl;
return 0;
}

B. Spreadsheet

  题目大意:给出两种表达式,根据规则相互转化:一种是RXCY,一种是(字母)(数字),其中第一种变成第二种就是把X原封不动地拿回来,然后Y数字转化为数字,转化规则是,A-Z:1-26,AA-AZ:27-52,BA-BZ……依此类推,比如R23C55就可以转化成BC23。

  题解:进制转化类的问题,注意转化方式特殊,在转化中刚好可以整除时需要特判,此外,首先对于原码格式的判断也要注意,我选择的标志是R和C还有数字的位置。

#include <cstdio>
#include <cstring>
using namespace std;
char s[1000005],l;
void change(){
int f=0,res=0,res1=0;
for(int i=0;i<l;i++){
if(s[i]>='A'&&s[i]<='Z'){res=res*26+s[i]-'A'+1;}
else{f=i;break;}
}for(int i=f;i<l;i++)res1=res1*10+s[i]-'0';
printf("R%dC%d\n",res1,res);
}
void change1(){
int res=0,res1=0,f=0,x[10005];x[0]=0;
for(int i=1;i<l;i++){
if(s[i]>='A'&&s[i]<='Z'){f=i;break;}
else{res=res*10+s[i]-'0';}
}for(int i=f+1;i<l;i++)res1=res1*10+s[i]-'0';
while(res1){
if(res1%26==0){x[++x[0]]=26;res1-=26;res1/=26;}
else{x[++x[0]]=res1%26;res1/=26;}
}for(int i=x[0];i;i--)printf("%c",'A'+x[i]-1);
printf("%d\n",res);
}
int main(int T){
scanf("%d",&T);
while(T--){
scanf(" %s",s);
int flag=1; l=strlen(s);
if(s[0]=='R'){
if(s[1]>='A'&&s[1]<='Z'){flag=1;}
else for(int i=2;i<l;i++)if(s[i]=='C'){flag=0;}
}if(flag){change();}else change1();
}return 0;
}

C. Ancient Berland Circus

  题目大意:给出一个正多边形上的三个点,求这个正多边形的最小面积。

  题解:由给出的三个点,可以得出这个三角形的外接圆,即这个多边形的外接圆。根据三边计算对应的圆心角,求出它们的最大公约数,就可以得到多边形的边数,有了半径和边数,就可以计算出相应的面积了,需要注意的是,在计算最长边的圆心角时,考虑钝角的问题,所以用剩余的两个小角去计算。

#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
const double EPS=0.01;
const double PI=3.1415926535897932384626;
double gcd(double a,double b){return b<EPS?a:gcd(b,fmod(a,b));}
double dist(double x1,double y1,double x2,double y2){return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}
int main(){
double a[3],A[3],p,c,x1,x2,x3,y1,y2,y3,s,r,k;
scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
a[0]=dist(x1,y1,x2,y2);a[1]=dist(x1,y1,x3,y3);a[2]=dist(x2,y2,x3,y3);
sort(a,a+3); p=(a[0]+a[1]+a[2])/2.0;
s=sqrt(p*(p-a[0])*(p-a[1])*(p-a[2]));
r=a[0]*a[1]*a[2]/(4*s);
A[0]=2*asin(a[0]/(2*r));
A[1]=2*asin(a[1]/(2*r));
A[2]=2*PI-A[1]-A[0];
p=gcd(A[2],gcd(A[1],A[0]));
printf("%.6lf\n",(PI*r*r*sin(p))/p);
return 0;
}

  

Codeforces Round#1的更多相关文章

  1. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  2. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  3. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  4. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  5. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  6. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  7. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

  8. Codeforces Round #370 - #379 (Div. 2)

    题意: 思路: Codeforces Round #370(Solved: 4 out of 5) A - Memory and Crow 题意:有一个序列,然后对每一个进行ai = bi - bi  ...

  9. Codeforces Round #371 (Div. 1)

    A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...

  10. Codeforces Round #284 (Div. 2)A B C 模拟 数学

    A. Watching a movie time limit per test 1 second memory limit per test 256 megabytes input standard ...

随机推荐

  1. java.util.List org.apache.struts2.components.Form.getValidators(java.lang.String) threw an exception

    在使用ajax主题时出现上述错误的解决办法是将form表单中的action属性值改为*.action后就可以解决.至于为什么会这样不太明白.但是修改action的属性值以后就会出现另一个错误即 对应的 ...

  2. php获取网页内容方法 小偷程序 采集程序

    抓取到的内容在通过正则表达式做一下过滤就得到了你想要的内容,至于如何用正则表达式过滤,在这里就不做介绍了,有兴趣的,以下就是几种常用的用php抓取网页中的内容的方法.1.file_get_conten ...

  3. [转]struct 用法深入探索

    struct用法深入探索 作者: Cloudward 1. struct的巨大作用 面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估.因为一个大型 ...

  4. [方法] ubuntu12.04开启root账户

    ubuntu 12.04使用LightDM显示管理器,默认禁止root账户登录. 通过修改/etc/lightdm/lightdm.con文件可以打开root登录权限. 方法很简单,只要在lightd ...

  5. 用Ultraiso刻录U盘装系统

    一.准备工作: 1.一个U盘,也可以是手机或数码相机内存卡通过读卡器与电脑连接: 2.一个系统ISO镜像: 3.刻录软件UltraISO,用单文件绿色版就可以了. 二.开始刻录U盘: 1.启动Ultr ...

  6. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

  7. Unix/Linux环境C编程入门教程(8) FreeBSD CCPP开发环境搭建

    1. FreeBSD是一种自由类Unix操作系统,是由经过BSD.386BSD和4.4BSD发展而来的类Unix的一个重要分支.FreeBSD拥有超过200名活跃开发者和上千名贡献者.FreeBSD被 ...

  8. Android 检测SD卡应用

    Android 检测SD卡应用 //                                    Environment.MEDIA_MOUNTED // sd卡在手机上正常使用状态  // ...

  9. 在 Windows Azure 虚拟机中使用 Microsoft SQL Server 安全功能

    编辑人员注释:本文章由 SQL Server 团队高级项目经理 Sung Hsueh 撰写. SQL Server 的最新用法之一是利用 Microsoft 的 Windows Azure 基础结构服 ...

  10. ajax、form提交乱码

    ajax 传参乱码:encodeURI(encodeURI(username)) form 传参乱码:request.setCharacterEncoding("UTF-8"); ...