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

  1. Codeforces Round #160 (Div. 1) 题解【ABCD】

    Codeforces Round #160 (Div. 1) A - Maxim and Discounts 题意 给你n个折扣,m个物品,每个折扣都可以使用无限次,每次你使用第i个折扣的时候,你必须 ...

  2. Codeforces Round #177 (Div. 1) 题解【ABCD】

    Codeforces Round #177 (Div. 1) A. Polo the Penguin and Strings 题意 让你构造一个长度为n的串,且里面恰好包含k个不同字符,让你构造的字符 ...

  3. Codeforces Round #182 (Div. 1)题解【ABCD】

    Codeforces Round #182 (Div. 1)题解 A题:Yaroslav and Sequence1 题意: 给你\(2*n+1\)个元素,你每次可以进行无数种操作,每次操作必须选择其 ...

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

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

  6. 分治思想 特别常用 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 ...

  7. Codeforces Round #410 (Div. 2) 题解 【ABCD】

    A 题意:问你恰好修改一个字符,能不能使得字符串变成回文串 题解:显然直接for一遍,如果长度为偶数,那么不一样的必须是1个:如果长度为奇数,那么不一样的也可以是0个 #include<bits ...

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

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

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

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

随机推荐

  1. TreeView树形控件递归绑定数据库里的数据

    TreeView树形控件递归绑定数据库里的数据. 第一种:性能不好 第一步:数据库中查出来的表,字段名分别为UNAME(显示名称),DID(关联数据),UTYPE(类型) 第二步:前台代码 <% ...

  2. vim/vi 复制,删除,粘贴,查找,替换

    1.删除行 光标所在单行,dd  光标所在行以下的5行,5dd 全部删除:dG 2.复制 复制光标所在单行:yy 复制光标以下4行:4yy 3.粘贴 粘贴vi里复制的内容:p 粘贴外部复制过来的内容: ...

  3. 企业模式之Unit Of Work模式

    在开始UnitOfWork模式之前有必要回顾下我们耳熟能详的Data Access Object(DAO)模式,即数据访问对象.DAO是一种简单的模式,我们构建应用的时候经常会使用到它,它的功能就是将 ...

  4. ubuntu 命令的快捷启动

    目前我知道的有三种方式 第一种,在配置文件 .bashrc 中 配置alias ,追加到文件末尾就行 如下: alias tmout='tail -f /usr/local/oakcloud/tomc ...

  5. [转]oracle 10g数据泵之impdp-同时导入多个文件

    要了解impdp,请先了解导出,我之前作过导出的笔记:oracle 10g数据泵之expdp.这两个笔记也许只对程序员有用,通常用于把正式区的数据导入到测试区,对数据库管理员也许帮助不大,他们使用这些 ...

  6. 第35讲:List的map、flatMap、foreach、filter操作代码实战

    List类的高阶方法          val fmap = List( 1,2 ,3). map { _ + 1 } //List(2, 3, 4)    val fruit_rev2 = frui ...

  7. linux-3重置root密码

    1.首先确认是redhat7 [root@localhost /]# cat /etc/redhat-release 详细步骤: 第1步:开机后在内核上敲击"e". 第2步:在li ...

  8. solr与.net系列课程(七)solr主从复制

    solr与.net系列课程(七)solr主从复制    既然solr是解决大量数据全文索引的方案,由于高并发的问题,我们就要考虑solr的负载均衡了,solr提供非常简单的主从复制的配置方法,那么下面 ...

  9. TypeScript开发手册

    返回TS学习总目录 基本类型(Basic Types) 接口(Interfaces) 类(Classes) 模块(Modules) 函数(Functions) 泛型(Generics) 常见错误(Co ...

  10. mysql 去除空格

    update nm_user set nickname=TRIM(Replace(Replace(Replace(nickname,'\t',''),'\n',''),'\r',''))