【数据结构基础】高校网布线难题

Photo by Sunny

#define MaxVertexNum 50
#define INFINITY 3000
#include<stdio.h>
#include<stdlib.h>
typedef struct Node{ //顶点结点 
    int num;
    char name[20];
    char info[100];
}VertexNode;
typedef struct{
    VertexNode vertexs[MaxVertexNum];  //顶点信息 
    int arcs[MaxVertexNum][MaxVertexNum];  //顶点之间的连接关系 
    int vertexNum,edgeNum; //顶点数,边数 
}MGraph;
typedef struct{
    int adjvertex;
    int lowcost;
}ClosEdge[MaxVertexNum];

void Create_Graph(FILE *fin,MGraph *G){
    int i,j,k,w;
    fscanf(fin,"%d %d",&(G->vertexNum),&(G->edgeNum));//图的定点数和边数 
    for(i=0;i<G->vertexNum;i++){  //初始化图的所有顶点的信息,包括编号,名称,信息 
        fscanf(fin,"%d",&(G->vertexs[i].num));
        fscanf(fin," %s",&(G->vertexs[i].name));
        fscanf(fin," %s",&(G->vertexs[i].info));
    }
    for(i=0;i<G->vertexNum;i++){  // 初始化顶点之间的关系,默认未权值无穷大(tan90) 
        for(j=0;j<G->vertexNum;j++){
            if(i==j){
                G->arcs[i][j]=0;
            }else{
                G->arcs[i][j]=INFINITY;     
            }   
        }
    }
    for(k=0;k<G->edgeNum;k++){  //根据实际,标出顶点之间的权值(这里指距离) 
        fscanf(fin,"%d %d",&i,&j);
        fscanf(fin,"%d",&G->arcs[i][j]);
        G->arcs[j][i]=G->arcs[i][j];
    }
}
void Search_Info(FILE *fin,FILE *fout,MGraph *G){
    fprintf(fout,"Please enter a query number:\n"); 
    int n=-1;
    fscanf(fin,"%d",&n);
    if(n<G->vertexNum && n>=0){
        fprintf(fout,"%d %s %s",G->vertexs[n].num,G->vertexs[n].name,G->vertexs[n].info);   
    }
}
/*---------------------最小生成树算法----------------------------*/
void MiniSpanTree_PRIM(FILE *fin,FILE *fout,MGraph *G){
    int i,j,w,k;
    int u;
    fscanf(fin,"%d",&u);
    ClosEdge closedge;
    for(i=0;i<G->vertexNum;i++){
        if(i!=u){
            closedge[i].adjvertex=u;
            closedge[i].lowcost=G->arcs[u][i]; 
        }
    }
        closedge[u].lowcost=0;
        for(i=0;i<G->vertexNum-1;i++){
            w=INFINITY;
            for(j=0;j<G->vertexNum;j++){
                if(closedge[j].lowcost!=0 && closedge[j].lowcost<w){
                    w=closedge[j].lowcost;
                    k=j;
                }
            }
            closedge[k].lowcost=0;
            for(j=0;j<G->vertexNum;j++){
                if(G->arcs[k][j]<closedge[j].lowcost){
                    closedge[j].adjvertex=k;
                    closedge[j].lowcost=G->arcs[k][j];
                }
            }
        }
        fprintf(fout,"\n");
        for(i=0;i<G->vertexNum;i++){
            if(i!=u){
                fprintf(fout,"%d->%d,%d\n",i,closedge[i].adjvertex,G->arcs[i][closedge[i].adjvertex]);
            }
        } 
} 
int main(void){
    FILE *fin,*fout;
    fin=fopen("datain.txt","r");
    fout=fopen("dataout.txt","w");
    MGraph G;
    int option;
    while (1) {
        printf("\n\t\t****************校园网布线******************\n");
        printf("\t\t*\t     1:创建校园地图                *\n");
        printf("\t\t*\t     2:指定建筑信息检索            *\n");
        printf("\t\t*\t     3:校园网布线成本最小方案      *\n");
        printf("\t\t*\t     0:退出系统                    *\n");
        printf("\t\t********************************************\n");
        printf("\n请输入序号:");
        scanf("%d", &option);
        switch(option){
            case 1: {
                Create_Graph(fin,&G);
                break;
               }
            case 2:{
                Search_Info(fin,fout,&G);
                break;
             }
            case 3:{
                MiniSpanTree_PRIM(fin,fout,&G);
                break;
            }
            case 0:{
                exit(0);
                break;
            } 
        }
    } 
}

走到高卢雄鸡公使馆时我和桑尼已经快冻透了。她双手木然,我双脚僵痛。明日理应是巴黎市最冷的日子吧。阳光透过古树投洒在修建墙壁上,画出粗细的线条,但大家行动的胡同道上从不一丝阳光,西风呼呼地吹着,似乎带来那百年前的新闻。

注:在先后文件夹新建一个datain.txt文件。数据如下:
23 30
0 校卫生站 目前新建了,里面处方药很有益于。
1 学术报告厅 许多讲座、比赛都在那边设置。
2 西教室 周末看书的地点,一楼自然阅读室是自个儿的最爱。
3 4教 大二晚自习的地方。
4 2教 数理高校,那里内置羽毛篮球馆,简直不用太好。
5 体育场 在此处我修了一学期羽毛球,也是本身最爱的移动。
6 塑胶操场 白天有人在那踢球,早晨很红火,有无数姑娘姐在那跑步。
7 水衫营地 号称全国大学第一,23333。
8 A座 校园的行政中央,共有13层楼。
9 B座 我们总结机高校和教条主义高校老师办公室的地点。
10 三、四食堂 那里有自身最欣赏的麻辣烫和沙冰。
11 宿管中央 感觉就是全校破旧自行车收容所,逃~
12 一酒家 女孩子在那吃饭相比多。
13 二餐饮店 情侣在那吃饭相比多。
14 女子宿舍 未知area。
15 优里 圆通、顺风、韵达快递收发处。
16 12栋寝室楼 我们计算机大学同学的寝室楼。
17 工程训练中央 在这边自己花了一周时间将两块生铁营造成一把小铁锤。
18 师生活动主旨 校园设立大型活动的地点。
19 5教6教 我们大一大二学生上课的关键地点。
20 13教 上阿尔巴尼亚语听力的地点。
21 东体育场馆 一楼有自习室,早上11点才关门,提供开水,考研必备。
22 5食堂 在母校东区,唯一有红烧肉的食堂。
0 14 20
1 2 6
1 12 5
2 3 7 2 4 6 2 5 7 2 6 8 2 7 9
3 4 4
4 5 6
6 7 2
8 9 3
9 19 10
10 11 8 10 16 7
11 12 3 11 13 4
12 13 2
13 16 15
14 15 19
15 16 5
16 17 6
17 18 6
18 19 5 18 20 10 18 22 13
19 22 12
20 21 7 20 22 10
21 22 7
0
0

Photo by Sunny

法兰西共和国使馆在东交民巷15号。那时是安郡王府,当时叫做纯公府,是爱新觉罗·努尔哈赤的外孙子安郡王岳乐的府邸。到了明代,是南齐皇室景崇府,门前立了一对威武的石狮。

咸丰帝十一年(1861年),也就是第二次鸦片战争后,那里被改造为法兰西共和国使馆。爱新觉罗·爱新觉罗·载湉二十六年(1900年)七月,义和团围攻使馆区时,法使馆内一些建筑被毁。1901年《丁亥公约》签订后,法兰西使馆重建。当时狮子身后的府门已被毁,但狮子仍旧在。法兰西大使馆重建后,原来中式的王府大门被改造为西式大门,这对石狮子至今仍保存着,见证了百年的事势。

1856-1860年,在俄、美的帮助下,英法联合发动了入侵中国的烟尘。当时英帝国与法兰西趁中国太平天国运动之际,以亚罗号事件及马神甫事件为托辞,挑起战争,联手出击西魏政坛。英国人名叫“亚罗号战争”(The
Arrow War),又称“英法联军之役”(Anglo-French expedition to
China)或“第二次中国和英国战争”(Second Anglo-Chinese
War)。因为本场战乱能够当作是第一遍鸦片战争的一连,所以大家也称“第二次鸦片战争”。战争中沙俄出兵后以“调停有功”自居,胁制清政党割让150多万平方公里的幅员,从而成为最大的胜者。

在第二次鸦片战争中,中国军队唯一获胜的一回战役是第二次大沽口战役,战于1858年,清军与英军在大沽口发生的战役。指挥那世界一战役的是西晋爱将Cole沁亲王僧格林沁。他是成吉思汗小叔子哈布图哈萨尔的二十六代孙。在《清史稿》中有说“僧格林沁忠勇朴诚,出于天性,名震寰宇,朝廷倚为长城。治军公廉无私,部曲诚服,劳而不怨。”,他的铁面无私作风使他在其后的不在少数战役中立下赫赫战功。直到现在,僧王仍被世人誉为宋代最好的部族英雄。电影《火烧圆明园》里有清军跟英法联军激战八里桥的多少个镜头,李岩扮演的这位就是僧王。在南锣鼓巷的炒豆胡同和板厂胡同还有僧王府,但一度被割零了,失了当年的丰采,只有73,75,77号被列为市文物敬爱单位。77号庭院里有一个砖雕门楼,西式风格,雕花繁复,相当不错,让人耳目一新。

新生战败的神州协定了《萨格勒布条约》,《香岛条约》和中国和俄联邦《瑷珲公约》等条约。一多元条约的缔约让中华丧失国土,海外势力伸张到沿海各市,并向内地延伸,更利于了帝国主义倾销商品,掠夺廉价的原料和劳动力。中国饱受了资本主义经济的侵犯性冲击。鸦片贸易合法化、华工出国及容许国外人前往内地说法,极大地强化了炎黄的社会争执。

高卢雄鸡公使馆照旧西哈努克亲王在中华避难时位居过的地方。1970 年3 月18
日,西哈努克正在访问法兰西共和国、苏联。高棉内阁首相朗诺在美国的指使下,发动军事政变,废黜西哈努克国家元首,后又判处他死刑。在他离开约翰内斯堡前边,苏联领导人将柬埔寨暴发政变的新闻告知了他,但绝非挽留他。当时,西哈努克悲痛极度,在出门中国的飞行器上发声痛哭。

大家国家的头头让西哈努克亲王留在了炎黄。最初,西哈努克及其家人一贯住在钓鱼台酒馆五号楼。不过,当时正在“文化大革命”,多少人帮也常住钓鱼台,警察密布,防范森严,外宾进出有窘迫。于是,周总理须要外交部给他们挑选一个新住址。1970年17月,东交民巷15号,也就是法兰西共和国领馆旧址修缮一新,西哈努克亲王和内人从钓鱼台搬过来。当时从东京(Tokyo)请来了一位手艺精湛的大菜厨子给他俩做大菜。外交部还在东方一座小楼上创造了接待处,接济西哈努克工作。西哈努克喜欢游泳、打羽毛球和歌舞,便更加建造了游泳池、俱乐部和羽毛训练馆,并有工作人士陪同她合伙玩耍休闲。西哈努克亲王在华夏创造了柬埔寨流亡政坛“高棉王国部族联合政党”。

诺罗敦·莫尼列·西哈努克是西哈努克的第六任太太。她生父弗朗索瓦·伊吉是个有意大利共和国血统的法兰西共和国人,侨居高棉多年。他是西哈努克的大伯苏拉玛里特的知心人,1940年在对德意志联邦共和国战斗中失踪。她三姨是富含中国血统的高棉人,称博老婆。伊吉一家与宫廷早有往来。1993年十一月24日,西哈努克重新登基为圣上,莫尼克公主也改称为莫尼列王后。西哈努克与莫尼列育有五个孙子。

1975年波尔布特领导的青色高棉推翻了朗诺政权,并派代表赴巴黎诚邀西哈努克回国。西哈努克征询毛曾祖父的理念,毛子任指出她赶回同波尔布特联合。结果他四回国就被幽禁起来,与外界失了联络。1976年毛外公逝世时他须要吊唁,被政党拒绝,他写给毛子任的信也被扣下。

当年西哈努克是毛润之接见最多的海外领导人。中国各界领导人陪同他去了比比皆是都会。当年所到之处都有列队迎候,并喊口号:欢迎欢迎,热烈欢迎西哈努克亲王。当时沿袭一个嘲谑,说浙江布衣要排演欢迎仪式,但总记不住他的名字,于是用河南方言那样纪念:热烈说,欢迎说,西瓜上蹲着个青蛙说。

Photo by Sunny

就在自己和桑尼冻得口齿不清的时候,我们看见马路对面有一个警察博物馆。我们俩快步飞奔过去,想尽快进屋暖和取暖。人说要到窗口拿身份证换票,大家那才发现自己的手完全木了,半天也没掏出钱包来。终于可以进入了,大家边参观,边等待僵冻的血流流转起来。