cogs3. 服务点设置

★   输入文件:djsa.in   输出文件:djsa.out   简单对比
时间限制:1 s   内存限制:128 MB

问题描述
为了进一步普及九年义务教育,政府要在某乡镇建立一所希望小学,该乡镇共有n个村庄,村庄间的距离已知,请问学校建在哪个村庄最好?(好坏的标准是学生就近入学,即在来上学的学生中,以最远的学生走的路程为标准。或者说最远的学生与学校的距离尽可能的小。)
【输入格式】
输入由若干行组成,第一行有两个整数,n(1≤n≤100)、m(1≤m≤n*n);n表示村庄数,m表示村庄间道路数。第2至m+1行是每条路的信息,每行三个整数,为道路的起点、终点和两村庄间距离。(村庄从0开始编号)
【输出格式】
一个整数,学校所在村庄编号(如果两个村庄都适合建立学校,选择编号小的村庄建学校)。
【输入样例】
输入文件名:djsa.in
6 8
0 2 10
0 4 30
0 5 100
1 2 5
2 3 50
3 5 10
4 3 20
4 5 60
【输出样例】
输出文件名:djsa.out
4
思路:
  因为题目要求为:

        要最远的学生与学校的距离尽可能小.
  所以 若找到了使得当前枚举的最远的学生与学校距离比以前枚举的更近的话,就进行更新最远距离和学校编号

坑点:

  记得每次找最远距离的时候都要清空找到的上一个最远距离(minl)

上代码:

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std; const int Maxint = ;
const int N = ;
int n,m,p,minl=Maxint,maxl=Maxint;
int map[N][N]; int main()
{
freopen("djsa.in","r",stdin);
freopen("djsa.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
map[i][j]=Maxint;
map[i][i]=;
}
for(int i=,u,v,w;i<m;i++)
{
scanf("%d%d%d",&u,&v,&w);
map[u][v]=w,map[v][u]=w;
}
/*floyd*/
for(int k=;k<n;k++)
for(int i=;i<n;i++)
for(int j=;j<n;j++)
if(map[i][j]>map[i][k]+map[k][j])
map[i][j]=map[i][k]+map[k][j];
for(int i=;i<n;i++)
{
minl=;
for(int k=;k<n;k++)
minl=max(minl,map[i][k]);
if(maxl>minl)
{
maxl=minl;
p=i;
}
}
printf("%d",p);
return ;
}

cogs4. 双服务点设置

☆   输入文件:djsb.in   输出文件:djsb.out   简单对比
时间限制:1 s   内存限制:128 MB

问题描述
为了进一步普及九年义务教育,政府要在某乡镇建立两所希望小学,该乡镇共有n个村庄,村庄间的距离已知,请问学校建在哪两个村庄最好?(好坏的标准是学生就近入学,即在来上学的学生中,以最远的学生走的路程为标准。或者说最远的学生与学校的距离尽可能的小。)

 
【输入格式】
输入由若干行组成,第一行有两个整数,n(1≤n≤50)、m(1≤m≤n∗n);n表示村庄数,m表示村庄间道路数。第2至m+1行是每条路的信息,每行三个整数,为道路的起点、终点和两村庄间距离。(村庄从0开始编号)
【输出格式】
两个整数,学校所在村庄编号(如果两个以上村庄都适合建立学校,选择编号小的两个村庄建学校,输出时按编号从小到大输出)。
【输入样例】
输入文件名:djsb.in
6 8
0 2 10
0 4 30
0 5 100
1 2 5
2 3 50
3 5 10
4 3 20
4 5 60
【输出样例】
输出文件名:djsb.out
0 3
思路:
  跟3差不多,稍作改进,需要加一层循环,两个点一起进行更新
  即
  若找到了使得当前枚举的最远的学生与 学校距离比以前枚举的更近的两个学校的话,就进行更新最远距离和学校编号
坑点:
  1)数据范围什么鬼???
  2)说好的n(1≤n≤50)呢!qwq人与人之间最基本的信任呢???
上代码:
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std; const int Maxint = ;
const int N = ;
int n,m,p1,p2,minl=Maxint,maxl=Maxint;
int map[N][N]; int main()
{
freopen("djsb.in","r",stdin);
freopen("djsb.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=;i<n;i++)
{
for(int j=;j<n;j++)
map[i][j]=Maxint;
map[i][i]=;
}
for(int i=,u,v,w;i<m;i++)
{
scanf("%d%d%d",&u,&v,&w);
map[u][v]=w,map[v][u]=w;
}
/*floyd*/
for(int k=;k<n;k++)
for(int i=;i<n;i++)
for(int j=;j<n;j++)
if(map[i][j]>map[i][k]+map[k][j])
map[i][j]=map[i][k]+map[k][j];
for(int i=;i<n;i++)
{
for(int j=i+;j<n;j++)
{
minl=;
for(int k=;k<n;k++)
{
/*
if(i==k || j==k)
continue;
*/
int emmmm=min(map[i][k],map[j][k]);
minl=max(minl,emmmm);
}
if(maxl>minl)
{
maxl=minl;
p1=i,p2=j;
}
}
}
printf("%d %d",p1,p2);
return ;
}

嘻嘻,5还没写啦~

cogs服务点设置(不凶,超乖) x的更多相关文章

  1. cogs 服务点设置

    3. 服务点设置 ☆   输入文件:djsa.in   输出文件:djsa.out   简单对比时间限制:1 s   内存限制:128 MB 问题描述为了进一步普及九年义务教育,政府要在某乡镇建立一所 ...

  2. COGS 5. P服务点设置

    5. P服务点设置 http://www.cogs.pro/cogs/problem/problem.php?pid=5 ★★   输入文件:djsc.in   输出文件:djsc.out   简单对 ...

  3. cogs 3. 服务点设置 dijkstra

    3. 服务点设置 ★   输入文件:djsa.in   输出文件:djsa.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 为了进一步普及九年义务教育,政府要在某乡镇建 ...

  4. cogs p服务点设置

    5. P服务点设置 ★★   输入文件:djsc.in   输出文件:djsc.out   简单对比时间限制:2 s   内存限制:128 MB 问题描述为了进一步普及九年义务教育,政府要在某乡镇建立 ...

  5. cogs 双服务点设置

    4. 双服务点设置 ☆   输入文件:djsb.in   输出文件:djsb.out   简单对比时间限制:1 s   内存限制:128 MB 问题描述为了进一步普及九年义务教育,政府要在某乡镇建立两 ...

  6. dfs -cogs 5 P服务点设置

    题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=FSXJmiJSg   问题描述为了进一步普及九年义务教育,政府要在某乡镇建立P所希望小学 ...

  7. 利用efi功能更改bios主板被隐藏的设置(如超频)

    整理自(来源): http://tieba.baidu.com/p/4934345324 ([新手教程]利用EFI启动盘修改 隐藏bios设置) http://tieba.baidu.com/p/49 ...

  8. Charles设置断点- (超详解)

    1.选择你要设置断点的接口 2.右键选择 Breakpoints 3.断点的相关配置, Proxy ——>Breakpoint Settings 5.双击刚刚已经设置的断点接口,进行设置 6. ...

  9. IDEA中设置背景图片(超详细)

    文章目录 1.效果图 2.详细设置过程 1.效果图 2.详细设置过程

随机推荐

  1. asp.net 12 AJAX

    Javascript:ajax Ajax:get <%@ Page Language="C#" AutoEventWireup="true" CodeBe ...

  2. C# 定义热键

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. idea2019 Tomcat9 Tomcat Localhost log 乱码

    网上一顿搜索,基本没用,可能版本不一样. idea2019 tomcat9解决方案: 找到Tomcat的安装目录,进入conf目录 打开logging.properties 找到java.util.l ...

  4. 【原创】大叔经验分享(66)docker启动tomcat不输出catalina.out

    docker启动tomcat默认是: Run the default Tomcat server (CMD ["catalina.sh", "run"]): 查 ...

  5. JS基础_对象的简介、对象的基本操作

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Qtspim和MIPS的坑

    Qtspim和MIPS的坑 数组要么用空格隔开,要么逗号之后再加一个空格 乘法的结果保存在(HI,LO)寄存器中,但是不能直接通过Move得到,必须使用mfhi 和mflo指令 用户输入的数组最后一个 ...

  7. O053、Attach Volume 操作(Part I)

    参考https://www.cnblogs.com/CloudMan6/p/5624930.html   Volume的最主要用途是做为虚拟磁盘提供给Instance使用.Volume是通过 Atta ...

  8. jmeter压测实践

    技巧一:命令行执行 命令执行:指定参数,报告的存储位置 jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl ...

  9. 9、nginx常用基础模块

    1Nginx目录索引 ngx_http_autoindex_module模块处理以斜杠字符('/')结尾的请求(就是处理location /),并生成目录列表.当ngx_http_index_modu ...

  10. 十二,k8s集群访问控制之RBAC授权

    目录 角色访问控制RBAC (Role-Based Access Control) 常用的授权插件: RBAC控制: role 和 clusterrole rolebinding 和 clusterr ...