Constructing Roads POJ - 2421



这道题 是一个不择不扣的送分题 就是一个最小生成树 大意就是输入m个数  后面有m行 n行代表 1 -m n需要通过的数字  然后 接下来几行 代表一个双向图 (这个很重要,我们队因为这个还wa了一发)可以直接 来让他们等于0 然后输出 nn - mm的最小值    这个就很简单了 话不多说 直接上代码 

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string.h>
#include <queue>
#define inf 0x3f3f3f3f
using namespace std;
const int N=101;
int mapp[N][N],dis[N];
bool vis[N];
int n,q;
void prim()
    int ans=0;
    for(int i=0;i<n;i++)
        int u=-1,tmp=inf;
        for(int j=0;j<n;j++)
        for(int j=0;j<n;j++)
int main()
        for(int i=0;i<n;i++)
            for(int j=0;j<n;j++)
        int a,b;
        for(int i=0;i<q;i++)

Constructing Roads


DescriptionnnIn the days of yore, Han was a prosperous kingdom. But at the turn of the century, hard times fell upon the kingdom. A plague swept through the land, and barbarians galloped in from the north, burning farms, destroying roads, and pillaging villages. All that remained were a few isolated strongholds scattered throughout the land. It has now been nearly a decade since the last wave of barbarians stormed through, and the land breathes a sigh of relief. People are becoming revitalized with the hope that they can once again transform the kingdom back into its former glory.nnSince all the roads were destroyed, the strongholds were left in isolation, so the first order of business was to build a network of roads connecting all the strongholds. Each stronghold thought it would be a reasonable plan to start by building a road to the closest stronghold near it. If there were two strongholds of equal distance, the stronghold whose name comes before the other in the dictionary would be chosen. Each stronghold builds at its own rate, measured in feet/hour. Because they wished to finish as soon as possible, construction happened 24 hours a day, continuously advancing the construction site (the end of the road) towards the destination. Of course, construction on a road would stop if the road ran into another road or a city. At the beginning of the New Year, there was a big celebration, and all the strongholds began construction at the same time.nnLittle did the people of Han know that the barbarians had again infiltrated their kingdom and were carefully observing the progress of the roads. The barbarians were curious about the progress of the roads. In particular, they wanted answers to two type of questions.nnAfter exactly t hours since construction began on the New Year, what is the absolute minimum length of additional roads that still need to be built in order to connect all cities? These additional roads are allowed to join two cities, two construction sites, or a city and a construction site.nWhat is the fewest number of hours that must elapse since the New Year before the minimum length of additional roads that still need to be built is at most l?nWrite a program to answer these questions given Han’s construction plan.nnInputnnThere will be several test cases, each representing a possible scenario for Han. The first line of each test case will contain a positive integer number N, the number of strongholds (1 ≤ N ≤ 2 000). Each of the subsequent N lines will contain a description of a stronghold: a name consisting of letters ‘ a’ … ‘z’, the x and y coordinates of the position of the stronghold (in feet), and the construction rate (in feet/hour). The next lines will contain questions. The first integer on the line is either 1 or 2, representing the type of question. For type 1 questions, the next number is t, the time (in hours) in question. For type 2 questions, the next number is l, the length (in feet) in question. The questions will be terminated by a line with 0.nnThe input data is terminated by a line that contains one zero, and should not be processed.nnOutputnnFor each test case, output the answers to each question, formatted as in the sample output. If for question 2, at no point in time will there be only l feet of construction left, then print NEVER. All numeric answers should be printed to as many decimal places as you feel necessary. To get credit for the problem, however, your answer must be within 0.01 of our answer.nnSample Inputnn4nportland 0 0 3nseattle 0 10 2nnewyork 20 6 1nboston 20 0 1n1 0n1 2.0n1 3.0n2 29n2 1.0n0n2nbree -10 -10 1nbuckland 10 10 2n1 5n0n0nSample OutputnnKingdom 1n36.000 feet left at time 0.000n22.000 feet left at time 2.000n20.000 feet left at time 3.000n1.000 hours before 29.000 feet leftnNEVERnnKingdom 2n13.284 feet left at time 5.000nnEnd


  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他