关注
import java.util.ArrayList;
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
while(s.hasNext()){
String[] ss = s.nextLine().split("\\s+");
int n = Integer.parseInt(ss[0]);//n条
int m = Integer.parseInt(ss[1]); //间隔
int c = Integer.parseInt(ss[2]);//颜色数量
ArrayList<ArrayList<Integer>> list = new ArrayList<>();
for(int i =0; i <n; i++){
String[] str = s.nextLine().split("\\s+");
ArrayList<Integer> arr = new ArrayList<>();
for(int j= 0; j<str.length; j++){
arr.add(Integer.parseInt(str[j]));
}
int zhonglei = arr.remove(0);
if(zhonglei == 0)
arr.add(-1);
list.add(arr);
}
ArrayList<ArrayList<Integer>> list1 = new ArrayList<>();
for(int i=1; i<=c; i++){
ArrayList<Integer> arr = new ArrayList<>();
for(int j=0; j<list.size(); j++){
if(list.get(j).contains(i)){
arr.add(j+1); // 存储相同颜色所在的串序号
}
}
list1.add(arr);
}
int countColor=0;
for(int i=0; i<list1.size();i++){ // 每个组进行判断
if(list1.get(i).size()==1){ //相同颜色组只有一个元素跳过
continue;
}
// size>=2 判断最后一个和第一个相差多远
if(list1.get(i).get(0)+list1.get(i).size()-list1.get(i).get(list1.get(i).size()-1)-1<m){
countColor++;
continue;
}
//判断相邻的相差多远
for(int j=0; j<list1.get(i).size()-1;j++){
if(list1.get(i).get(j+1)-list1.get(i).get(j)<m){
countColor++;
break;
}
}
}
System.out.println(countColor);
}
}
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 从顶到拉给所有面过的公司评分 #
23400次浏览 192人参与
# 机械人春招想让哪家公司来捞你? #
357788次浏览 3109人参与
# 为了求职,我做过的疯狂伪装 #
13730次浏览 276人参与
# 校招笔试 #
1343次浏览 34人参与
# 职场破冰,你们都聊什么? #
8020次浏览 79人参与
# 晒晒你的中秋福利 #
15782次浏览 120人参与
# 大家实习每天都在干啥 #
89451次浏览 518人参与
# 你的公司给实习生发中秋礼物吗 #
2448次浏览 31人参与
# 机械笔面试考察这些知识点 #
10858次浏览 96人参与
# bilibili求职进展汇总 #
91457次浏览 819人参与
# 工作压力大怎么缓解 #
105614次浏览 1053人参与
# 秋招OC许愿 #
347591次浏览 2531人参与
# 广联达求职进展汇总 #
11417次浏览 50人参与
# 机械人怎么评价今年的华为 #
209377次浏览 1525人参与
# 宣讲会你有哪些意向不到的收获 #
1898次浏览 23人参与
# 聊聊这家公司值得去吗 #
561165次浏览 3717人参与
# 你面试被问到过哪些不会的问题? #
23572次浏览 848人参与
# 百度秋招提前批进度 #
151191次浏览 1771人参与
# 电网笔面经互助 #
47138次浏览 431人参与
# 秋招的嫡长offer #
33105次浏览 298人参与