PTA week10
//
// main.c
// Bonus2
//
// Created by 余南龙 on 2016/11/27.
// Copyright © 2016年 余南龙. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 200000
#define Infinity 10000000
struct Edge{
int u;
int v;
int weight;
int status;
};
int comp(const void *a, const void *b){
struct Edge *pa = (struct Edge*)a;
struct Edge *pb = (struct Edge*)b;
if(pa->status != pb->status){
return pb->status - pa->status;
}
return pa->weight - pb->weight;
}
int main() {
struct Edge E[MAX];
, connect, index, fu, fv, tmp, flag = , cost[MAX], UF[MAX];
scanf("%d%d", &N, &M);
; i < M; i++){
scanf("%d%d%d%d", &E[i].u, &E[i].v, &E[i].weight, &E[i].status);
}
qsort(E, M, ]), comp);
memset(cost, , ));
; i <= N; i++){
connect = ;
memset(UF, -, ));
; j < M; j++){
if(E[j].u != i&&E[j].v != i){
index = fu = E[j].u;
){
fu = UF[fu];
}
while(index != fu){
tmp = UF[index];
UF[index] = fu;
index = tmp;
}
index = fv = E[j].v;
){
fv = UF[fv];
}
while(index != fv){
tmp = UF[index];
UF[index] = fv;
index = tmp;
}
if(fu != fv){
if(fu <= fv){
UF[fu] += UF[fv];
UF[fv] = fu;
}
else{
UF[fv] += UF[fu];
UF[fu] = fv;
}
connect++;
== E[j].status){
cost[i] += E[j].weight;
}
)
break;
}
}
}
){
cost[i] = Infinity;
}
if(cost[i] > max){
max = cost[i];
}
}
!= max){
; i <= N; i++){
if(max == cost[i]){
== flag){
printf("%d", i);
flag = ;
}
else{
printf(" %d", i);
}
}
}
}
else{
printf(");
}
}
PTA week10的更多相关文章
- week10《java程序设计》作业总结
week10<java程序设计>作业总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 答:: 2. 书面作业 本次PTA作业题集异常 1. 常用异常 ...
- 小课堂Week10 例外处理设计的逆袭Part3
小课堂Week10 例外处理设计的逆袭Part3 今天是<例外处理设计的逆袭>这本书阅读的第三天,也是最后一天,我们会主要通过实例,对Part2中提出的例外处理等级进行解读. Level1 ...
- 浙大PTA - - 堆中的路径
题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21731 本题即考察最小堆的基本操作: #include "iostrea ...
- 浙大PTA - - File Transfer
题目链接:https://pta.patest.cn/pta/test/1342/exam/4/question/21732 #include "iostream" #includ ...
- ERROR<53761> - Plugins - conn=-1 op=-1 msgId=-1 - Connection Bind through PTA failed (91). Retrying...
LDAP6.3在DSCC控制台启动实例完成,但是操作状态显示“意外错误”,查看日志如下: 04/May/2016:21:10:39 +0800] - Sun-Java(tm)-System-Direc ...
- PTA中提交Java程序的一些套路
201708新版改版说明 PTA与2017年8月已升级成新版,域名改为https://pintia.cn/,官方建议使用Firefox与Chrome浏览器. 旧版 PTA 用户首次在新版系统登录时,请 ...
- PTA分享码-Java
主要用于Java语法练习,非竞赛类题目. 1. Java入门 959dbf0b7729daa61d379ec95fb8ddb0 2. Java基本语法 23bd8870e ...
- C语言第一次实验报告————PTA实验1.2.3内容
一.PTA实验作业 题目1.温度转换 本题要求编写程序,计算华氏温度100°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代 ...
- PTA题---求两个有序序列中位数所体现的思想。
---恢复内容开始--- 近日,在做PTA题目时,遇到了一个这样的题,困扰了很久.题目如下:已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数.有序序列A0,A1, ...
随机推荐
- python 元组操作
关于元组的常用操作,请参考:http://www.runoob.com/python/python-tuples.html 元组的元素不可修改 ,元组的元素的元素可修改 count(self,valu ...
- Windows下RCNN的使用
RCNN 一种把目标图像分割转化为CNN分类问题进行目标检测的方法. 以下转自魏晋的知乎回答 Ross B. Girshick的RCNN使用region proposal(具体用的是Selecti ...
- 一些关于HTTP协议、表单和……的备忘
几个概念 Ajax是一种技术.asp.net是一个库.json是一种数据格式.jquery是js的库(源码).ror是ruby on rails.python,就是python.Ajax和AJAX,后 ...
- SpringMVC学习系列(7) 之 格式化显示
在系列(6)中我们介绍了如何验证提交的数据的正确性,当数据验证通过后就会被我们保存起来.保存的数据会用于以后的展示,这才是保存的价值.那么在展示的时候如何按照要求显示?(比如:小数保留一定的位数,日期 ...
- lumen 登陆 注册 demo
本文将用Lumen来实现一个完整的用户注册.登录及获取用户信息的API. Lumen环境搭建和初始化详细步骤请参考上篇文章<Lumen安装配置使用入门>一文. 一.准备工作 1.Lumen ...
- Hadoop学习14--Hadoop之一点点理解yarn
yarn是一个分布式的资源管理系统. 它诞生的原因是原来的MapReduce框架的一些不足: 1.JobTracker单点故障隐患 2.JobTracker承担的任务太多,维护Job状态,Job的ta ...
- codeforces 689 E. Mike and Geometry Problem 组合数学 优先队列
给定一个函数: f([l,r]) = r - l + 1; f(空集) = 0; 即f函数表示闭区间[l,r]的整点的个数 现在给出n个闭区间,和一个数k 从n个区间里面拿出k个区间,然后对这k个区间 ...
- RabbitMQ介绍6 - 其它
深入话题 Exchange实现路由的方法 http://www.rabbitmq.com/blog/2010/09/14/very-fast-and-scalable-topic-routing-pa ...
- tinyxml学习5
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...
- VBS数组
定义一个数组: dim a(3).这里要注意在VBS里面数组不像其他的例如C,C#,JAVA等数组用[]作为数组标志.VBS采用的是().还需要注意的是,这里定义的数组包含a(0),a(1),a(2) ...