#include <stdio.h>
#include <math.h>
int main()
{
int m,n,k,i;
float s;
scanf("%d",&k);
for(i=1;i<=k;i++)
{scanf("%d %d",&m,&n);
if(m%2==0||n%2==0)
s=m*n;
else s=m*n-1+sqrt(2);
printf("Scenario #%d:\n",i);
printf("%.2f\n",s);
printf("\n");}
return 0;
#include <math.h>
int main()
{
int m,n,k,i;
float s;
scanf("%d",&k);
for(i=1;i<=k;i++)
{scanf("%d %d",&m,&n);
if(m%2==0||n%2==0)
s=m*n;
else s=m*n-1+sqrt(2);
printf("Scenario #%d:\n",i);
printf("%.2f\n",s);
printf("\n");}
return 0;
}
我从来都是不看题目的,直接看示例,还以为是简单的乘法。。。后来知道是汉密尔顿回路问题,还是说是货郎担问题?我的妈啊,还要考数学推论的问题!!!直接给公式不行吗???完全没有头绪,只好百度找到公式写代码了。。。呃,,其实多画几个图也是可以推出公式的哈