亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

POJ 1789 Truck History

2019-11-14 09:22:11
字體:
來源:轉載
供稿:網友

Advanced Cargo Movement, Ltd. uses trucks of different types. Some trucks are used for vegetable delivery, other for furniture, or for bricks. The company has its own code describing each type of a truck. The code is simply a string of exactly seven lowercase letters (each letter on each position has a very special meaning but that is unimportant for this task). At the beginning of company’s history, just a single truck type was used but later other types were derived from it, then from the new types another types were derived, and so on.

Today, ACM is rich enough to pay historians to study its history. One thing historians tried to find out is so called derivation plan – i.e. how the truck types were derived. They defined the distance of truck types as the number of positions with different letters in truck type codes. They also assumed that each truck type was derived from exactly one other truck type (except for the first truck type which was not derived from any other type). The quality of a derivation plan was then defined as 1/Σ(to,td)d(to,td)

where the sum goes over all pairs of types in the derivation plan such that t o is the original type and t d the type derived from it and d(t o,t d) is the distance of the types. Since historians failed, you are to write a PRogram to help them. Given the codes of truck types, your program should find the highest possible quality of a derivation plan. Input The input consists of several test cases. Each test case begins with a line containing the number of truck types, N, 2 <= N <= 2 000. Each of the following N lines of input contains one truck type code (a string of seven lowercase letters). You may assume that the codes uniquely describe the trucks, i.e., no two of these N lines are the same. The input is terminated with zero at the place of number of truck types. Output For each test case, your program should output the text “The highest possible quality is 1/Q.”, where 1/Q is the quality of the best derivation plan. Sample Input 4 aaaaaaa baaaaaa abaaaaa aabaaaa 0 Sample Output The highest possible quality is 1/3. 題意:aaaaaaa是初始字符串。給一個數N,輸入N行字符串,兩行字符串相同位置的字符相異的數量為兩個字符串的距離。使用到所有的字符串,求距離之和的最小值。 一個字符串可以看成一個節點,兩個節點的邊就是字符串距離,求這個圖的最小生成樹的邊的和。 Kruskal求解

#include<iostream>#include<vector>#include<algorithm>#include<cstdlib>#include<cmath>#include<stack>#include<queue>#include<cstdio>#include<string>#include<cstring>#include<string.h>#include<map>#include<set>using namespace std;#define N 2000+5#define NN 10000#define INF 0x3f3f3f3f/*****************************************************/char str[N][10];int par[N];int ranks[N];struct node{ int u, v, w;};node s[4000000];bool cmp(node a, node b){ return a.w < b.w;}bool same(int a, int b);int find(int x);void unite(int a, int b);int main(){ int n; while (cin >> n){ if (n == 0)break; for (int i = 0; i < n; i++){ scanf("%s", str[i]); } int E = 0; int res = 0; for (int i = 0; i < n; i++){ for (int j = 1 + i; j < n; j++){ int cnt = 0; for (int k = 0; k < 7; k++){ if (str[i][k] != str[j][k]){ cnt++; } } s[E].u = i, s[E].v = j, s[E].w = cnt; E++; //邊的數量 } } sort(s, s + E, cmp); for (int i = 0; i < n; i++){ par[i] = i; ranks[i] = 1; } for (int i = 0; i < E; i++){ if (!same(s[i].u, s[i].v)){ unite(s[i].u, s[i].v); res += s[i].w; } } printf("The highest possible quality is 1/%d./n", res); }}int find(int x){ if (x == par[x])return x; return par[x] = find(par[x]);}bool same(int a, int b){ a = find(a); b = find(b); if (a == b)return true; return false;}void unite(int a, int b){ a = find(a); b = find(b); if (a == b)return; if (ranks[a] < ranks[b]){ par[a] = b; } else{ if (ranks[a] == ranks[b]) ranks[a]++; par[b] = a; }}

Prim求解

#include<iostream>#include<vector>#include<algorithm>#include<cstdlib>#include<cmath>#include<stack>#include<queue>#include<cstdio>#include<string>#include<cstring>#include<string.h>#include<map>#include<set>using namespace std;#define N 2000+5#define NN 10000#define INF 0x3f3f3f3f/*****************************************************/char str[N][10];int cost[N][N];int d[N];bool used[N];int main(){ int n; while (cin >> n){ if (n == 0)break; for (int i = 0; i < n; i++){ scanf("%s", str[i]); } memset(d, 0x3f, sizeof(d)); memset(used, 0, sizeof(used)); for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++){ int cnt = 0; for (int k = 0; k < 7; k++){ if (str[i][k] != str[j][k]){ cnt++; } } cost[i][j] = cost[j][i] = cnt; } } d[0] = 0; int res = 0; while (1){ int v = -1; for (int i = 0; i < n; i++){ if (!used[i] && (v == -1 || d[i] < d[v])) v = i; } if (v == -1)break; used[v] = true; res += d[v]; for (int i = 0; i < n; i++){ d[i] = min(d[i], cost[v][i]); } } printf("The highest possible quality is 1/%d./n", res); }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕精品在线| 国产午夜精品全部视频播放| 97热在线精品视频在线观看| 国产精品男人的天堂| 一区二区三区亚洲| 久热精品视频在线观看一区| 欧美大尺度电影在线观看| 欧美与欧洲交xxxx免费观看| 国产精品成久久久久三级| 欧美日韩一区二区精品| 都市激情亚洲色图| 国产亚洲欧洲黄色| 一区二区福利视频| 日本精品久久久| 亚洲第一男人天堂| 中文字幕无线精品亚洲乱码一区| 国产精品国产三级国产aⅴ9色| 亚洲精品久久久久久下一站| 成人国产亚洲精品a区天堂华泰| 91亚洲永久免费精品| 91久热免费在线视频| 日本成人激情视频| 久久97久久97精品免视看| 欧美精品在线视频观看| 日韩中文字幕第一页| 国产精品视频yy9099| 夜夜嗨av色综合久久久综合网| 欧美电影免费观看高清| 亚洲欧美一区二区三区四区| 久久亚洲精品网站| 欧美一级免费看| 久久久久久噜噜噜久久久精品| 精品成人在线视频| 91精品久久久久久久久久入口| 亚洲男人天堂2023| 国产精品人成电影| 91香蕉国产在线观看| 亚洲天堂男人天堂女人天堂| 日韩动漫免费观看电视剧高清| 欧美超级乱淫片喷水| 91久久在线播放| 国产精品啪视频| 国产在线精品播放| 国产日韩精品电影| 一本色道久久88综合亚洲精品ⅰ| 狠狠久久亚洲欧美专区| 久久久久久久999精品视频| 国产成人精品在线播放| 久久成人国产精品| 日韩最新免费不卡| 亚洲一区二区三区成人在线视频精品| 中文字幕久久精品| 精品av在线播放| 国产成+人+综合+亚洲欧美丁香花| 色偷偷亚洲男人天堂| 久久久人成影片一区二区三区| 国模精品视频一区二区| 久久精品人人做人人爽| 亚洲无线码在线一区观看| 精品亚洲aⅴ在线观看| 日本精品久久久久久久| 国产精品免费一区| 欧美激情一区二区三级高清视频| 一本色道久久综合狠狠躁篇怎么玩| 亚洲影视九九影院在线观看| 中文在线资源观看视频网站免费不卡| 亚洲欧美国产精品| 91亚洲国产成人久久精品网站| 一区二区中文字幕| 欧美激情极品视频| 亚洲精品狠狠操| 久久色免费在线视频| 国a精品视频大全| 亚洲人成电影网| 一区二区三区视频观看| 国产成人精品视频在线| 国产欧美精品在线播放| 97**国产露脸精品国产| 欧美成人四级hd版| 91精品国产亚洲| 国产一区二中文字幕在线看| 欧美一区二区色| 精品国产乱码久久久久久虫虫漫画| 亚洲va电影大全| 亚洲精品福利免费在线观看| 欧美激情乱人伦一区| 欧美有码在线视频| 亚洲欧洲激情在线| 狠狠久久亚洲欧美专区| 中文在线资源观看视频网站免费不卡| 国产精品视频大全| 欧美韩国理论所午夜片917电影| 亚洲第一福利网站| 亚洲成人aaa| 精品偷拍各种wc美女嘘嘘| 国产成人在线视频| 亚洲一区美女视频在线观看免费| 久久精品最新地址| 日韩电影免费观看在线观看| 欧美激情一区二区三区成人| 亚洲电影免费在线观看| 久久久久中文字幕| 成人午夜两性视频| 国产欧洲精品视频| 成人欧美一区二区三区在线湿哒哒| 亚洲自拍欧美色图| 国产91在线播放九色快色| 92裸体在线视频网站| 91精品国产高清自在线看超| 欧美日韩电影在线观看| 成人h片在线播放免费网站| 亚洲www视频| 社区色欧美激情 | 欧美最近摘花xxxx摘花| 九九热最新视频//这里只有精品| 91免费在线视频网站| 国产一区二区三区18| 亚洲精品xxxx| 亚洲春色另类小说| 久久久99久久精品女同性| 国产精品一区二区三区久久| 亚洲精品美女视频| 综合网中文字幕| 欧美大片免费观看在线观看网站推荐| 亚洲欧美制服第一页| 国产成人精品久久二区二区91| 欧洲美女7788成人免费视频| 日韩a**站在线观看| 日韩精品高清在线观看| 亚洲精品视频在线观看视频| 欧美日韩国产中文精品字幕自在自线| 国产激情久久久| 欧美日韩国产中文精品字幕自在自线| 91精品国产自产在线老师啪| 91久久久亚洲精品| 亚洲色图第三页| 日韩在线视频播放| 成人黄色大片在线免费观看| 久久夜色精品国产亚洲aⅴ| 久久久亚洲福利精品午夜| 91亚洲一区精品| 国产亚洲一区二区在线| 日韩欧美极品在线观看| 欧美专区在线播放| 国产精国产精品| 亚洲jizzjizz日本少妇| 欧美成人国产va精品日本一级| 日韩欧美在线观看视频| 538国产精品一区二区在线| 成人免费高清完整版在线观看| 国产精品av在线播放| 91香蕉嫩草影院入口| 欧美日韩一区二区三区在线免费观看| 久久成人人人人精品欧| 久久青草精品视频免费观看| 久久69精品久久久久久国产越南| 国产噜噜噜噜久久久久久久久| 国产精品免费一区二区三区都可以| 国产一区二区黑人欧美xxxx| 国内精品久久久久伊人av| 日韩欧美aⅴ综合网站发布| 久久精品亚洲精品| 精品无人国产偷自产在线| 在线观看日韩av|