求助一道题目
  • 板块学术版
  • 楼主SUNCHAOYI
  • 当前回复13
  • 已保存回复13
  • 发布时间2020/6/28 21:06
  • 上次更新2023/11/6 23:56:33
查看原帖
求助一道题目
183603
SUNCHAOYI楼主2020/6/28 21:06

题目描述

有⼀个 n×nn \times n 的棋盘,每个格⼦有个坐标(x,y)(x,y)(1x,yn)(1 \le x,y \le n) 每个格⼦被染成了黑白两种颜⾊之⼀。请你计算棋盘中⿊⾊联通块个数。 两个格⼦联通当且仅当他们有⼀条相同的边。

输入

输⼊有 n+1n + 1 ⾏。第⼀⾏有⼀个整数 nn 表⽰棋盘的⻓和宽。

接下来 nn ⾏,每⾏有⼀个字符串。第 ii ⾏的字符串描述了棋盘第 ii ⾏⿊⾊区域的信息。

每个区域都有⼀个数字 jj,表⽰棋盘上 (i,j)(i,j) 左边的格⼦是⿊⾊。或者包含两个整数 j,kj,k,在字符串中表⽰为 j-k,表⽰第 ii ⾏中 [j,k][j,k] 列的部分都是⿊⾊

这样描述的区域个数不会超过 10610^6 个。

每⼀⾏字符串描述的两个区域之间会⽤ , 隔开,如果是最后⼀个区域,会在后⾯加上⼀个分号 ;。特殊的,如果某⼀⾏全是⽩⾊格⼦,那么描述这⾏的字符串只是 ;

举例说明,若棋盘⼤⼩为 55,某⼀⾏字符串信息为 2,4-5;,它描述的棋盘信息为:⽩ ⿊ ⽩ ⿊ ⿊

输出

输出包括若⼲⾏,每⾏有两个整数 ssnnss 表⽰联通块的⼤⼩,nn 表⽰所有联通块中,⼤⼩恰好为 ss 的联通块个数。

请按照联通块的⼤⼩,从⼤到⼩顺序输出。

数据范围

对于 100%100\% 的数据,1n3×1041 \le n \le 3 \times 10^4

样例输入

8
2,4-5; 
5-6; 
2-3,6; 
6-7; 
;
2-4; 
2,4,6-7; 
2-3,6-7;

样例输出

7 2 
4 1 
2 1 
1 1

请问各位大佬有什么做法可以不 MLE 呢?(本蒟蒻一下子想不出来了)

2020/6/28 21:06
加载中...