Java实现 洛谷 P2024 [NOI2001]食物链
JAVA 实现 洛谷
2023-09-14 08:58:08 时间
输入输出样例
输入 #1
100 7
1 101 1
2 1 2
2 2 3
2 3 3
1 1 3
2 3 1
1 5 5
输出 #1
3
import java.util.Scanner;
public class Main {
static int x[],sum=0;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int m=sc.nextInt();
x=new int[n*4];//储存祖宗,储存每个对象以及天敌,所捕食动物
for (int i = 0; i < x.length; i++) {
x[i]=i;
}
TO:
for (int i = 0; i <m; i++) {
int a=sc.nextInt();
int b=sc.nextInt();
int c=sc.nextInt();
if(c>n||b>n){
sum++;
continue TO;
}
if(a==2){
if(c==b){
sum++;
continue TO;
}
}
if(a==1){
if(find(b+n)==find(c)||find(b+2*n)==find(c)){
sum++;
continue TO;
}else{
contic(b,c);contic(b+n,c+n);contic(b+2*n,c+2*n);
}
}
if(a==2){
if(find(b)==find(c)||find(b+2*n)==find(c)){
sum++;
continue TO;
}else{
contic(b+n,c);contic(b+2*n,c+n);contic(c+2*n,b);
}
}
}
System.out.println(sum);
}
public static int find(int p){
return x[p]==p?p:find(x[p]);
}
public static void contic(int q,int p){
int Q=find(q);
int P=find(p);
if(Q==P){
return;
}
x[Q]=P;
}
}
相关文章
- Java实现 LeetCode 463 岛屿的周长
- Java实现 LeetCode 282 给表达式添加运算符
- Java实现 LeetCode 1227 飞机座位分配概率
- Java实现 洛谷 P1170 兔八哥与猎人
- Java实现 洛谷 P1980 计数问题
- Java实现 洛谷 P1036 选数
- Java实现 洛谷 P1487 陶陶摘苹果(升级版)
- java实现 洛谷 P1014 Cantor表
- java实现 洛谷 P1014 Cantor表
- Java实现 洛谷 P1426 小鱼会有危险吗
- java实现 洛谷 P1464 Function
- java实现 洛谷 P1018 乘积最大
- java实现洛谷P1308统计单词数
- java实现第七届蓝桥杯反幻方
- java实现第七届蓝桥杯路径之谜
- Java实现第八届蓝桥杯魔方状态
- Java实现第十届蓝桥杯组队
- Java实现 蓝桥杯 历届试题幸运数
- Java实现迷宫城堡(强连通图的判定)
- Java实现 蓝桥杯 算法训练 未名湖边的烦恼
- (Java实现) 洛谷 P1115 最大子段和
- (Java实现) 洛谷 P1028 数的计算
- Java实现 洛谷 P1064 金明的预算方案
- Java实现洛谷 P1007独木桥
- Java实现蓝桥杯 最短路
- java判定数据(对象)类型
- 编程笔试(解析及代码实现):猴子吃桃。猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个…的C++、Java、Python、C#等语言代码实现
- 蓝桥杯2011省赛——基因牛(Java实现)
- [转]java设计模式
- ZZNUOJ_用Java编写程序实现1569:素 数(附源码)
- 数据结构 —— 树4种遍历,java代码实现
- 洛谷——P1910 L国的战斗之间谍(java实现)