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 ...
随机推荐
- jQuery图片从下往上滚动效果
在线演示 本地下载
- iOS 9 新特性之实现 3D Touch
http://www.cocoachina.com/ios/20151027/13812.html 10月19号,周末,起床去吃早餐,吃完回来顺便去沃尔玛逛逛,把晚上的菜给买了,逛着逛着就来到了卖苹果 ...
- ACM:树的变换,依据表达式建立表达式树
题目:输入一个表达式.建立一个表达式树. 分析:找到最后计算的运算符(它是整棵表达式树的根),然后递归处理! 在代码中.仅仅有当p==0的时候.才考虑这个运算符,由于括号中的运 ...
- GitHub Top 100 Objective-C 项目简介
主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 若有任何疑问可通过微博@李锦发联系我 GitHub 地 ...
- Arthas用法
简介 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的? 为什么会报各种类相关的 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)
2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ...
- 阿里云亮相2019联通合作伙伴大会,边缘计算等3款云产品助力5G时代产业数字化转型
4月23日,2019中国联通合作伙伴大会在上海正式开幕,本次大会以“合作不设限,共筑新生态”为主题,涉及5G.边缘计算.云计算.物联网.新媒体.人工智能.互联网化等各领域超过600家合作伙伴与3万名各 ...
- Liunx vi/vim 2
移动光标的方法 H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符 L 光标移动到这个屏幕的最下方那一行的第一个字符 G 移动到这个档案的最后一行(常用 ...
- 【[Offer收割]编程练习赛9 B】水陆距离
[题目链接]:http://hihocoder.com/problemset/problem/1478 [题意] [题解] 一开始把所有的水域的位置都加入到队列中去; 然后跑一个bfs. 第一次到达的 ...
- PHP实现图片的等比缩放和Logo水印功能示例
文章来自于:脚本之家 文章链接:https://www.jb51.net/article/112909.htm 这篇文章主要介绍了PHP实现图片的等比缩放和Logo水印功能,结合实例形式分析了php图 ...
