usaco原題,做過幾次了,所以一次ac,就是暴搜,因為資料小。
先把每個牧區的直徑求出來,然後再把在乙個牧區中距離任意節點的最遠距離算出來,然後暴搜,若i,j之間加一條路,那麼新牧區的半徑要麼就是i所在的牧區的的直徑,要麼是j所在的牧區的直徑,要麼就是i所在的牧區中距i最遠的距離加上j所在的牧區中距j最遠的距離加上i,j之間的距離。
看**最有效:
#include #include #include #define inf 100000000struct dotdot[150];
int n;
double dis[150][150];
double dir[150];
int group[150];
double maxdis[150];
char can[150][150];
double getdis(int a, int b)
void makegroup(int a, int b) }}
void init(void)
for(i = 0; i < n; i++)else if(can[i][j] == 0)else
} scanf("\n"); }}
int main(int argc, char **ar**)
} for(k = 0; k < n; k++)}}
} }for(i = 0; i < n; i++)
if(group[i] == group[j] && maxdis[i] < dis[i][j])
} }for(i = 0; i < n; i++)
t = maxdis[i] + maxdis[j] + getdis(i, j);
if(t < dir[group[i]])
if(t < dir[group[j]])
if(ans > t)
} }printf("%.6lf", ans);
return 0;
}
發生錯誤1069
按下主機電源,就去刷牙了。回來就輸入密碼進入系統,暈,第一次竟然輸入錯誤,再來一次,還錯,暈,看來還沒睡醒。最近仔細輸入長長的密碼才能進入我的win200 server 進入系統後就決定把登入密碼改短些。我的電腦 右鍵 管理 本地使用者和組 使用者 在 管理計算機 域 的內建帳戶 點右鍵 選擇設定密...
九度題目1069
include include include using namespace std struct student buf 1001 int main sort buf,buf n scanf d m while m 0 else if strcmp x,buf mid no 0 else top...
浙大PAT甲級 1069
簡單的字串處理,先將輸入的數前面補0,直到為4位數。然後進行字串相減,直到為6174為止。如果字串每個字元都相等,則輸出0000。ac include include include include include include include include include include in...