CodeForces Goodbye 2017
A - New Year and Counting Cards
•题意
有n张牌,正面有字母,反面有数字
其中元音字母$a,e,o,i,u$的另一面必须对应$0,2,4,6,8$的偶数
其他字母可以和任意数字对应
问至少检查几次可以使这n张牌合法
•思路
由于偶数可以对应任何牌,但奇数必须对应不是元音的字母,所以所有的奇数要检查
由于元音字母只可以对应偶数,其他字母可以对应任意的数,所以元音字母要检查
记录元音字母+奇数的个数
•代码
#include<bits/stdc++.h>
using namespace std;
string s;
int main()
{
cin>>s;
int num=;
for(int i=;i<s.length();i++)
{
int a=s[i]-'';
if(((a&)&&a>&&a<)||s[i]=='a'||s[i]=='e'||s[i]=='i'||s[i]=='o'||s[i]=='u')
num++;
}
printf("%d\n",num);
}
B.New Year and Buggy Bot
•题意
给一个迷宫,其中$S$代表起点,$E$代表终点,$#$代表障碍物,#.#代表道路
$0,1,2,3$代表上下左右四个方位(顺序不一定),
给定一个序列,问按照序列走,从起点到终点一共多少种走法
•思路
对$0,1,2,3$进行全排列,第1,,2,3,4个位置分别代表上下左右
记录从起点到终点的方案数
•代码
#include<bits/stdc++.h>
using namespace std;
char s[][];
char t[];
int a[]={,,,};
int num=;
int n,m;
struct node
{
int x,y;
}st,en;
void solve(int u,int d,int l,int r)
{
int len=strlen(t+);
int x=st.x,y=st.y;
for(int i=;i<=len;i++)
{
int now=t[i]-'';
if(now==u)
x--;
else if(now==d)
x++;
else if(now==l)
y--;
else if(now==r)
y++; if(s[x][y]=='#'||x<||x>n||y<||y>m)
return ;
if(x==en.x&&y==en.y)
{
num++;
return ;
}
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
scanf("%s",s[i]+);
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
{
if(s[i][j]=='S')
st={i,j};
if(s[i][j]=='E')
en={i,j};
}
}
scanf("%s",t+);
do
{
solve(a[],a[],a[],a[]);
}while(next_permutation(a,a+)); printf("%d\n",num);
}
C - New Year and Curling
•题意
有n个实心圆在无穷远处,给出他们圆心的横坐标
现从无穷远处按照从1到n的顺序,往x轴推圆
由于圆是实心的,所以不能相交
问推完后每个圆的圆心的y坐标
•思路
一个圆不能再推动的前提是
①推到了x轴
②与其他圆相切
与其他圆相切的时候,只要一相切就不会再动了,也就是不能绕过相切早的去和晚的相切
可以假设可以都可以推到x轴,然后挨个去找前面可以和他相切的
注意找的是y坐标最大的,也就是相切最早的那一个
y坐标可以这么计算出 $h=(2r)^{2}-d^2$ (其中$d=a[i]-a[j]$) ,于是$b[j]=b[i]+h$
•代码
#include<bits/stdc++.h>
using namespace std;
int n,r;
int L,R;
int a[];
double b[];
int main()
{
scanf("%d%d",&n,&r);
for(int i=;i<=n;i++)
scanf("%d",a+i);
for(int i=;i<=n;i++)
{
b[i]=1.0*r;
for(int j=;j<i;j++)
{
int d=a[i]-a[j];
b[i]=max(b[i],b[j]+sqrt(*r*r-d*d));
}
}
for(int i=;i<=n;i++)
printf("%.10f ",b[i]);
}
CodeForces Goodbye 2017的更多相关文章
- Codeforces Goodbye 2018
Goodbye 2018 可能是我太菜考试的时候出不了$E$ 可能是我太菜考试的时候调不出$F$ 所以转化为手速场之后手速还上不去.jpg A 模拟题意... #include <cstdio& ...
- Codeforces Technocup 2017 - Elimination Round 2 D. Sea Battle(贪心)
题目链接 http://codeforces.com/contest/729/problem/D 题意:给你一个1*n的区域有a艘船,每艘船宽b,已经开了k枪都没打到,问你最少再开几枪至少能打到一艘船 ...
- Codeforces Technocup 2017 - Elimination Round 2 E Subordinates(贪心)
题目链接 http://codeforces.com/contest/729/problem/E 题意:给你n个人,主管id为s,然后给你n个id,每个id上对应一个数字表示比这个人大的有几个. 最后 ...
- Goodbye 2017 B
[题意]: 鲍勃编程一个机器人在2d迷宫中导航.迷宫有一些障碍.空单元格用'.'表示,其中障碍物用'#'表示.迷宫中有一个机器人.它的起始位置用字符“S”表示.这个位置没有任何障碍.迷宫中也有一个出口 ...
- Codeforces 908D New Year and Arbitrary Arrangement(概率DP,边界条件处理)
题目链接 Goodbye 2017 Problem D 题意 一个字符串开始,每次有$\frac{pa}{pa+pb}$的概率在后面加一个a,$\frac{pb}{pa+pb}$的概率在后面加一个 ...
- CF500G / T148321 走廊巡逻
题目链接 这题是 Codeforces Goodbye 2014 的最后一题 CF500G,只是去掉了 \(u \not= x, v \not = v\) 的条件. 官方题解感觉有很多东西说的迷迷瞪瞪 ...
- Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3)(A.B.C,3道暴力题,C可二分求解)
A. Is it rated? time limit per test:2 seconds memory limit per test:256 megabytes input:standard inp ...
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)
Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) 说一点东西: 昨天晚上$9:05$开始太不好了,我在学校学校$9:40$放 ...
- Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) A B C D 水 模拟 二分 贪心
A. Is it rated? time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
随机推荐
- 浅谈JavaScript的面向对象和它的封装、继承、多态
写在前面 既然是浅谈,就不会从原理上深度分析,只是帮助我们更好地理解... 面向对象与面向过程 面向对象和面向过程是两种不同的编程思想,刚开始接触编程的时候,我们大都是从面向过程起步的,毕竟像我一样, ...
- oracle水线的定义
1.水线定义了表的数据在一个BLOCK中所达到的最高的位置. 2.当有新的记录插入,水线增高 3.当删除记录时,水线不回落 4.减少查询量
- hdu1525 博弈
/* n%m==0 n状态 n>=2*m 先手决定谁来面对当前的状态,并且可以知道状态,所以先手必胜. */ #include<stdio.h> int min(int x,int ...
- linux中$@,$*,$0,$$,$?参数的含义
$# 是传给脚本的参数个数 $ 是脚本本身的名字 $ 是传递给该shell脚本的第一个参数 $ 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示所有向 ...
- HDU 1081 To The Max【dp,思维】
HDU 1081 题意:给定二维矩阵,求数组的子矩阵的元素和最大是多少. 题解:这个相当于求最大连续子序列和的加强版,把一维变成了二维. 先看看一维怎么办的: int getsum() { ; int ...
- Spring Security入门篇——标签sec:authorize的使用
Security框架可以精确控制页面的一个按钮.链接,它在页面上权限的控制实际上是通过它提供的标签来做到的 Security共有三类标签authorize authentication accessc ...
- python 字典创建
- qt开发ROS gui 遇到:global.h:1087:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. "......
具体错误如下: 一共出现38个错误 这个错误是在导入cmakelists.txt时产生的,其实不是工程本身的问题,是因为我卸载ros,再重新安装ros的过程中把qtcreator的部分包给删除了,导致 ...
- 如何解决iOS内存错误
由于iOS5.0之前没有自动应用计数机制,也没有Java那样的垃圾回收功能.我们都需要自己管理和控制对象的回收,这是一件很麻烦的事情,也是做iOS项目中最容易出现的问题.如果不掌握这些方法,调试这些问 ...
- Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果
在以前,做策划导航的时候,最常用的组件便是SlidingMenu了,当初第一次用它的时候觉得那个惊艳啊,体验可以说是非常棒. 后来,Android自己推出了一个可以实现策划导航的组件DrawerLay ...