友情链接神犇520的博客

题目:

题目描述

有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分。(此处略去一句废话)据说,如果至少满足了以下三个条件之一,公司A就可以控制公司B了:

公司A = 公司B。

公司A拥有大于50%的公司B的股票。

公司A控制K(K >= 1)个公司,记为C1, ..., CK,每个公司Ci拥有xi%的公司B的股票,并且x1+ .... + xK > 50%。

给你一个表,每行包括三个数(i,j,p);表明公司i享有公司j的p%的股票。计算所有的数对(h,s),表明公司h控制公司s。至多有100个公司。

写一个程序读入N组数(i,j,p),i,j和p是都在范围(1..100)的正整数,并且找出所有的数对(h,s),使得公司h控制公司s。

输入输出格式

输入格式:

第一行: N,表明接下来三个数的数量,即(i,j,p)的数量。

第二行到第N+1行: 每行三个整数作为一个三对数(i,j,p),表示i公司拥有j公司 p%的股份。

输出格式:

输出零个或更多个的控制其他公司的公司。每行包括两个整数A、B,表示A公司控制了B公司。将输出的数对以升序排列。

请不要输出控制自己的公司(应该是不输出自己,互相控制的公司还是要输出的)。

输入输出样例

输入样例#1:

3
1 2 80
2 3 80
3 1 20
输出样例#1:

1 2
1 3
2 3

说明

翻译来自NOCOW

USACO 2.3


好吧,这个题的数据是有点水(至少洛谷和USACO上是这样),然后直接暴搜三重循环可以水80左右,但是要想那满分肯定没那么简单,做的时候我就想到了dfs,但是无奈思路有问题,所以还是错了,然后看了five20(five20的博客传送门见上方)的代码才把思路理清,好吧,其实真的很水,所以就直接上代码算了。。。。。。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;
int num,n,f[][];
bool pd[][];
void dfs(int u,int k)
{
if(pd[u][k]) return ;
pd[u][k]=true;
for(int i=;i<=num;i++){
f[u][i]+=f[k][i];
if(f[u][i]>)dfs(u,i);
}
}
int main()
{
//freopen("control.in","r",stdin);
//freopen("control.out","w",stdout);
scanf("%d",&n);int x,y,z;
for(int i=;i<=n;i++)
{
scanf("%d%d%d",&x,&y,&z);
num=max(num,max(x,y));
f[x][y]=z;
}
for(int i=;i<=num;i++)
for(int j=;j<=num;j++)
if(f[i][j]>)dfs(i,j);
for(int i=;i<=num;i++)
for(int j=;j<=num;j++)
if(i!=j&&pd[i][j])
printf("%d %d\n",i,j);
return ;
}

好了,这题就这么water掉吧

USACO 控制公司 Controlling Companies的更多相关文章

  1. 【图论】[USACO]控制公司 Controlling Companies

    玄妙的搜索 题目描述 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分.(此处略去一句废话)据说,如果至少满足了以下三个条件之一,公司A就可以控制公司B了: 公司A = 公司B ...

  2. 洛谷P1475 控制公司 Controlling Companies

    P1475 控制公司 Controlling Companies 66通过 158提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 ...

  3. 洛谷——P1475 控制公司 Controlling Companies

    P1475 控制公司 Controlling Companies 题目描述 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分.(此处略去一句废话)据说,如果至少满足了以下三个条 ...

  4. 控制公司 Controlling Companies

    题目描述 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分.(此处略去一句废话)据说,如果至少满足了以下三个条件之一,公司A就可以控制公司B了: 公司A = 公司B. 公司A拥 ...

  5. 【USACO 2.3】Controlling Companies (递推)

    题意:A公司对B公司有控制权的条件是满足下面条件之一:A=B,A对B的股份超过50%,A控制的公司对B的股份之和超过50%. 分析:我把控制关系分个等级:第一级是直接的股份超过50%,第二级是至少需要 ...

  6. USACO Section 2.3: Controlling Companies

    这题的dp里的check里的函数要考虑k control i control j和i control j control k的情况 /* ID: yingzho1 LANG: C++ TASK: co ...

  7. USACO Section2.3 Controlling Companies 解题报告 【icedream61】

    concom解题报告------------------------------------------------------------------------------------------ ...

  8. USACO Training刷题记录 By cellur925

    Section 1.1 Your Ride Is Here 貌似没啥可说 Greedy Gift Givers 上来就想stl map映射,有两个坑:如果送给别人的人数为0,那么需要特判一下,防止整数 ...

  9. 【USACO 2.3.5】控制公司

    [题目描述] 有些公司是其他公司的部分拥有者,因为他们获得了其他公司发行的股票的一部分.例如,福特公司拥有马自达公司12%的股票.据说,如果至少满足了以下三个条件之一,公司A就可以控制公司B了: 公司 ...

随机推荐

  1. 还不会做! 树上的gcd 树分治 UOJ33

    题目链接:http://uoj.ac/problem/33 题解链接:http://vfleaking.blog.uoj.ac/blog/38 现在感觉到了做OI的层层递进的思路的伟大之处,作为一个大 ...

  2. Python学习笔记(四十五)网络编程(1)TCP编程

    摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320043745 ...

  3. JS中client/offset/scroll等的宽高解析

    原文地址:→传送门 window相关宽高属性 1. window.outerHeight (窗口的外层的高度) / window.outerWidth (窗口的外层的宽度) window.outerH ...

  4. H5多媒体

    Video <video width="500px" controls="controls"> <source src="test. ...

  5. spring boot(二):注解大全

    spring boot注解 @Autowired 注解的意思就是,当Spring发现@Autowired注解时,将自动在代码上下文中找到和其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方去. ...

  6. 【BZOJ】4358: permu 莫队算法

    [题意]给定长度为n的排列,m次询问区间[L,R]的最长连续值域.n<=50000. [算法]莫队算法 [题解]考虑莫队维护增加一个数的信息:设up[x]表示数值x往上延伸的最大长度,down[ ...

  7. 【BZOJ】3991: [SDOI2015]寻宝游戏 虚树+DFS序+set

    [题意]给定n个点的带边权树,对于树上存在的若干特殊点,要求任选一个点开始将所有特殊点走遍后返回.现在初始没有特殊点,m次操作每次增加或减少一个特殊点,求每次操作后的总代价.n,m<=10^5. ...

  8. NYOJ 141 Squares (数学)

    题目链接 描述 A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degre ...

  9. Vue SPA 首屏加载优化实践

    写在前面 本文记录笔者在Vue SPA项目首屏加载优化过程中遇到的一些坑及优化方案! 我们以 vue-cli 工具为例,使用 vue-router 搭建SPA应用,UI框架选用 element-ui ...

  10. linux下subversion的安装

    第一章 安装 这里以RHEL5下安装subversion-1.6.6,为例 1. 下载源码包 在http://archive.apache.org/dist/subversion/网站下载 subve ...