心灵终结。。。。终结我的心灵。。。。T—T

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#define ll long long
const int maxn=20;
using namespace std;
int a[maxn][maxn];
ll f(ll x){
	if(x%4==0)return x;
	if(x%4==1)return x+1;
	if(x%4==2)return x+2;
	if(x%4==3)return x+1; 
}
int main(){
    int t;
    cin>>t;
    while(t--){
    	ll n,m;
    	cin>>n>>m;
    	if(n==2){
    		cout<<f(m)<<endl;
    		continue;
		}
    	if(m==2){
    		cout<<f(n)<<endl;
		    continue;
    	}
    	if(n==1 || m==1)
    		cout<<n*m<<endl;
    	else{
    		cout<<(n*m+1)/2<<endl;	
		}
	}
	return 0;
}




心灵终结

发布时间: 2016年7月11日 14:35   最后更新: 2016年7月11日 14:36   时间限制: 500ms   内存限制: 128M

尤里背叛了苏维埃联盟!

尤里具有心灵控制的能力,可以控制我方的士兵攻击同伴。为了避免这种情况,斯大林同志要求你合理地排兵布阵,使得没有两个士兵可以互相攻击。

在这个问题里,你可以认为士兵的攻击范围类似于国际象棋中的马。也即,位置为(x,y)的士兵可以攻击位置为(x±2,y±1)或(x±1,y±2)的士兵。请计算:在 N*M 的棋盘上最多能放置多少个士兵。(当然,两个士兵不能在同一个位置)

第一行,一个整数 T,描述了子测试点的组数。以下 T 行,每行两个整数 N,M,描述了一个棋盘。

对于每个子测试点,输出一行,一个整数,为所求的答案。

复制
2
1 5
2 3
5
4

对于 20%的数据:N*M15

 

对于 100%的数据:1T10001N,M10^9

 

均匀地,对于总计 50%的数据:数据随机生成。


找呀找呀找规律~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值