建圖是關鍵機場通過鐵路,城市有4個機場可以到達,可以出發
(告訴3個點有多個情況:1,2為對角,1,3為對角,2,3為對角)
#include#include#include#include#includeusing namespace std;
double map[110][5][110][5];//i的k1到j的k2
int n;
int s,t,a,b;
int x[5],y[5];
struct node
zb[110];
int vis[100+10][5];
double d[100+10][5];
const int inf=0x3f3f3f3f;
void tu()//相練習耐心就寫吧
else if((x[1]-x[2])*(x[1]-x[2])+(y[1]-y[2])*(y[1]-y[2])+(x[3]-x[2])*(x[3]-x[2])+(y[3]-y[2])*(y[3]-y[2])==(x[1]-x[3])*(x[1]-x[3])+(y[1]-y[3])*(y[1]-y[3]))
else if((x[3]-x[2])*(x[3]-x[2])+(y[3]-y[2])*(y[3]-y[2])+(x[1]-x[3])*(x[1]-x[3])+(y[1]-y[3])*(y[1]-y[3])==(x[1]-x[2])*(x[1]-x[2])+(y[1]-y[2])*(y[1]-y[2]))
for(int j=1;j<=3;j++)
for(int k=1;k<=4;k++)
//城市儲存個結構
}for(int i=1;i<=s;i++)}}
}void dij()
}vis[x][y]=1;
for(int j=1;j<=s;j++)
}for(int j=1;j<=4;j++)ans=min(ans,d[b][j]);}}
printf("%.1lf\n",ans);
}int main()
return 0;
}
CODEVS 1041Car的旅行路線
我在此 的基礎上做進一步的說明解釋。include include include include include using namespace std const double oo 10000000 城市的飛機場 x 1 4 1代表第x個城市開始的飛機場下標 define ctoa x x 1...
codevs 1041 Car的旅行路線
傳送門 思路 這個題目預處理起來比較麻煩,由於題目中說了乙個城市有四個機場,但是指給定三個,所以需要我們自己去求第四個點,這個過程就需要列舉哪乙個點為直角頂點然後再求第四個。求出第四個點後在預處理出任意兩個機場之間的花費 注意區分同乙個城市和不同城市 然後再跑dij即可.求第四個點只需列舉一下哪個點...
Car的旅行路線
題目描述 description 又到暑假了,住在城市a的car想和朋友一起去城市b旅遊。她知道每個城市都有四個飛機場,分別位於乙個矩形的四個頂點上,同乙個城市中兩個機場之間有一條筆直的高速鐵路,第i個城市中高速鐵路了的單位里程 為ti,任意兩個不同城市的機場之間均有航線,所有航線單位里程的 均為t...