当前位置:网站首页>POJ 1182: food chain (parallel search) [easy to understand]
POJ 1182: food chain (parallel search) [easy to understand]
2022-07-07 19:11:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack .
Time Limit: 1000MS | Memory Limit: 10000K | |
|---|---|---|
Total Submissions: 43526 | Accepted: 12679 |
Description
There are three kinds of animals in the animal kingdom A,B,C, The food chain of these three kinds of animals forms an interesting ring .A eat B, B eat C,C eat A.
existing N Animals , With 1-N Number .
Every animal is A,B,C One of the , But we don't know what kind it is . There are two ways of saying it N Describe the food chain relationship formed by animals : The first is ”1 X Y”, Express X and Y It's the same kind .
Another way of saying it ”2 X Y”. Express X eat Y. This man is right N Animals . Use the two statements above . Say... Sentence by sentence K Sentence . this K Some sentences are true . Some are fake .
When a sentence satisfies one of the following three , This is a lie , Otherwise, it's the truth . 1) The current words conflict with some of the real words in front . It's a lie ; 2) In the current conversation X or Y Than N Big . It's a lie . 3) The current words mean X eat X, It's a lie . Your task is based on the given N(1 <= N <= 50,000) and K Sentence (0 <= K <= 100,000), The total number of output lies .
Input
The first line is two integers N and K, Separated by a space .
below K Each row is three positive integers D,X,Y. Separate the two numbers with a space . among D The type of statement . if D=1, said X and Y It's the same kind . if D=2, said X eat Y.
Output
There is only one integer . The number of lies .
Sample Input
100 7
1 101 1
2 1 2
2 2 3
2 3 3
1 1 3
2 3 1
1 5 5Sample Output
3ok ..
This article is indeed the most specific .. Click to open the link
After reading it, I have a deeper understanding of union search ...
Weak food would like to thank the blogger ..
Also, I made a mistake when I used multiple input for this problem ..
It took me a long time ..
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<sstream>
#include<cmath>
using namespace std;
#define M 100500
int n;
int k;
int d;
int x;
int y;
int p[M];
int r[M];
int ans;
void start()
{
for(int i=1; i<=n; i++)
{
p[i]=i; // Initialize and query set
r[i]=0; // On initialization . Each element as a set , Its element is 1
}
}
int find(int x) // And look up the collection find
{
if( p[x]==x )
return x;
else
{
int t = p[x];
p[x] = find ( p[x] );
r[x] = (r[x]+r[t])%3;
return p[x];
}
}
void Kruskal(int x, int y, int d)
{
int xx = find(x);
int yy = find(y);
p[yy] = xx;
r[yy] = (r[x]-r[y]+3+(d-1))%3;
}
int main()
{
scanf("%d%d", &n, &k);
start();
ans = 0;
for(int i=1; i<=k; i++)
{
scanf("%d%d%d", &d, &x, &y);
if(x>n || y>n || (d==2&&x==y))
ans++;
else if( find(x) == find(y) )
{
if( d==1 && r[x]!=r[y] )
ans++;
if( d==2 && (r[x]+1)%3 != r[y] )
ans++;
}
else
Kruskal(x, y, d);
}
printf("%d\n", ans);
return 0;
}Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/116605.html Link to the original text :https://javaforall.cn
边栏推荐
- [sword finger offer] 59 - I. maximum value of sliding window
- 2022.07.02
- Flipping Game(枚举)
- Learn open62541 -- [67] add custom enum and display name
- Is AI more fair than people in the distribution of wealth? Research on multiplayer game from deepmind
- 线程池中的线程工厂
- How to choose the appropriate automated testing tools?
- 数据验证框架 Apache BVal 再使用
- Review of network attack and defense
- [HDU] 5248 sequence transformation (greedy + dichotomy) [recommended collection]
猜你喜欢

6. About JWT

微服务远程Debug,Nocalhost + Rainbond微服务开发第二弹

如何给“不卖笔”的晨光估值?

cmd命令进入MySQL时报服务名或者命令错误(傻瓜式教学)

RISCV64

Tsinghua, Cambridge and UIC jointly launched the first Chinese fact verification data set: evidence-based, covering many fields such as medical society
![[C language] string function](/img/6c/c77e8ed5bf383b7c656f45b361940f.png)
[C language] string function

SD_ DATA_ RECEIVE_ SHIFT_ REGISTER

高温火烧浑不怕,钟薛高想留清白在人间

Wireshark analyzes packet capture data * cap
随机推荐
Tapdata 的 2.0 版 ,开源的 Live Data Platform 现已发布
Will domestic software testing be biased
SD_ DATA_ RECEIVE_ SHIFT_ REGISTER
RISCV64
Cadre de validation des données Apache bval réutilisé
单臂路由和三层交换的简单配置
【MIME笔记】
Short selling, overprinting and stock keeping, Oriental selection actually sold 2.66 million books in Tiktok in one month
Draw squares with Obama (Lua)
ES6 note 1
初识缓存以及ehcache初体验「建议收藏」
二叉树的基本概念和性质
The moveposition function of rigidbody2d of unity2d solves the problem of people or screen jitter when moving
Tsinghua, Cambridge and UIC jointly launched the first Chinese fact verification data set: evidence-based, covering many fields such as medical society
Do you know all four common cache modes?
国内首次!这家中国企业的语言AI实力被公认全球No.2!仅次于谷歌
Simple configuration of single arm routing and layer 3 switching
LeetCode 890(C#)
来了!GaussDB(for Cassandra)新特性亮相
Redis