トピック出典:http://acm.nyist.edu.cn/problem/1661
件名の説明:
再びこんにちは!氏PKとACMチームすべての審判は、この待望のゲームを満たすために準備ができている、あなたはどう?裁判官は、ゲームの難易度の表示が同じではありませんが、我々はまだそのタイトルのゲームのほとんどは、さらに興味深いの正規のポイントのレースよりも同意するものとします。幸運とゲームを楽しみます!
この大会での最初のタイトルとして、それは最も簡単になります。
大学が遭難事になっているので、PK、学校のカフェテリアで、彼らは非常に近くに座って喜んではありません、学生、または異性の学生の間で知りません。したがって、カフェテリアでは非常に多くの議席を持っていましたが、多くの場合、彼は席を見つけてみましょう。
誰か(それが上下行列の周りに、ある)座って喜んで誰もいないだろう席、彼のフロントとリアの左右に座ってNXM行列は、カフェテリアの座席をされると仮定します。あなたがアップし、同時に食べることができますどのように多くの人々に、上記に準拠している場合、同時にあまりご飯を食べに食堂でのPKは、それは、好奇心旺盛です。
説明を入力します。
第一の入力線T(1 <= T <= 100)、 Tは、グループクエリを表します。
各クエリの2つだけの整数N、M(1 <= N <= 100、1 <= M <= 100)。
サンプル入力:
2
2 2
6 4
出力例:
2
12
サイン質問、最初から最後間違った聴衆について考え始めるために私を導いた、この質問で、私は本当にあまりにも料理した
パリティの分類により、1が偶数2で、1は、2つの奇数偶数奇数であるが、見つかりました2つ以上の長い乗算添加し、奇数と偶数の二つは同じです。
参照コード:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<map>
#define ll long long
const int N=1e6+5;
#define inf 0x3f3f3f3f
using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
int n,m;
int main(){
int t;
cin>>t;
while (t--) {
cin >> n >> m;
cout << (n * m + 1) / 2 << endl;
//或者
/*
if(n*m%2==0){
cout<<n*m/2<<endl;
}
else{
cout<<n*m/2+1<<endl;
}
*/
}
return 0;
}