0318 【13NOIP普及组】车站分级 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

0318

【13NOIP普及组】车站分级

Hard 时间限制 1000 ms 内存限制 262144 KB
拓扑排序 记忆化搜索

题目详情

返回题库

题目描述

一条单向的铁路线上,依次有编号为 1,2,…,n  的 n  个火车站。每个火车站都有一个级别,最低为 1  级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x ,则始发站、终点站之间所有级别大于等于火车站 x  的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)

例如,下表是 5  趟车次的运行情况。其中,前 4  趟车次均满足要求,而第 5  趟车次由于停靠了 3  号火车站(2  级)却未停靠途经的 6  号火车站(亦为 2  级)而不满足要求。

1964.gif

现有 m  趟车次的运行情况(全部满足要求),试推算这 n  个火车站至少分为几个不同的级别。

输入描述

第一行包含2个正整数n,m,用一个空格隔开。

第i+1行(1≤i≤m)中,首先是一个正整数si(2≤si≤n),表示第i趟车次有si个停靠站;接下来有si个正整数,表示所有停靠站的编号,从小到大排列。每两个数之间用一个空格隔开。输入保证所有的车次都满足要求。

【数据范围】

对于 20%的数据,1≤n,m≤10 ;

对于 50%的数据,1≤n,m≤100 ;

对于 100%的数据,1≤n,m≤1000 。

输出描述

输出只有一行,包含一个正整数,即n个火车站最少划分的级别数。

测试样例

样例支持多行内容展示
样例1
输入
9 2
4 1 3 5 6
3 3 5 6
输出
2
样例2
输入
9 3
4 1 3 5 6
3 3 5 6
3 1 5 9
输出
3
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。