A题,水题。

B题也是水题,弄的比较麻烦,前几天队内赛见过,水题怎么水都能过。

C题

题意:给出正n边形上的三个点,求最小的正n边形的面积。

以前貌似见过此题。思路也没什么进展,就是枚举n,通过旋转a,判断b c是否在多边形上。感觉是水过的,改了改eps就过了,看别人代码,还有神奇的gcd的做法。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
int s[];
int que[];
void judge(int x)
{
int num,n,i;
for(i = ;i <= ;i ++)
{
if(s[i] >= x)
break;
x -= s[i];
}
memset(que,,sizeof(que));
n = i;
num = ;
x--;
while(x)
{
que[num++] = x%;
x /= ;
}
for(i = n-;i >= ;i --)
{
printf("%c",que[i]+'A');
}
return ;
}
void fun1(char *str)
{
int a,b,i;
a = b = ;
int len;
len = strlen(str);
for(i = ;i < len;i ++)
{
if(str[i] == 'C') break;
a = a* + (str[i]-'');
}
for(i = i+;i < len;i ++)
b = b* + (str[i]-'');
judge(b);
printf("%d\n",a);
}
void fun2(char *str)
{
int a = ,i,j;
int len;
len = strlen(str);
for(i = ;i < len;i ++)
{
if(str[i] <= ''&&str[i] >= '')
break;
}
int num = ;
for(j = i-;j >= ;j --)
a += s[num++]*(str[j] - 'A' + );
printf("R");
for(;i < len;i ++)
printf("%c",str[i]);
printf("C%d\n",a);
}
int main()
{
int t,len,i;
char str[];
scanf("%d",&t);
s[] = ;
for(i = ;i <= ;i ++)
s[i] = s[i-]*;
while(t--)
{
scanf("%s",str);
len = strlen(str);
if(str[] == 'R')
{
int flag = ,z = ;
for(i = ;i < len;i ++)
{
if(str[i] == 'C'&&i >= )
flag ++;
else if(str[i] <= 'Z'&&str[i] >= 'A')
z = ;
}
if(flag == &&z == )
fun1(str);
else
fun2(str);
}
else
fun2(str);
}
return ;
}
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <cmath>
#include <algorithm>
using namespace std;
#define PI 3.1415926
#define eps 1e-3
struct point
{
double x,y;
};
struct line
{
point a,b;
}; point intersection(line u,line v)
{
point ret = u.a;
double t = ((u.a.x-v.a.x)*(v.a.y-v.b.y) - (u.a.y-v.a.y)*(v.a.x-v.b.x))
/((u.a.x-u.b.x)*(v.a.y-v.b.y)-(u.a.y-u.b.y)*(v.a.x-v.b.x));
ret.x += (u.b.x-u.a.x)*t;
ret.y += (u.b.y-u.a.y)*t;
return ret;
}
point circumcenter(point a,point b,point c)
{
line u,v;
u.a.x = (a.x+b.x)/;
u.a.y = (a.y+b.y)/;
u.b.x = u.a.x-a.y+b.y;
u.b.y = u.a.y+a.x-b.x;
v.a.x = (a.x + c.x)/;
v.a.y = (a.y + c.y)/;
v.b.x = v.a.x - a.y + c.y;
v.b.y = v.a.y + a.x - c.x;
return intersection(u,v);
}
point Rotate(point p,double angle)
{
point res;
res.x = p.x * cos(angle) - p.y*sin(angle);
res.y = p.x * sin(angle) + p.y*cos(angle);
return res;
}
int judge(point a,point b)
{
double t;
t = a.x - b.x;
if(t < )
t = -t;
if(t > eps) return ;
t = a.y - b.y;
if(t < )
t = -t;
if(t > eps) return ;
return ;
}
int main()
{
int i,j,n;
point a,b,c,r,d;
point p[];
scanf("%lf%lf",&a.x,&a.y);
scanf("%lf%lf",&b.x,&b.y);
scanf("%lf%lf",&c.x,&c.y);
r = circumcenter(a,b,c);
d.x = a.x - r.x;
d.y = a.y - r.y;
for(i = ;i <= ;i ++)
{
int num = ;
p[] = a;
for(j = ;j < i;j ++)
{
p[j] = Rotate(d,*PI*j/i);
p[j].x += r.x;
p[j].y += r.y;
if(judge(p[j],b))
num ++;
if(judge(p[j],c))
num ++;
}
if(num == ) break;
}
n = i;
double s1,s2;
s1 = s2 = ;
for(i = ;i < n;i ++)
{
s1 += p[(i+)%n].y*p[i].x;
s2 += p[(i+)%n].y*p[(i+)%n].x;
}
printf("%.7lf",fabs(s1-s2)/);
return ;
}

Codeforces Beta Round #1的更多相关文章

  1. Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

    Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...

  2. 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]中有多少个数 ...

  3. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  4. Codeforces Beta Round #13 C. Sequence (DP)

    题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...

  5. Codeforces Beta Round #79 (Div. 2 Only)

    Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...

  6. Codeforces Beta Round #77 (Div. 2 Only)

    Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...

  7. Codeforces Beta Round #76 (Div. 2 Only)

    Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...

  8. Codeforces Beta Round #75 (Div. 2 Only)

    Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...

  9. Codeforces Beta Round #74 (Div. 2 Only)

    Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...

  10. Codeforces Beta Round #73 (Div. 2 Only)

    Codeforces Beta Round #73 (Div. 2 Only) http://codeforces.com/contest/88 A 模拟 #include<bits/stdc+ ...

随机推荐

  1. 【转】JQuery插件ajaxFileUpload 异步上传文件(PHP版)

    前几天想在手机端做个异步上传图片的功能,平时用的比较多的JQuery图片上传插件是Uploadify这个插件,效果很不错,但是由于手机不支持flash,所以不得不再找一个文件上传插件来用了.后来发现a ...

  2. Android浏览本地 API文档 + 解决页面加载慢的问题

    火狐浏览器安装离线浏览插件: 用浏览器打开index.html文件,你会发现加载的很慢,原因你懂的,为此,我们可以通过离线的方式 查看本地API文档,用火狐浏览器  +   Work Offline插 ...

  3. 无废话ExtJs 入门教程十三[上传图片:File]

    无废话ExtJs 入门教程十三[上传图片:File] extjs技术交流,欢迎加群(201926085) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...

  4. ytu 1061: 从三个数中找出最大的数(水题,模板函数练习 + 宏定义练习)

    1061: 从三个数中找出最大的数 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 154  Solved: 124[Submit][Status][We ...

  5. golang 索引

    入门的基础路线 a Tour of GoEffective GoGo By Example 以上的三部分通读算是入门. 4个重要的组成部分 1. 基础知识2. 并发特性3. 异常处理4. 常用开源项目 ...

  6. CI框架获取post和get参数 CodeIgniter

    请参考:CI文档的输入类部分: $this->input->post() $this->input->get() ------------------------------- ...

  7. php几个常用的概率算法(抽奖、广告首选)

    做网站类的有时会弄个活动什么的,来让用户参加,既吸引用户注册,又提高网站的用户活跃度.同时参加的用户会获得一定的奖品,有100%中奖的,也有按一定概率中奖的,大的比如中个ipad.iphone5,小的 ...

  8. nefu558 bfs

    Description AC小公主很喜欢设计迷宫,她设计的迷宫只有两个口,一个入口,一个出口.但小公主有时候很调皮,她会让挑战者走不出迷宫.现在给你AC小公主的迷宫请你判断挑战者能否成功从出口走出迷宫 ...

  9. theano报一种float类型错误的处理办法

    我实际用的环境是Keras,查错误时查到是Theano的配置问题,所以在标题里就写成Theano的问题了, 是这样的,从Github上下载的别人的代码,准备复现别人的实验,结果在机器上部署好环境之后跑 ...

  10. 04_Java面向对象特征之继承与多态

    1. 继承 Java继承的实现(只支持单继承,而不是多继承,但有接口的多实现) 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类. 定义类时直接通过extends关键字指明要继承的父类.子类对 ...