博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1450 Gridland
阅读量:5128 次
发布时间:2019-06-13

本文共 910 字,大约阅读时间需要 3 分钟。

这个题是NP旅行商问题的简化版,求的是一个矩阵上的最短的路径。

NP旅行商问题是Given a set of N towns and roads between these towns, the problem is to compute the shortest path allowing a salesman to visit each of the towns once and only once and return to the starting point.只不过这道题是将这N towns 放在了一个矩阵上,这样可以找到规律,如下:

设矩阵为M*N,如果M和N都是奇数,那么最短的路径中有且仅有一条斜边,即√2的单位长度,答案是M*N-1+√2

其他情况 答案是M*N

下面是代码,注意sqrt()的参数是double型,即sqrt(2.0);

View Code
#include 
#include
#include
using namespace std;int main(){ int num; cin>>num; int m,n,i; double res; for(i=1;i<=num;i++) { cin>>m>>n; if(m%2==1 && n%2==1) res=m*n-1+sqrt(2.0); else res=m*n; printf("Scenario #%d:\n",i); printf("%0.2lf\n",res); printf("\n"); } return 0;}

这个题在tju oj1015也出现过。

转载于:https://www.cnblogs.com/pushing-my-way/archive/2012/07/11/2586364.html

你可能感兴趣的文章
chrome浏览器控制台创建js脚本并执行
查看>>
js div模拟水平滚动条
查看>>
Observer 观察者
查看>>
数据库三大范式
查看>>
ap module omap4460 分类: arm-linux-Ub...
查看>>
for each...in,for...in, for...of
查看>>
jquery简介(一)
查看>>
Create ISO library over NFS for XEN server templates
查看>>
JDK版本问题
查看>>
设计模式简介
查看>>
hash一致性
查看>>
Unity3D热更新
查看>>
2D多边形碰撞器优化器
查看>>
[Java多线程]-并发,并行,synchonrized同步的用法
查看>>
前端回答从输入URL到页面展示都经历了些什么
查看>>
用SAXReader解析xml文档【转】
查看>>
【转】父类引用指向子类对象
查看>>
通过winrm使用powershell远程管理服务器
查看>>
python第一百零五天 ---Django 基础 路由系统 URL 模板语言 ORM 操作
查看>>
linux的用户及权限管理详细说明
查看>>