LightOJ 1010

原创 2016年05月30日 21:53:22
1010 - Knights in Chessboard
Time Limit: 1 second(s) Memory Limit: 32 MB

Given an m x n chessboard where you want to place chess knights. You have to find the number of maximum knights that can be placed in the chessboard such that no two knights attack each other.

Those who are not familiar with chess knights, note that a chess knight can attack 8 positions in the board as shown in the picture below.

Input

Input starts with an integer T (≤ 41000), denoting the number of test cases.

Each case contains two integers m, n (1 ≤ m, n ≤ 200). Here m and n corresponds to the number of rows and the number of columns of the board respectively.

Output

For each case, print the case number and maximum number of knights that can be placed in the board considering the above restrictions.

Sample Input

Output for Sample Input

3

8 8

3 7

4 10

Case 1: 32

Case 2: 11

Case 3: 20

 


#include <iostream>
#include <cstdio>
using namespace std;


int main()
{
    int t, ncase=1;
    cin>>t;
    while(t--)
    {
        int m, n;
        scanf("%d %d", &m, &n);
        printf("Case %d: ",ncase++);
        if(m==1||n==1)
        {
            printf("%d\n",n*m);
        }
        else if(n==2||m==2)
        {
            int x=(m*n)%8, y=((m*n)/8)*4;
            if(x>4)
            {
                x=4;
            }
            printf("%d\n",x+y);
        }
        else
        {
            if((m*n)&1)
            {
                printf("%d\n",(m*n)/2+1);
            }
            else
            {
                printf("%d\n",(m*n)/2);
            }
        }
    }
    return 0;
}


每隔一个棋子放一个马,可达到最优解,1,2特判;

然而比赛时并没有多想完全交给队友去做也不问他的思维一心只钻研自己的题,因为一开始没和队友说自己是怎么想的后来在队友的提醒下才知道想错了然而却已经浪费了大量的时间结果不仅没做出来还浪费了大量的时间,如果和队友一起想的话可能就帮队友做出来了,下次一定要记住要团体解题靠个人能力实在是时间浪费太严重



版权声明:本文为博主原创文章,未经博主允许不得转载。

LightOJ 1010 Knights in Chessboard

题目分析 m,n都很大,因此用搜索肯定是行不通的,只能找规律,首先,我们会发现棋子放在白格子或者黑格子都不会互相攻击,但是有特殊情况需要考虑,一种就是如果之后一行或者一列,很显然这一行或者一列都可...
  • chen_ze_hua
  • chen_ze_hua
  • 2016年05月26日 16:28
  • 263

Lightoj 1010

Lightoj
  • chengqian1125
  • chengqian1125
  • 2016年06月12日 23:27
  • 83

lightoj-1010-Knights in Chessboard

题意: 给你一个n*m的棋盘,问你棋盘上最多放多少个马,使得任意两个马都不会互相攻击。 做法: 对于棋盘,我们会发现,如果我们只把马放在白色的方格内,则任意两个马都不会互相攻击。 这样我们有了...
  • rowanhaoa
  • rowanhaoa
  • 2014年07月29日 10:29
  • 1652

lightoj 1010

题意,在一个n*n的棋盘上放
  • u013171170
  • u013171170
  • 2014年08月06日 23:19
  • 277

PAT甲级1010

1010. Radix (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B ...
  • qq_22194315
  • qq_22194315
  • 2017年01月20日 17:44
  • 474

ZJU PAT 1010

好久没写oj的题解了,今天做了pat 1010的题目,提交代码后才只有19分,最后在网上看到才发现radix的大小是long long级别的啊,那么我们就只能使用二分来查找结果了,那么剩下的就是理清思...
  • whosemario
  • whosemario
  • 2013年03月28日 23:43
  • 4129

PAT_乙级_1010_筱筱

1010. 一元多项式求导 (25)设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。...
  • xx_accepted
  • xx_accepted
  • 2017年04月12日 14:03
  • 179

无法删除MySql数据库,报错1010 error dropping

环境:MySQL、SQLyog 操作:Drop database sa_server 报错:1010 error dropping database 解决方法:   找到MySql的testD...
  • u011391839
  • u011391839
  • 2015年05月14日 09:32
  • 1166

lightoj 1010 - Knights in Chessboard 【数学思维】

1010 - Knights in Chessboard PDF (English) Statistics Forum Time Limit: 1 second(s) Mem...
  • chenzhenyu123456
  • chenzhenyu123456
  • 2015年11月04日 21:56
  • 689

LightOJ 1010 Knights in Chessboard(数学规律)

F - Knights in Chessboard Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:...
  • yao1373446012
  • yao1373446012
  • 2016年04月29日 12:32
  • 419
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LightOJ 1010
举报原因:
原因补充:

(最多只允许输入30个字)