UVA696 - How Many Knights(数论)
来源:互联网 发布:淘宝旅行服务热线 编辑:程序博客网 时间:2024/05/22 03:25
696 - How Many Knights(数论)
题目链接
题目大意:要求在一个棋盘上放上最多的骑士,但他们之间不能互相攻击。骑士的攻击范围题目中有图给出。
思路:画到后面会发现上下两行骑士交错的放是最优的策略
(N N N)
( N N )
(N N N)
但是这个只适用与3*
3矩阵和更大的矩阵,小点的就要另外讨论了。
一行或者一列的时後每个位置都是可以放的,不会互相攻击。两行的时候就需要前面两列,放四个骑士,后面接着的两列就不能放,然后再继续往后放,所以就是四列四列的进行考虑。
代码:
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main () { int n, m, r, c, ans; while (scanf ("%d%d", &n, &m) && (n || m)) { r = min(n, m); c = max(n, m); if (r == 2) { int mod = c % 4; int mul = c / 4; ans = mul * 4 + (mod <= 2? (mod * 2) : 4); } else if (r <= 1) { ans = r * c; } else { ans = (n * m + 1) / 2; } printf ("%d knights may be placed on a %d row %d column board.\n", ans, n, m); } return 0;}
0 0
- UVA696 - How Many Knights(数论)
- UVa 696 - How Many Knights
- uva 696 - How Many Knights
- UVA 696 How Many Knights
- UVA - 696 How Many Knights
- UVa 696 How Many Knights (想法题)
- UVA 696 - How Many Knights (规律)
- HDU 1316 How Many Fibs? 数论
- UVA 10061 How many zero's and how many digits ?(数论)
- ACMSTEP 2.1.2 How many prime numbers //数论 素数
- ZOJ 3556 How Many Sets I 解题报告(数论)
- hdu 2138 How many prime numbers(数论:素数判定)
- POJ 3286 How many 0's?(数论)
- HIToj How many N 1008 (数论同余&暴力)
- How many
- UVA 10303 - How Many Trees?(数论 卡特兰数 高精度)
- (Relax 数论1.29)POJ 3286 How many 0's?(统计a-b之间-出现的次数)
- HDU 1796 How many integers can you find 解题报告(数论)
- 【DP 四边形不等式】
- 五分钟理解一致性哈希算法(consistent hashing)
- Java 安全管理器--SecurityManager
- 联合类型的声明
- next_permutation原理剖析
- UVA696 - How Many Knights(数论)
- Resharper的使用
- 回顾ios中UIViewController的生命周期及ios的执行顺序
- SmartfoxServer的客户端逻辑处理模版
- 解决java.lang.UnsupportedClassVersionError问题!!
- String 解析
- 自己在项目中遇到的几个问题,包括vector的问题,键盘隐藏等
- RelativeLayout (相对布局) 语句总结
- ]半透明的UIView作进度提示,或者说是半透明遮盖。附源码