南沙信奥老师解题:1352:【例4-13】奖金

 【题目描述】

由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。

于是Mr.Z下令召开m方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工a的奖金应该比b高!”Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位员工奖金最少为100元。

【输入】

第一行两个整数n,m,表示员工总数和代表数;

以下m行,每行2个整数a,b,表示某个代表认为第a号员工奖金应该比第b号员工高。

【输出】

若无法找到合理方案,则输出“Poor Xed”;否则输出一个数表示最少总奖金。

【输入样例】

2 1
1 2

【输出样例】

201

【提示】

【数据规模】

80%的数据满足:n≤1000,m≤2000;

100%的数据满足:n≤10000,m≤20000。

#include <bits/stdc++.h>
using namespace std;
int degree[10001],n,m,money[10001],cnt=0;
vector<int> e[10001];
stack<int> q;
bool TopoSort()
{while(!q.empty()){int i=q.top();q.pop();cnt++;for(int j=0;j<e[i].size();j++){	int v=e[i][j];	money[v]=max(money[v],money[i]+1); //拓扑排序的过程中,顶点i访问邻接点v,存在弧<i, v>,i的奖金应该比v的奖金至少高1,应该用money[i]+1更新money[v]degree[v]--;if(degree[v]==0)q.push(v);	}	}return cnt<n?false:true;
}
int main()
{cin>>n>>m;	for(int i=1;i<=m;i++){int a,b;cin>>a>>b;e[b].push_back(a); //要注意a的奖金比b高,即b的入度为0. 即100  b->a degree[a]++;}for(int i=1;i<=n;i++)if(degree[i]==0){q.push(i);money[i]=100;}if(TopoSort()){int sum=0;for(int i=1;i<=n;i++)sum+=money[i];cout<<sum;}elsecout<<"Poor Xed"; return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/791170.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MediatR实现高效信息传递,以.net8做demo演示

MediatR 是 .NET 下的一个实现消息传递的库,轻量级、简洁高效,用于实现进程内的消息传递机制。它基于中介者设计模式,支持请求/响应、命令、查询、通知和事件等多种消息传递模式。通过泛型支持,MediatR 可以智能地调度不同类型的消息,非常适合用于领域事件处理。 我们将定…

Redis组件介绍(五)

今天继续学习redis后面的知识。写在前面 今天继续学习redis后面的知识。 Redis 哨兵机制 哨兵 Sentinel 机制 Sentinel(哨兵)是 Redis 的高可用性解决方案。由一个或多个 Sentinel 实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器。当…

人工智能的动漫虚拟世界(第二代)游戏、游戏源码、教程(三合一)

人工智能的动漫虚拟世界(第二代)游戏、游戏源码、教程(三合一)。我不想跟任何人说话,任何人不要跟我说话,我要安安静静的写。 2024年9月2日第二代制作完成,现在就比较象样了。 男主角换人了,黑头发的。 男女主角有个完善的家了,是小区场景中,一栋二层的小楼。 之前,…

JeecgBoot积木报表AviatorScript表达式注入漏洞复现

漏洞信息 影响组件:JimuReport积木报表 影响版本:v1.6.0 < JimuReport ≤ 1.7.8 漏洞名称:AviatorScript表达式注入漏洞 漏洞链接:积木报表软件存在AviatorScript代码注入RCE漏洞 Issue #2848 漏洞描述: 积木报表软件存在AviatorScript代码注入RCE漏洞 使用接口/jmrepo…

flash详解

flash详解 什么是Flash Flash全名叫做Flash Memory,从名字就能看出,是种数据存储设备,存储设备有很多类,Flash属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出,…

Dll 可执行文件的编写与调用

一、Dll 可执行文件的编写 首先我们需要在 VS 创建一个动态链接库(DLL)项目,然后会生成如下代码: // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, // 指向 Dll 模块的句柄DWORD ul_reason_for_call, /…

rabbitmq高可用集群搭建

需求分析基本情况 在进行RabbitMQ搭建时,我们基于现有的连接数据和业务需求进行了深入分析。目前的统计数据显示,连接数为631,队列数为80418。为了确保业务需求的顺利满足,我们需要在云产品和自建RabbitMQ消息队列服务之间做出选择。 经过比较发现,即使选择腾讯云的最高规…

谈谈springboot中@Conditional相关注解

@Conditional是一个元注解@ConditionalOnClass(xx.class) 这是用于修饰一个类的注解。它主要是让你的代码具有兼容性,如在多模块下common模块中有一些仅仅是部分其他模块依赖、需要配置的类(例如rabbitMQ配置类,我相信他不应该被全模块需要,但是他放在常用模块中依旧是最合…

Categraf+VictoriaMetrics+Grafana网络设备监控方案

背景 应公司网工邀请,一起研究架设一套系统,对公司网络设备进行监控和预警。 基础 什么是SNMP 简单网络管理协议SNMP(Simple Network Management Protocol)用于网络设备的管理。 网络设备多种多样,不同设备不同厂家管理接口各不相同,于是snmp应运而生,SNMP作为广泛应用于…

Categraf+VictoriaMetrics+Grafana,网络设备监控方案

背景 应公司网工邀请,一起研究架设一套系统,对公司网络设备进行监控和预警。 基础 什么是SNMP 简单网络管理协议SNMP(Simple Network Management Protocol)用于网络设备的管理。 网络设备多种多样,不同设备不同厂家管理接口各不相同,于是snmp应运而生,SNMP作为广泛应用于…

Kubernetes存储卷

1. 存储卷基础 1.1 存储卷基础 从概念上讲,存储卷是可供Pod中的所有容器访问的目录Pod规范中声明的存储卷来源决定了目录的创建方式、使用的存储介质以及目录的初始内容存储卷插件(存储驱动)决定了支持的后端存储介质或存储服务,例如hostPath插件使用宿主机文件系统,而nfs…