⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4852474_ac_0ms_280k.cpp

📁 部分PKU上的源码
💻 CPP
字号:
#include<iostream>
#include<algorithm>
using namespace std;
int x,y;
struct point
{
	int x,y;
}q[15],inin[15];
int quan[15];
int n;
int getit()
{
	int i,all=0;
	int tx,ty;
	for(i=0;i<n;i++)
	{
		tx=q[i+1].x-q[i].x;if(tx<0)tx*=-1;
		ty=q[i+1].y-q[i].y;if(ty<0)ty*=-1;
		all+=tx+ty;
	}
	tx=q[n].x-q[0].x;if(tx<0)tx*=-1;
	ty=q[n].y-q[0].y;if(ty<0)ty*=-1;
	all+=tx+ty;
	return all;
}
int main()
{
	int testnumber,i,best;
	cin>>testnumber;
	for(int count=0;count<testnumber;count++)
	{
		cin>>x>>y;
		cin>>q[0].x>>q[0].y;
		cin>>n;
		best=999999999;
		for(i=1;i<=n;i++)
		{
			cin>>inin[i].x>>inin[i].y;
		}
		for(i=0;i<n;i++)
		{
			quan[i]=i+1;
		}
		do
		{
			for(i=1;i<=n;i++)q[i]=inin[quan[i-1]];
			int t=getit();
			if(t<best)best=t;
		}while(next_permutation(quan,quan+n));
		cout<<"The shortest path has length "<<best<<endl;
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -