题目大意:先给出了TSP的背景,然后给出一个n*m的单位格点的图,图中除边缘上的点与八个方向的点有边连接,距离为欧拉距离,求从左上角出发的TSP

思路:从水题列表中看到的题,但看一开始给出的background是TSP就惊呆了,但看到题目觉得很好想。显然,行和列是对等的,并且当行列中有一个是偶数时都能像下图这样M状的遍历所有的点,通过割补发现线的长度为m*n。当m,n都为奇数时显然不能像上图那样遍历,因为是奇数,穿到下面后就没有点使它再回到上面了,但是发现增加一条斜边(长度为根号2)可以将问题转化为一边是奇数,一边是偶数的情况,此时长度为m*n-1+1.41=m*n+0.41 于是问题顺利解决

#include<cstdio>

#include<string.h>

#include<iostream>

using namespace std;

int main()

{

int t,m,n;

scanf("%d",&t);

for(int k=1;k<=t;k++)

{

scanf("%d%d",&m,&n);

if((m & 1) ==0 || (n & 1)==0){printf("Scenario#%d:\n%d",k,m*n);printf(".00\n\n");}

else {printf("Scenario#%d:\n%d",k,m*n);printf(".41\n\n");}

}

return 0;

}

最新文章

  1. URL Scheme APP跳转safari以及跳回APP
  2. javascript的浅拷贝和深拷贝
  3. SqlSever基础 isnull 将null替换成指定字符串
  4. mig_ddr4_ultrascale
  5. 阿里云上给的防止跨站和xss攻击的代码
  6. ionic 项目中创建侧边栏的具体流程分4步简单学会
  7. 给file_get_contents函数设置超时时间
  8. BZOJ 1502: [NOI2005]月下柠檬树 [辛普森积分 解析几何 圆]
  9. 看eShopOnContainers学一个EventBus
  10. [BZOJ]3926 诸神眷顾的幻想乡(ZJOI2015)
  11. Python进阶7--正则表达式
  12. Vue2.x源码学习笔记-Vue静态方法和静态属性整理
  13. Django路由详解
  14. vue使用桌面Element-UI和移动端MintUI的UI框架
  15. google-gson 使用及GsonBuilder设置
  16. 来自Unix/Linux的编程启发录
  17. unity3D中 material中tiling和offset属性解释
  18. 获取String类型汉字乱码,如何进行编码
  19. jquery ajax 上传文件和传递参数到一个接口的实现方法
  20. 人脸检测及识别python实现系列(2)——识别出人脸

热门文章

  1. android开发学习 ------- git - 将代码回滚到任意版本
  2. 迭代器———更锋利的C#代码小记(3)
  3. MySQL日期处理
  4. HttpMessageNotWritableException异常解决办法
  5. 洛谷 P2788 数学1(math1)- 加减算式
  6. (转)用@Resource注解完成属性装配
  7. 基础数据类型(set集合)
  8. 手工修改注册表激活windows xp法
  9. DLL动态链接库的创建
  10. QT+信号有参数与无参数的实现+QT4和QT5在信号和槽使用上的区别