題目鏈接:Truck History
題意就是N個卡車的型號,一代一代的發展,兩輛卡車的型號中 不同字母的個數代表著兩輛卡車的距離,確定一個點,遍歷到所有的點,使之這個距離最小。
很明顯最小生成樹,稠密圖,1次AC,水過
PS:厚顏無恥的先看了Discuss才做的,否則我也漏“.”,罪過罪過
#include#include #include #include #include const int N = 2001; const int INF = 1e8; using namespace std; int mapp[N][N]; int n,ans; int dis[N]; bool vis[N]; char a[N][8]; void init() { memset(vis,0,sizeof(vis)); memset(dis,0,sizeof(dis)); } int SUM(int x,int y) { int sum = 0; for(int i = 0;i<7;i++) { if(a[x][i]!=a[y][i]) sum++; } return sum; } void Prim() { ans = 0; int pos,minn; for(int i = 0;i mapp[pos][j]) dis[j] = mapp[pos][j]; } } } int main() { while(cin>>n && n) { init(); for(int i = 0;i >a[i]; int i,j; for( i = 0;i