PAT顶级 1001 城际战争——困难版
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
//并查集表示连通关系
//Kruscal最小生成树struct edge{int i,j,cost,status;
};int N,M;
edge e[200005];
int parent[501];void initfind(){for(int i=1;i<=N;i++){parent[i]=i;}
}
int Find(int cur){if(parent[cur]==cur) return cur;return parent[cur]=Find(parent[cur]);
}
bool unite(int a,int b){int aa=Find(a);int bb=Find(b);if (aa==bb) return false;else{if(aa<bb) parent[bb]=aa;else parent[aa]=bb;return true;}
}
int main(){cin>>N>>M;for(int i=0;i<M;i++){scanf("%d %d %d %d",&e[i].i,&e[i].j,&e[i].cost,&e[i].status);}//输入sort(e,e+M,[&](edge &x,edge &y)->bool{if(x.status!=y.status) return x.status>y.status;return x.cost<y.cost;});//排序int maxcost=0;vector<int> maxcost_city;for(int i=1;i<=N;i++){//敌人攻占城市iinitfind();int op=0;int cost=0;for(int j=0;j<M;j++){int a=e[j].i,b=e[j].j;if(a==i||b==i) continue;if(unite(a,b)){if(!e[j].status) cost+=e[j].cost;op++;if(op==N-2) break;}}if(op==N-2){//连通if(cost>maxcost){maxcost=cost;maxcost_city={i};}else if(cost==maxcost){maxcost_city.emplace_back(i);}}else{cost=1000000000;if(cost>maxcost){maxcost=cost;maxcost_city={i};}else if(cost==maxcost){maxcost_city.emplace_back(i);}}}if(maxcost==0) cout<<0;sort(maxcost_city.begin(),maxcost_city.end());for(int i=0;i<maxcost_city.size();i++){if(i) cout<<' ';cout<<maxcost_city[i];}
}
没有全部AC,暂时找不出bug
PAT顶级 1001 城际战争——困难版相关推荐
- pat顶级1003 Universal Travel Sites (35 point(s))
欢迎访问我的pat顶级题解目录哦 https://blog.csdn.net/richenyunqi/article/details/86751676 题目描述 算法设计 这道题是图论的最大流问题,关 ...
- pat顶级1022 Werewolf (35 point(s))
欢迎访问我的pat顶级题解目录哦 https://blog.csdn.net/richenyunqi/article/details/86751676 题目描述 算法设计 这道题是pat甲级1148 ...
- Pat甲级 1001 A+B Format
Pat甲级 1001 A+B Format 思路 代码 题目网址 https://pintia.cn/problem-sets/994805342720868352/problems/99480552 ...
- 009 数据结构逆向—数组(困难版)
文章目录 前言 数组逆向 通过人物血量查找人物属性 调call取对象 call内追局部变量 逆向加密数组下标 分析人物属性 总结 前言 通过之前的分析,我们已经对数组结构有了一个简单的了解,这次就用幻 ...
- PAT学习资料汇总(PAT甲级、PAT顶级、PAT考试经验)
二.PAT甲级 PAT甲级真题目录(按题型整理) PAT甲级真题目录(按题型整理)_love music.的博客-CSDN博客_pat甲级真题 PAT甲[所有题目+解析+代码示例+总结]附带所有历年整 ...
- 三重邪骨手机版怎么登录服务器未响应,三重邪骨困难版
三重邪骨困难版是一款十分好玩且经典的传说之下作品.经典的1-5阶段关卡等你来闯,全新的困难模式更是能够让你刺激的进行冒险,也能让你更快的通关.大量经典的审判曲,8bit独特的风格更加带感,使你能够感受 ...
- 网际快车 1.82.1001 Final_简体中文正式版 下载速度可以提高100%到500%
网际快车 1.82.1001 Final_简体中文正式版 下载速度可以提高100%到500% 2')67}gk> 软件简介∷ 下载的最大问题是什么--速度,其次是什么--下载后的管理.网际快 ...
- java模拟器野人岛2,生存战争扩展版野人岛3.0
生存战争扩展版野人岛3.0是一款可以联机冒险的野外生存策略游戏.生存战争扩展版野人岛3.0游戏中采用独特的像素风格,与mc类似,你可以在这个随机生成的沙盒世界中自由探索,收集武器物资建造自己的避难所, ...
- PAT(乙级) 1001 害死人不偿命的(3n+1)猜想 (15 分) (python3)
PAT(乙级) 1001 害死人不偿命的(3n+1)猜想 (15 分) (python3) 第一次写点博客记录自己学习算法的过程,因为个人能力有限,会不定期发布一些PAT上题目的代码 PAT 乙级的1 ...
最新文章
- c语言多线程的作用是什么意思,多线程-如何在普通C语言中启动线程?
- CentOS7 SSH相关
- ubuntu16.0 安装 openstack
- Angular的built-in指令
- css多行超出时,超出高度,显示省略号
- ElasticSearch初学者教程
- cmd代码表白_手把手教你把Python代码转成exe
- 大道至简,职场上做人做事做管理(From Jimmy Zhang)
- 继续发布分页类的BLL层和Interface层部分哈
- Multiavatar 多元文化头像生成器
- php 字符串截掉前两位,如何在PHP的前20个单词中截断字符串?
- 修复APP的BUG,热修复的知识点和大厂的相关资料汇总
- u盘带走的绿化wamp配置方式
- Houdini+UE4制作好看的地形(材质篇)
- Gmail上不去怎么办?
- 小游戏轻量级数据库-GameDb
- 数据库与数据库管理系统之间的关系
- class path resource [springMVC-servlet.xml] cannot be opened because it does not exist
- XP系统电脑因“未激活”无法登录进入桌面,而输入序列号后提示“已激活”,以此死循环
- Android 动画