ural1701 Ostap and Partners
Ostap and Partners
Memory limit: 64 MB
“Looking for a job,” Ivan answered wearily.
“You know, I was also looking for a job not so long ago, and I found an excellent one!” Vassily was excited. “It's nearby and they promised to pay well! And you can join us too!”
“What's that job like?” no wonder, jobless Ivan became interested.
“Have you heard about the company Ostap and Partners? They've been producing horns and hoofs for a number of years already. And now I'm a hoof picker of the third class with them!” answered Vassily proudly.
“How much do they pay you?” Ivan wanted to know.
“They don't pay me yet,” answered his friend with disappointment. “It's the first month I work there and I'm a probationer. And the guys in the brigade don't tell me their wages, it's the company's policy.” He paused and lowered his voice to a whisper. “But I know that our foreman drives a Mercedes!”
“Ah, I would like to know how much money they get,” Ivan said dreamily imagining himself driving a Merc.
“I can learn it after all!” Vassily had a sudden inspiration. “The guys like to brag at smoking breaks that their wages are greater than someone else's. For example, Stepan said recently that he was getting 1200 rubles more than Fyodor. And Fyodor once complained that he was getting 5500 rubles less than the foreman.”
“Collect then as many such comparisons as you can, and we will know all the wages!” Ivan rejoiced.
“OK, I'll do that!”
Input
Output
Samples
| input | output |
|---|---|
5 6 |
Possible |
3 5 |
Impossible after 3 statements |
3 2 |
Impossible after 2 statements |
分析:并查集合并;
代码:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <list>
#define rep(i,m,n) for(i=m;i<=n;i++)
#define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define vi vector<int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
#define pii pair<int,int>
#define Lson L, mid, rt<<1
#define Rson mid+1, R, rt<<1|1
const int maxn=5e4+;
using namespace std;
ll gcd(ll p,ll q){return q==?p:gcd(q,p%q);}
ll qpow(ll p,ll q){ll f=;while(q){if(q&)f=f*p;p=p*p;q>>=;}return f;}
int n,m,k,t,p[maxn],flag;
ll a[maxn],b[maxn];
int find(int x)
{
if(x==p[x])return x;
else
{
int fa=p[x];
p[x]=find(p[x]);
a[x]+=a[fa];
}
return p[x];
}
int main()
{
int i,j;
scanf("%d%d",&n,&m);
rep(i,,n-)p[i]=i;
rep(i,,m)
{
int c,d,e;
scanf("%d%d%d",&c,&d,&e);
int fa=find(c),fb=find(d);
if(fa!=fb)
{
p[fa]=fb;
a[fa]=-a[c]+a[d]+e;
}
else
{
if(a[c]-a[d]!=e)return *printf("Impossible after %d statements\n",i);
}
}
int ca;
rep(i,,n-)
{
int fa=find(i);
if(i==)b[fa]=-a[i],ca=fa;
else if(fa==ca)continue;
else if(a[i]<)b[fa]=max(b[fa],-a[i]);
}
rep(i,,n-)
{
int fa=find(i);
if(a[i]+b[fa]<||a[i]+b[fa]>1e9)return *printf("Impossible after %d statements\n",m);
}
puts("Possible");
rep(i,,n-)printf("%lld\n",a[i]+b[find(i)]);
//system("Pause");
return ;
}
ural1701 Ostap and Partners的更多相关文章
- 1701. Ostap and Partners(并查集-关系)
1701 又是类似食物链的这一类题 这题是找与根节点的和差关系 因为0节点是已知的 为0 那么所有的都可以转换为与0的和差关系 可以规定合并的两节点 由大的指向小的 然后再更新和差关系 有可能最后有 ...
- Windows Phone 8 解锁提示IpOverUsbSvc问题——IpOverUsbEnum返回No connected partners found解决方案
我的1520之前总是无法解锁,提示:IpOverUsbSvc服务没有开启什么的. 根据网上网友的各种解决方案: 1. 把手机时间设置为当前时间,并且关闭“自动设置” 2. 确保手机接入了互联网 3.确 ...
- Codeforces Round #382 (Div. 2) A. Ostap and Grasshopper bfs
A. Ostap and Grasshopper 题面 On the way to Rio de Janeiro Ostap kills time playing with a grasshopper ...
- Codeforces Round #382 (Div. 2)E. Ostap and Tree
E. Ostap and Tree time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- Codeforces735A Ostap and Grasshopper 2016-12-13 11:53 78人阅读 评论(0) 收藏
A. Ostap and Grasshopper time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- 一些SAP Partners能够通过二次开发实现打通C/4HANA和S/4HANA的方法介绍
有好几位朋友在公众号后台给我留言询问SAP C/4HANA和S/4HANA集成的方案. 尽管我给这些朋友推送了一个方案:打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例,然而我得到的 ...
- Codeforces 735 E Ostap and Tree
Discription Ostap already settled down in Rio de Janiero suburb and started to grow a tree in his ga ...
- 【64.22%】【codefoces round 382A】Ostap and Grasshopper
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- [Ccodeforces 736C] Ostap and Tree - 树形DP
给定一个n个点的树,把其中一些点涂成黑色,使得对于每个点,其最近的黑点的距离不超过K. 树形DP. 设置状态f[i][j]: 当j <= K时: 合法状态,表示i的子树中到根的最近黑点距离为j的 ...
随机推荐
- mybatis------xml的一些规范等
转与拼接: MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML ...
- ZOJ 2158 POJ 1789 Truck History
最小生成树,主要是题目比较难懂. #include <cstdio> #include <cstring> #include <cmath> #include &l ...
- Spring的后置处理器BeanPostProcessor
一.BeanPostProcessor接口的作用 如果我们需要在Spring容器完成Bean的实例化.配置和其他的初始化前后添加一些自己的逻辑处理,我们就可以定义一个或者多个BeanPostProce ...
- Chapter 2 Open Book——8
But as far as I could tell, life worked that way most of the time. 但是即使我这么说,生活大多数时间还是这样的. 但就我所能告诉你的, ...
- ieee80211_rx
ieee80211rx.c(E:\code\linux\net\ieee80211) 所有接收到的帧都送到这个函数中去 int ieee80211_rx(struct ieee80211_device ...
- Java 学习路线
java 入门到精通 转自:http://forum.hibernate.org.cn作者:robbinJava Learning Path (一).工具篇 一. JDK (Java Develop ...
- oracle的exp和imp命令的使用【转载】
oracle的exp和imp命令的使用 我们通常要对ORACLE的数据进行导入,导出,在没有expdb,impdb以前(10G以前),我们都是使用exp 导出,imp命令来实现导入. 打开 ...
- MyEclipse的Expressions没有结果的解决办法
之前我的Expressions在Value这一列什么都不显示,就连简单的1+2结果3都不显示出来. 然后我咬咬牙把它卸载了,然后重装就好了,我也不清楚是什么原因. 1.之前我安装的目录是"C ...
- 关于PHP执行超时的问题
PHP配置文件的参数max_execution_time表示脚本执行超时时间 max_execution_time=0表示不限制 max_execution_time=2表示执行两秒后终止,同时报错F ...
- to_date()与to_char()
1.以时间(Date类型)为查询条件时,可以用to_date函数实现: select t.* from D101 t where t.d101_40 = to_date('2013/9/12', 'y ...