注解
1、找规律,如果输入的两数至少有一个是偶数,则输出两数的乘积;而如果输入的两个数都是奇数,则至少有一条边要斜着走(长度为根号2),那么最长度为两数乘积减去一,再加上根号二。
代码
#include <iostream>
using namespace std;
int main() {
int T;
scanf("%d", &T);
for(int i=1; i<=T; i++){
int m, n;
scanf("%d %d", &m, &n);
double ans = m*n;
printf("Scenario #%d:\n", i);
if(m%2 && n%2){
printf("%.2lf\n\n", ans-1+1.414);
}
else{
printf("%.2lf\n\n", ans);
}
}
return 0;
}