Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only)
A Blackjack1
题意
一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10
现在你已经有一个queen了,问你有多少种方案,能够得到n点
题解
其实只用考虑三种情况,都考虑一下就好了,实在不行就暴力枚举……
代码
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
scanf("%d",&n);
if(n<=10||n>21)cout<<"0"<<endl;
else if(n==20)cout<<"15"<<endl;
else cout<<"4"<<endl;
}
B. Testing Pants for Sadness
题意
一共有n道题,每道题有a[i]个选项,每次答错这道题,就得重新答起。
现在问你最差的情况下,需要答多少次?
题解
答第i题失败,就会重新再答(i-1)次
代码
#include<bits/stdc++.h>
using namespace std;
const int maxn = 105;
int n;
int a[maxn];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
long long ans = 0;
for(int i=1;i<=n;i++)
ans+=1ll*(i-1)*(a[i]-1)+a[i];
cout<<ans<<endl;
}
C - Cthulhu
题意
给你一个图,问你这个图是否能够由几颗树组成,且树的根组成了简单环
题解
dfs,然后判断点的个数是否和边的个数相同,且是否是连通的就好了。
代码
#include<bits/stdc++.h>
using namespace std;
const int maxn = 106;
int vis[maxn],n,m;
int cnt = 0;
vector<int>E[maxn];
void dfs(int x){
vis[x]=1;
cnt++;
for(int i=0;i<E[x].size();i++){
int v = E[x][i];
if(!vis[v]){
dfs(v);
}
}
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
int a,b;
scanf("%d%d",&a,&b);
E[a].push_back(b);
E[b].push_back(a);
}
dfs(1);
if(n==m&&cnt==n)cout<<"FHTAGN!"<<endl;
else cout<<"NO"<<endl;
}
D - Russian Roulette
题意
俄罗斯转盘,长度为n的环,有k个子弹,然后挨着对着脑袋打。
你是第一个人,你希望你死的概率最小,问你怎么去设置这个子弹的位置。
第二个人会一开始随机砖圈,使得每一个位置开始都是可能的。
如果死的概率一样的话,让你找到字典序最小的。
题解
其实打个表看一看,就知道偶数就应该先把偶数位置给安上子弹,然后再把奇数位置倒着放。
但是如果总长度为奇数的话,先把最后一个位置放子弹,其他位置和偶数情况一样
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
long long k;
int q;
scanf("%lld%lld%d",&n,&k,&q);
if(n%2==1){
n--,k--;
}
for(int i=0;i<q;i++){
long long x;
scanf("%lld",&x);
if(x%2==0){
long long x2 = x/2;
long long num = n/2;
if(num - x2<k)
printf("X");
else
printf(".");
}else{
if(n%2==0&&x==n+1){
if(k>=0)
printf("X");
else{
printf(".");
}
continue;
}
long long num = n/2;
long long kk = k-num;
long long num2 = n-n/2;
long long num3 = (x+1)/2;
long long num4 = num2 - num3;
if(num4<kk)printf("X");
else printf(".");
}
}
}
Codeforces Beta Round #80 (Div. 2 Only)【ABCD】的更多相关文章
- Codeforces Round #160 (Div. 1) 题解【ABCD】
Codeforces Round #160 (Div. 1) A - Maxim and Discounts 题意 给你n个折扣,m个物品,每个折扣都可以使用无限次,每次你使用第i个折扣的时候,你必须 ...
- Codeforces Round #177 (Div. 1) 题解【ABCD】
Codeforces Round #177 (Div. 1) A. Polo the Penguin and Strings 题意 让你构造一个长度为n的串,且里面恰好包含k个不同字符,让你构造的字符 ...
- Codeforces Round #182 (Div. 1)题解【ABCD】
Codeforces Round #182 (Div. 1)题解 A题:Yaroslav and Sequence1 题意: 给你\(2*n+1\)个元素,你每次可以进行无数种操作,每次操作必须选择其 ...
- Codeforces Beta Round #80 (Div. 1 Only) D. Time to Raid Cowavans 离线+分块
题目链接: http://codeforces.com/contest/103/problem/D D. Time to Raid Cowavans time limit per test:4 sec ...
- Codeforces Beta Round #80 (Div. 1 Only) D. Time to Raid Cowavans 分块
D. Turtles Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/103/problem/D ...
- 分治思想 特别常用 Codeforces Beta Round #80 (Div. 1 Only) D
D. Time to Raid Cowavans time limit per test 4 seconds memory limit per test 70 megabytes input stan ...
- Codeforces Round #410 (Div. 2) 题解 【ABCD】
A 题意:问你恰好修改一个字符,能不能使得字符串变成回文串 题解:显然直接for一遍,如果长度为偶数,那么不一样的必须是1个:如果长度为奇数,那么不一样的也可以是0个 #include<bits ...
- Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】
Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...
- Codeforces Beta Round #69 (Div. 2 Only)
Codeforces Beta Round #69 (Div. 2 Only) http://codeforces.com/contest/80 A #include<bits/stdc++.h ...
随机推荐
- Windows中多个python版本共存的问题
原创文章,未经本人允许进制转载. 在我的Windows中,先安装了python3.4,后来因为需要又安装了python2.7,结果发现: 直接双击1.py和命令行python 1.py使用的pytho ...
- 用scala实现一个sql执行引擎-(上)
前言 在实时计算中,通常是从队列中收集原始数据,这种原始数据在内存中通常是一个java bean,把数据收集过来以后,通常会把数据落地到数据库,供后面的ETL使用.举个一个简单的例子,对一个游戏来说, ...
- 『TCP/IP详解——卷一:协议』读书笔记——07
2013-08-20 17:51:49 第三章 IP:网际协议 3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP和IGMP数据都以IP数据报格式传输.再来看一下图 ...
- iOS UIWebView中javascript与Objective-C交互、获取摄像头
UIWebView是iOS开发中常用的一个视图控件,多数情况下,它被用来显示HTML格式的内容. 支持的文档格式 除了HTML以外,UIWebView还支持iWork, Office等文档格式: Ex ...
- linux下vi操作出现E325: ATTENTION的解决方法
#rm ***.***.swp #rm: remove regular file `.Test.java.swp'? y # OK,完成.再用VI打开就可以了.
- 第十六章:异步处理之AsyncTask的应用
前言 我们知道Android的UI主线程主要负责处理用户的按键事件.用户的触屏事件以及屏幕绘图事件等:既然UI老人家都这么忙了,我们这些开发者肯定不能不识趣的去添乱阻塞UI线程什么的,否则UI界面万一 ...
- Microsoft 家族新成员 Datazen 移动BI 介绍
开篇介绍 Microsoft 在上个月即 2015年4月份收购了 Datazen www.datazen.com, Datazen 专注于移动 BI 和数据可视化领域,并且它的基本部署与配置架构都是基 ...
- Windows下安装MinGW,编译c/c++时出现cannot find -lpthread解决办法
由于Mingw下没有带pthread库,所以在eclipse中设置多线程动态链接库,也不管用.需要自己下载, ftp://sourceware.org/pub/pthreads-win32/pthre ...
- Silverlight动态载入调用XAML资源
以多语言为例子: ResourceDictionary resourceDictionary = new ResourceDictionary(); //新建资源集合 var culture = ...
- [ucgui] 对话框5——鼠标位置和移动窗口
>_<" 这节主要是获取鼠标的位置和把窗口设置为可以移动.其中设置窗口可以移动用FRAMEWIN_SetMoveable(hFrameWin, 1)就行了.而获得鼠标位置则是利用 ...