题目链接:https://vjudge.net/contest/28079#problem/B

题目大意:给你一个nxm的棋盘,问你最多可以放几个骑士让他们互相攻击不到。骑士攻击方式如下图:

解题思路:当m和n都大于2时,ans=(m*n+1)/2

     当m或n有一个为1时,ans=m*n

     当m或n有一个为2时,那么我们可以考虑可以分出多少个2*2的格子(t田字格) ,那么我们可以一次把一个田字格全部放上马,然后间隔一个田字格,然后再放马,使m=max(n,m),判断田字格两两匹配后剩下的格子数tmp=m-m/4*4,若tmp>=2,ans=(m/4+1)*4,否则ans=m/4*4+tmp*2;

代码:

 #include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std; int main(){
int t,m,n;
scanf("%d",&t);
for(int i=;i<=t;i++){
int ans;
scanf("%d%d",&m,&n);
if(m>&&n>)
ans=(m*n+)/;
if(m==||n==){
ans=m*n;
}
else if(m==||n==){
if(m<n)
swap(m,n);
ans=m/*;
//匹配了成对田字格后剩下的格子
int tmp=m-m/*;
if(m%>=)
ans+=;
else
ans+=m%*;
}
printf("Case %d: %d\n",i,ans);
}
}

最新文章

  1. java中static 和 final 的一些使用规则
  2. Javascirpt中创建对象的几种方式
  3. EPLAN部件库之共享方法
  4. Android之多线程断点下载
  5. ECharts 在同一个页面添加多个图表 并 给图表绑定事件
  6. Reporting Service报表项默认可见+号和-号的显示问题
  7. android studio导入 so ,jar 文件。
  8. Windows启动系统程序命令
  9. toB的产品经理和toc产品经理区别
  10. DTCMS自定义标签:获取所有栏目以及不显示指定栏目
  11. Java中4大基本加密算法解析
  12. CSS筛选器简单实例1
  13. jmeter学习笔记(一)
  14. Java开发笔记(七十)Java8新增的几种泛型接口
  15. delphi的流操作的语法
  16. Python字符串格式化--format()方法
  17. Scala并发编程【进阶】
  18. 2018-2019-2 20165212《网络对抗技术》Exp2 后门原理与实践
  19. sysbench 多线程异步io模拟mysql测试的脚本
  20. java基础学习总结——线程(一)

热门文章

  1. 第13章 MySQL服务器的状态--高性能MySQL学习笔记
  2. Codeforces Round #338 (Div. 2) D 数学
  3. 怎么用spring cloud service-id 进行调用接口
  4. I/O多路复用一些概念
  5. base64解码
  6. 2015年IPC网络摄像机技术发展现状分析
  7. centos7 ffmpeg安装
  8. /etc/rc.d/里文件的作用
  9. 有向图博弈+出度的结合 Codeforces Round #406 (Div. 2) C
  10. eclipse中修改svn用户名和密码