prim算法,用double,我第一次用float wa,看了別人代碼改成double就過了。
#include<stdio.h> #include<math.h> #define N 110 #define max 9999999 double g[N][N]; void prim(int n) { int i,j,u,flag,mark[N]; double dis[N],cost,min; for(i=0;i<n;i++) { mark[i]=0; dis[i]=g[0][i]; } mark[0]=1; cost=0; flag=1; for(i=1;i<n;i++) { min=max; for(j=1;j<n;j++) if(!mark[j]&&min>dis[j]) { u=j; min=dis[j]; } if(min==max||min<10) { flag=0; break; } mark[u]=1; cost+=min; for(j=1;j<n;j++) if(!mark[j]&&dis[j]>g[u][j]) dis[j]=g[u][j]; } if(flag) printf("%.1f/n",100*cost); else printf("oh!/n"); } int main() { int i,j,m,n,x[N],y[N]; double dis,x2,y2; scanf("%d",&m); while(m--) { scanf("%d",&n); for(i=0;i<n;i++) scanf("%d%d",&x[i],&y[i]); for(i=0;i<n;i++) for(j=0;j<=i;j++) { x2=(x[i]-x[j])*(x[i]-x[j]); y2=(y[i]-y[j])*(y[i]-y[j]); dis=sqrt(x2+y2); if(dis<10||dis>1000) g[j][i]=g[i][j]=max; else g[i][j]=g[j][i]=dis; } prim(n); } return 0; }
一. CSS浮動 先看一個例子 <html !DOCTYPE> <head> <title>HTML2</title> <style> .div-outer {
Java有8種基本數據類型,每種基本數據類型都提供了一種對應的包裝類型,從 Java 5 開始引入了自動裝箱/拆箱機制,使得二者可以相互轉換。 原始類型: boolean,char,byte,short,int,long,float,do
直播概要: 隨着計算機的蓬勃發展,互聯網進入大數據和人工智能時代,爲了解決信息過載和長尾商品,推薦系統成爲唯一選擇,而面對不同的業務場景,爲了解決業務痛點,會根據不同的場景特點尋找不同的方法和手段來解決推薦中實際遇到的問題。在智慧家庭領域,
{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ
{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null
{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockq