lightoj-1010-Knights in Chessboard
来源:互联网 发布:centos 挂载iso 编辑:程序博客网 时间:2024/05/16 06:39
题意:
给你一个n*m的棋盘,问你棋盘上最多放多少个马,使得任意两个马都不会互相攻击。
做法:
对于棋盘,我们会发现,如果我们只把马放在白色的方格内,则任意两个马都不会互相攻击。
这样我们有了第一种放法,全放在白格内或者全放在黑格内。
但是有一些特殊情况。
假如n=min(n,m),m=max(n,m);
如果n=1,那么我们可以在棋盘上全放上棋子。
如果n=2,那么我们可以一次把一个田字格全部放上马,然后间隔一个田字格,然后再放马。
#include <iostream>#include<stdio.h>#include<string.h>#include<math.h>using namespace std;#define LL long longint main(){ int T; scanf("%d",&T); int cas=0; while(T--) { cas++; int n,m,x,y; scanf("%d%d",&n,&m); if(n>m)swap(n,m); x=n*m; x=x/2; y=n*m-x; y=max(x,y); if(n==1)x=m; if(n==2)x=2*(2*(m/4)+min(2,m%4)); printf("Case %d: %d\n",cas,max(x,y)); } return 0;}
1 0
- lightoj-1010-Knights in Chessboard
- LightOJ 1010 Knights in Chessboard
- lightoj 1010 - Knights in Chessboard 【数学思维】
- LightOJ 1010 Knights in Chessboard <贪心思维>
- lightoj 1010-Knights in Chessboard (规律)
- LightOJ-1010-Knights in Chessboard [规律]
- LightOJ 1010 Knights in Chessboard(数学规律)
- lightoj 1010 - Knights in Chessboard (找规律思维)
- lightoj 1010 - Knights in Chessboard(找规律)
- lightoj 1171 - Knights in Chessboard (II) 【奇偶图 最小割】
- Light oj 1010 - Knights in Chessboard
- 1010 - Knights in Chessboard(找规律)
- Light OJ 1010 - Knights in Chessboard【思维】
- LIGHT OJ 1010 Knights in Chessboard
- Knights in Chessboard
- LightOJ1010---Knights in Chessboard (规律题)
- light1010 - Knights in Chessboard【找规律】
- lightoj1010 Knights in Chessboard(找规律)
- hdu 4886 TIANKENG’s restaurant(Ⅱ) 字符串
- Android 在ubuntu上下载和编译系统源码
- [win32接口]根据路径,逐级创建目录(若目录不存在)
- Lua 错误处理方法
- 剑指offer-5:从头到尾打印链表
- lightoj-1010-Knights in Chessboard
- 状态机实例
- C#命名空间和注释
- C++里面的Super Call
- nginx1.0的安装
- 背后的故事
- Nginx Proxy Cache分析
- hive (expalin 解析)
- 10个常见的缓存使用误区