思路:
若是都是奇数 则肯定有一个斜着走的;
否则答案直接为m*n;
java:
import java.util.Scanner;
public class Gridland_1037 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int a,b;
for(int i=1;i<=n;i++){
a=s.nextInt();
b=s.nextInt();
double sum;
if(a%2==0||b%2==0)
sum=a*b*1.0;
else
sum=a*b+Math.sqrt(2)-1;
System.out.println("Scenario #"+i+":");
System.out.printf("%.2f\n\n",sum);
}
}
}
c++:
#include<iostream>
#include<math.h>
#include<cstdio>
using namespace std;
int main(){
int n,a,b;
double sum;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a>>b;
if(a%2==0||b%2==0){
sum=a*b*1.0;
}else
sum=a*b+sqrt(2)-1;
cout<<"Scenario #"<<i<<":"<<endl;
printf("%.2f\n\n",sum);
}
}