博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
L3-005 垃圾箱分布 (30分)
阅读量:3951 次
发布时间:2019-05-24

本文共 2366 字,大约阅读时间需要 7 分钟。

在这里插入图片描述

在这里插入图片描述

#include
using namespace std;const int maxn=10017;const int maxm=200007;const int inf = 99999999;struct node{
int to; int next; int cost;}edge[maxm];struct node2{
int id; int mis; double av;}ans[maxn];bool cmp(node2 q,node2 w){
if(q.av==w.av&&q.mis==w.mis) return q.id
w.mis;}int cnt,head[maxn];int dis[17][maxn];int vis[maxn];void add(int x,int y,int z){
edge[++cnt].to=y; edge[cnt].next=head[x]; edge[cnt].cost=z; head[x]=cnt; edge[++cnt].to=x; edge[cnt].next=head[y]; edge[cnt].cost=z; head[y]=cnt;}int n,m,k,d;int trans(string s){
int len=s.length(); int num=0; for(int i=1;i
dis[cur-n][cur]+edge[i].cost) dis[cur-n][v]=dis[cur-n][cur]+edge[i].cost; } vis[cur]=1; for(int i=1;i<=n+m;i++) {
int mi=inf,flag; for(int j=1;j<=n+m;j++){
//printf("cur:%d to:%d dis:%d\n",cur,j,dis[cur][j]); if(dis[cur-n][j]
dis[cur-n][flag]+edge[j].cost) dis[cur-n][v]=dis[cur-n][flag]+edge[j].cost; } }}int main(){
string a,b; int l,x,y; scanf("%d%d%d%d",&n,&m,&k,&d); memset(dis,0x3f,sizeof(dis)); while(k--) {
cin>>a>>b>>l; if(a[0]=='G') x=trans(a); else x=trans2(a); if(b[0]=='G') y=trans(b); else y=trans2(b); add(x,y,l); } /* for(int i=1;i<=n+m;i++) { for(int j=head[i];j;j=edge[j].next) { printf("from:%d to:%d cost:%d\n",i,edge[j].to,edge[j].cost); } }*/ int ct=0; for(int i=n+1;i<=n+m;i++) {
int flag=0,mi=inf,sum=0; memset(vis,0,sizeof(vis)); dij(i); for(int j=1;j<=n;j++) {
// printf("i:%d j:%d dis:%d\n",i,j,dis[i][j]); if(dis[i-n][j]>d) {
flag=1; break; } mi=min(mi,dis[i-n][j]); sum+=dis[i-n][j]; } if(flag==1) continue; ans[++ct].av=(double)sum/n; ans[ct].id=i-n; ans[ct].mis=mi; } sort(ans+1,ans+1+ct,cmp); //for(int i=1;i<=m;i++) //printf("%d %d %.2lf\n",ans[i].id,ans[i].mis,ans[i].av); if(ct==0) {
printf("No Solution\n"); } else {
printf("G%d\n",ans[1].id); printf("%d.0 %.1lf\n",ans[1].mis,ans[1].av); } return 0;}

转载地址:http://osgwi.baihongyu.com/

你可能感兴趣的文章
Qt5 Crash When Open File With QFileDialog
查看>>
关于Visual Studio "当前不会命中断点.还没有为该文档加载任何符号"的解决方法
查看>>
source ~/.bashrc出现if: Expression Syntax.
查看>>
MYSQL架构与工作机理
查看>>
java8新特性
查看>>
git clone时RPC failed; curl 18 transfer closed with outstanding read data remaining
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)
查看>>
linux 查看进程 ps -A 与ps -ef 区别
查看>>
maven的三种项目打包方式----jar,war,pom
查看>>
maven中jar、war、pom的区别
查看>>
maven之pom.xml配置文件详解
查看>>
java基础学习之抽象类与接口的区别
查看>>
java基础学习之包、类、方法、属性、常量的命名规则
查看>>
java基础知识学习之匿名内部类
查看>>
SSM框架和SSH框架的区别
查看>>
漫画版Elasticsearch原理
查看>>
Elasticsearch-基础介绍及索引原理分析
查看>>
过滤敏感词算法
查看>>
linux学习之shell脚本if判断参数-n,-d,-f等
查看>>
linux学习之windos文件在linux里面乱码解决
查看>>