CF1495D.BFS Trees

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

We define a spanning tree of a graph to be a BFS tree rooted at vertex ss if and only if for every node tt the shortest distance between ss and tt in the graph is equal to the shortest distance between ss and tt in the spanning tree.

Given a graph, we define f(x,y)f(x,y) to be the number of spanning trees of that graph that are BFS trees rooted at vertices xx and yy at the same time.

You are given an undirected connected graph with nn vertices and mm edges. Calculate f(i,j)f(i,j) for all ii , jj by modulo 998244353998\,244\,353 .

输入格式

The first line contains two integers nn , mm ( 1n4001 \le n \le 400 , 0m6000 \le m \le 600 ) — the number of vertices and the number of edges in the graph.

The ii -th of the next mm lines contains two integers aia_i , bib_i ( 1ai,bin1 \leq a_i, b_i \leq n , ai<bia_i < b_i ), representing an edge connecting aia_i and bib_i .

It is guaranteed that all edges are distinct and the graph is connected.

输出格式

Print nn lines, each consisting of nn integers.

The integer printed in the row ii and the column jj should be f(i,j)mod998244353f(i,j) \bmod 998\,244\,353 .

输入输出样例

  • 输入#1

    4 4
    1 2
    2 3
    3 4
    1 4

    输出#1

    2 1 0 1
    1 2 1 0
    0 1 2 1
    1 0 1 2
  • 输入#2

    8 9
    1 2
    1 3
    1 4
    2 7
    3 5
    3 6
    4 8
    2 3
    3 4

    输出#2

    1 0 0 0 0 0 0 0
    0 2 0 0 0 0 2 0
    0 0 1 0 1 1 0 0
    0 0 0 2 0 0 0 2
    0 0 1 0 1 1 0 0
    0 0 1 0 1 1 0 0
    0 2 0 0 0 0 2 0
    0 0 0 2 0 0 0 2

说明/提示

The following picture describes the first example.

The tree with red edges is a BFS tree rooted at both 11 and 22 .

Similarly, the BFS tree for other adjacent pairs of vertices can be generated in this way.

首页