传送门

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的更多相关文章

  1. Codeforces Goodbye 2018

    Goodbye 2018 可能是我太菜考试的时候出不了$E$ 可能是我太菜考试的时候调不出$F$ 所以转化为手速场之后手速还上不去.jpg A 模拟题意... #include <cstdio& ...

  2. Codeforces Technocup 2017 - Elimination Round 2 D. Sea Battle(贪心)

    题目链接 http://codeforces.com/contest/729/problem/D 题意:给你一个1*n的区域有a艘船,每艘船宽b,已经开了k枪都没打到,问你最少再开几枪至少能打到一艘船 ...

  3. Codeforces Technocup 2017 - Elimination Round 2 E Subordinates(贪心)

    题目链接 http://codeforces.com/contest/729/problem/E 题意:给你n个人,主管id为s,然后给你n个id,每个id上对应一个数字表示比这个人大的有几个. 最后 ...

  4. Goodbye 2017 B

    [题意]: 鲍勃编程一个机器人在2d迷宫中导航.迷宫有一些障碍.空单元格用'.'表示,其中障碍物用'#'表示.迷宫中有一个机器人.它的起始位置用字符“S”表示.这个位置没有任何障碍.迷宫中也有一个出口 ...

  5. Codeforces 908D New Year and Arbitrary Arrangement(概率DP,边界条件处理)

    题目链接  Goodbye 2017 Problem D 题意  一个字符串开始,每次有$\frac{pa}{pa+pb}$的概率在后面加一个a,$\frac{pb}{pa+pb}$的概率在后面加一个 ...

  6. CF500G / T148321 走廊巡逻

    题目链接 这题是 Codeforces Goodbye 2014 的最后一题 CF500G,只是去掉了 \(u \not= x, v \not = v\) 的条件. 官方题解感觉有很多东西说的迷迷瞪瞪 ...

  7. 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 ...

  8. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)

    Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) 说一点东西: 昨天晚上$9:05$开始太不好了,我在学校学校$9:40$放 ...

  9. 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 ...

随机推荐

  1. android GUI 流程记录

    ViewRootImpl 与 wms ViewRootImple里的 WindowSeesion是WindowManagerService的proxy, 通过这个句柄来调用WMS的功能而W是 wms用 ...

  2. QT语言翻译

    QT中多语言的实现方式: 1.代码中tr运用 2.使用工具生成ts文件 3.翻译ts文件 4.生成qm文件 5.程序加载 以下内容程序加载时放入即可. QString appPath = QCoreA ...

  3. 前端规范1-HTML规范

    HTML规范 1代码风格(参1,) 使用Tab字符(四个空格长度) 层级关系太多时尽量写在一行,但保证每行代码不宜过长  例,代码不宜过长 例,尽量写在一行 2命名(参1,) class必须使用小写, ...

  4. JavaScript--开关思想

    就是男默女泪的立flag! <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  5. python 逗号分隔值文件的操作

  6. Java练习 SDUT-2444_正方形

    正方形 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 给出四个点,判断这四个点能否构成一个正方形. Input 输入的 ...

  7. Android BroadcastReceiver 简介

    Android BroadcastReceiver 简介  在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver     活动(A ...

  8. Android学习:导入工程时报错The import android cannot be resolved

    今天在导入别人的工程时,出现了一个这个问题The import android cannot be resolved 就是找不到import android.support.v7.app.Action ...

  9. python while 循环结构

  10. oracle函数 SUBSTR(c1,n1[,n2])

    [功能]取子字符串 [说明]多字节符(汉字.全角符等),按1个字符计算 [参数]在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串. [返回]字符型 [示例] SQ ...