编程题
### 问题描述 有人说历史是个轮回,总有些事件是在往复循环发生的。但这不代表所有字面上看起来有相似的事件都可以联系起来一起讲,但总有些人喜欢这样贯穿古今。就比如小河的历史老师,只要发现有两件历史事件当中的一些关键词(比如年份、名称等)有一定相似,无论这俩历史事件实际上多么不相关,都能被拿来一起讲。最终一节课下来,在小河的脑海里,社会契约论(注:欧洲启蒙运动时期卢梭等人提出的思想)被记在了我国知名思想家老子的头上。 小河感到哭笑不得,于是决定研究一下她的老师这么讲课到底能把课讲得多混乱。她整理出了分属于 $m$ 个不同主题的 $n$ 件历史事件,每个事件分别提供两个关键词和所属的主题。为了简化处理,她已经给所有的关键词和所有的主题分别标了序号。序号不同的主题之间不能说是毫无关联,只能说是一点都不搭边。但只要两个事件的两个关键词都相同,那么这两件历史事件以及它们所属的主题就会被老师在丝毫不顾及关联性的前提下拿到一起讲,并且由此延伸到这一主题所涉及的其他事件,而其他事件又可能延伸到关键词相同但属于其他主题的另一事件。如此下去,小河想知道,老师最终到底能把多少个毫不相关的主题放到一起讲呢? ### 输入格式 第一行为两个数 $n,m$,分别表示事件的数量和主题的数量。 第二行到第 $n+1$ 行,每行三个数。其中对于第 $i+1$ 行的三个数 $a[i],b[i],c[i]$,$a[i]$ 和 $b[i]$ 分别表示第 $i$ 件事件的两个关键词的序号,$c[i]$ 表示所属主题的序号。 ### 输出格式 一个数字,表示最多有多少个主题能够依据题意被联系在一起。 ### 样例输入 ```text 4 3 1 2 1 5 3 2 7 2 3 2 7 2 ``` ### 样例输出 ```text 2 ``` ### 说明/提示 $n\leq 80000$;$m\leq 10000$;$1\leq a[i],b[i]\leq 800$;$1\leq c[i]\leq m$。 注意:$a[i]$ 与 $b[i]$ 所指的关键词为同一套关键词,即 $a[i]=x,b[i]=y$ 与 $a[i]=y,b[i]=x$ 等价,且数据保证对于任意 $1\leq i\leq n$,都满足 $a[i]$ 与 $b[i]$ 不相等。 另:感谢B站UP主 @河约礼 的单口喜剧视频为本题提供了灵感。
查看答案
赣ICP备20007335号-2