I Irrational Division
题意

有一个p*q的黑白相间的格子图,你站在左边往右切,另一个人站在下边往上切,切到的部分黑色加1分,白色减1分,两人都按最优策略尽量让自己分最大,问最大可能的分数差值绝对值。
分析

显然分奇偶判断一下。
当p为偶数,列无论怎么取都是黑白相同0,所以最优取法是保守取剩下偶数列,这样对方也只能保守取偶数行,最后答案为0。如果取剩下奇数列,那最后的得分是0和-2,虽然答案变大,但是并不是最优的使得两人得分尽量多的策略。
当p为奇数,q也为奇数时,第一步保守取偶数列得分0,剩下奇数列,对方显然可以只选一行,得1分,最后结果是0和1,若第一步激进选奇数列得1分,考虑直接取完的情况,所以最后结果是1和0,所以答案为1。
当p为奇数,q为偶数时,还需要判断p和q的关系。
当p<q时,第一步保守取偶数列得0分,对方最优肯定也是保守取1行,转化为pq均为偶数的情况,答案为0,第一步激进取1列得1分,对方只能保守取偶数行得0分,我们再保守取,最后肯定能剩下一个白色角落给对方,因此最后结果是0和-2,答案为2。
当p>q时,第一步保守取偶数列得0分,对方最优肯定取奇数行剩下偶数行,转化为pq均为偶数的情况,答案为0,第一步激进取1列得1分,对方最优取偶数行剩下奇数行,我们只能保守取偶数列,最后肯定剩下一个白色角落给我们,因此最后结果是0和0,答案为0。

代码

#include <bits/stdc++.h>
using namespace std;
int p,q;
int main(){
scanf("%d%d",&p,&q);
if(p%20 && q%20){
printf(“0\n”);
}else if(p%20 && q%21){
printf(“0\n”);
}else if(p%21 && q%20){
if(p<q){
printf(“2\n”);
}else{
printf(“0\n”);
}
}else if(p%21 && q%21){
printf(“1\n”);
}
return 0;
}
(该题解摘自http://www.mamicode.com/info-detail-2799300.html,目前还没有理解,之后会继续补)

I Irrational Division相关推荐

  1. RuntimeError: Integer division of tensors using div or / is no longer supported, and in a future rel

    RuntimeError: Integer division of tensors using div or / is no longer supported, and in a future rel ...

  2. from __future__ import absolute_import, division, print_function

    这三个函数的功能就是python2 为了适配python3格式做的补充,所以如果是python3的话,是不需要导入的. 不过,既然到这里了,那就说说这三个东西的用处. absolute_import ...

  3. 暴力枚举 UVA 725 Division

    题目传送门 1 /* 2 暴力:对于每一个数都判断,是否数字全都使用过一遍 3 */ 4 #include <cstdio> 5 #include <iostream> 6 # ...

  4. python from __future__ import division的作用

    1.在python2 中导入未来的支持的语言特征中division(精确除法),即from future import division ,当我们在程序中没有导入该特征时,"/"操 ...

  5. uva 725 Division(暴力模拟)

    Division 紫书入门级别的暴力,可我还是写了好长时间 = = [题目链接]uva 725 [题目类型]化简暴力 &题解: 首先要看懂题意,他的意思也就是0~9都只出现一遍,在这2个5位数 ...

  6. JavaScript实现trial Division试除法算法(附完整源码)

    JavaScript实现trial Division试除法算法(附完整源码) trialDivision.js完整源代码 trialDivision.js完整源代码 export default fu ...

  7. CodeForces - 1497E2 Square-free division (hard version)(dp+数论)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的数列,现在最多可以修改 kkk 个数字为任意数值,现在问最少可以将数列划分成多少个连续的数列,使得每一个单独的段中,任意两个数的乘积都不能是完全 ...

  8. 如何给SAP C4C的产品主数据division配置出新的下拉选项

    如图:C4C产品主数据division字段默认的下拉菜单选项: 切换成调试模式,找到UI这个字段绑定的模型字段名称:/Root/MaterialDivision: 再找到这个UI模型字段绑定到的cor ...

  9. bzoj1385: [Baltic2000]Division expression

    欧几里得算法.可以发现规律,a[2]作为分母,其他作为分子,必定是最好的选择.判断是否为整数即可. #include<cstdio> #include<cstring> #in ...

  10. Division CodeForces - 1445C(数论因子相关)

    题意: 找一个最大的数X,使p%x==0且x%q!=0,题目保证至少有一个答案满足题意. 题目: Oleg's favorite subjects are History and Math, and ...

最新文章

  1. CentOs环境下PHP支持PDO_MYSQL
  2. 戴尔商台试机选购指南
  3. 台式计算机的拆解与安装实验报告,计算机组成实验的实验报告
  4. 百度Q3财报:净利润44亿元 重回增长轨道
  5. 配置和调试EIGRP
  6. Python自带函数map(),zip()等
  7. html 可换行属性,html里title属性换行的方法
  8. matlab画直方图_直方图规定化+暗通道去雾 python
  9. ISO20000/ISO27001认证区别和证书展示
  10. 基于javaweb的物资配送管理系统_基于JAVA的物流配送管理系统毕业设计书
  11. 几款网络测试工具总结
  12. python微分几何_十一年磨一剑:中科大数学教授成功证明微分几何学两大猜想
  13. ibm服务器预装什么系统,如何恢复IBM存储服务器的预装系统
  14. 树莓派迅雷远程下载 | 树莓派小无相系列 1
  15. 100行代码做一个周杰伦歌词生成器--python
  16. 剪映导出帧率选多少_剪映帧率是什么 剪映帧率在哪设置
  17. debug这个词真的源自小虫子
  18. 打字训练 my father1
  19. Python ORM框架peewee
  20. 华为路由交换学习篇-链路聚合

热门文章

  1. Atitit 代理解决方案proxy solu attilax总结 1. 为什么需要代理 1 1.1. Ajax跨域 1 1.2. Nginx反向代理 1 2. 分类 2 2.1. 普通vs隧道 2
  2. 砌体的弹性模量计算_3.2 砌体的计算指标
  3. Spring中常用注解及其作用(二)
  4. web前端全栈0基础到精通(祺)10
  5. 扛住阿里双十一高并发流量,Sentinel是怎么做到的?
  6. JavaScript中的symbol对象
  7. EasyBoot教程三:制作GHOST多重启动盘方法
  8. QQ等级图标对应的算法
  9. 如何使用python刷博客浏览量---第一种方法
  10. 传奇各大地图编号代码库