Ticket Game思维题
题目链接
题意:
给你一个n的序列(n=2*k),由数字和?(偶数个)组成,A和B分别操作(B先操作):把?变成一个任意的0-9的数字,如果最后前n/2和后n/2个数字之和相等,则A胜,否则B胜。
分析:
想一想?的作用,对于A来说就是赶快“平衡”两边,而对于B来说就是赶快让两边平衡不了。那么我们想一想B先操作会怎么办,他会把多的那边的某个?变成9(否则a会占更大优势),次时,A只能“跟风”把另一边的一个?变成9,于是一直这样下去,就还剩一边由?,此时,A和B可变的?的个数就相等了,于是每人变一个,当然,如果此时这边的和已经大了的话,那A就“凉了”,否则就计算一下能不能变成相等的,当然此时B就会判断,如果?个数*9/2就超了,那么B会很高兴的把他要变的数字都变成9,如果个数*9/2都不够,那么就B会很开心的把数字都变成0,可是如果正好是个数*9/2,那么就好了,A只需不管B怎么变就变为9-B变的数就好了,A就获胜了。
还是比较简单的,然后我们要做的就是判断一下就好了,最后就是代码了
#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int suma=,sumb=,ha=,hb=;
char js;
for(int i=;i<=n/;i++){
scanf(" %c",&js);
if(js=='?')
ha++;
else
suma+=js-'';
}
for(int i=;i<=n/;i++){
scanf(" %c",&js);
if(js=='?')
hb++;
else
sumb+=js-'';
}
if(ha<hb){
swap(ha,hb);
swap(suma,sumb);
}
int wh=ha-hb;
int c=sumb-suma;
if(c<)
printf("Monocarp");
else if(wh/*==c)
printf("Bicarp");
else
printf("Monocarp");
return ;
}
Ticket Game思维题的更多相关文章
- zoj 3778 Talented Chef(思维题)
题目 题意:一个人可以在一分钟同时进行m道菜的一个步骤,共有n道菜,每道菜各有xi个步骤,求做完的最短时间. 思路:一道很水的思维题, 根本不需要去 考虑模拟过程 以及先做那道菜(比赛的时候就是这么考 ...
- cf A. Inna and Pink Pony(思维题)
题目:http://codeforces.com/contest/374/problem/A 题意:求到达边界的最小步数.. 刚开始以为是 bfs,不过数据10^6太大了,肯定不是... 一个思维题, ...
- ZOJ 3829 贪心 思维题
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商 ...
- 洛谷P4643 [国家集训队]阿狸和桃子的游戏(思维题+贪心)
思维题,好题 把每条边的边权平分到这条边的两个顶点上,之后就是个sb贪心了 正确性证明: 如果一条边的两个顶点被一个人选了,一整条边的贡献就凑齐了 如果分别被两个人选了,一作差就抵消了,相当于谁都没有 ...
- C. Nice Garland Codeforces Round #535 (Div. 3) 思维题
C. Nice Garland time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- PJ考试可能会用到的数学思维题选讲-自学教程-自学笔记
PJ考试可能会用到的数学思维题选讲 by Pleiades_Antares 是学弟学妹的讲义--然后一部分题目是我弄的一部分来源于洛谷用户@ 普及组的一些数学思维题,所以可能有点菜咯别怪我 OI中的数 ...
- UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There Was One / POJ 3517 And Then There Was One / Aizu 1275 And Then There Was One (动态规划,思维题)
UVA 1394 And Then There Was One / Gym 101415A And Then There Was One / UVAlive 3882 And Then There W ...
- HDU 1029 Ignatius and the Princess IV / HYSBZ(BZOJ) 2456 mode(思维题,~~排序?~~)
HDU 1029 Ignatius and the Princess IV (思维题,排序?) Description "OK, you are not too bad, em... But ...
- cf796c 树形,思维题
一开始以为是个树形dp,特地去学了..结果是个思维题 /* 树结构,设最大点权值为Max,则答案必在在区间[Max,Max+2] 证明ans <= Max+2 任取一个点作为根节点,那么去掉这个 ...
随机推荐
- 教科书级讲解,秒懂最详细Java的注解
所有知识体系文章,GitHub已收录,欢迎Star!再次感谢,愿你早日进入大厂! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual ...
- 从linux源码看epoll
从linux源码看epoll 前言 在linux的高性能网络编程中,绕不开的就是epoll.和select.poll等系统调用相比,epoll在需要监视大量文件描述符并且其中只有少数活跃的时候,表现出 ...
- Pytest单元测试框架——Pytest+Allure+Jenkins的应用
一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架 ...
- C和C++中static的比较
using namespace std; class A{ private: static int a;//由static修饰的变量仅仅是一个声明,不能在此处进行初始化,需要在类的外部初始化. voi ...
- Java 多线程基础(四)线程安全
Java 多线程基础(四)线程安全 在多线程环境下,如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线 ...
- 总结:PgSql备份pg_dump与还原pg_restore
备份还原方法:pg_dump和pg_restore,先仔细说明这两个命令,再记录我的操作方法. 远程复制scp: #which scp /usr/bin/scp #rpm -qf /usr/bin/ ...
- redis5.0.7集群搭建
这里实验的是129.130.240三台服务器6个节点的部署(redis集群最低要6个节点,不然无法创建). 1.压缩包安装 #wget http://download.redis.io/release ...
- cb47a_c++_STL_算法_排列组合next_prev_permutation
cb47a_c++_STL_算法_排列组合next_prev_permutation 使用前必须先排序.必须是 1,2,3或者3,2,1.否者结果不准确.如果, 1,2,4,6.这样数据不会准确nex ...
- 错误 C2679二进制“没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换
错误 C2679二进制“没有找到接受“std::string”类型的右操作数的运算符(或没有可接受的转换 严重性 代码 说明 项目 文件 行 禁止显示状态错误 C2679 二进制“<<”: ...
- 【初学Java学习笔记】AOP与OOP
AOP(Aspect Oriented Programming) 面向切面编程,是属于Spring框架中的内容.AOP相当于OOP的补充,当我们需要对多个对象引入一个公共行为,比如日志,操作记录等,就 ...