A1820 | 连通三元组
时间限制3s
内存限制512MB
通过 / 提交0/0
题目描述
时间限制:3000ms
内存限制:512MB
给你一个有 $N$ 个顶点的无向图 $G$ 。
$G$ 使用 $N \times N$ 的邻接矩阵 $A$ 来表示。
若 $A_{i,j} = 1$ 表示顶点 $i$ 和 $j$ 之间有一条边,否则表示顶点 $i$ 和 $j$ 之间没有边连接。
如果一个三元组 $(i, j, k)$ 满足以下条件则被称为 $\bf{连通三元组}$ $(i,j,k)$:
顶点 $i$ 与 $j$ 之间有一条边,顶点 $j$ 与 $k$ 之间有一条边,顶点 $i$ 与 $k$ 之间有一条边。
即:$A_{i, j} = A_{j, k} = A_{i, k} = 1$。
求图中满足 $1 \le i \lt j \lt k \le N$ 的 $\bf{连通三元组}$ $(i,j,k)$ 的个数。
$\large{数据范围}$
- $3 \le N \le 3000$
输入格式
对于每个测试数据格式如下:
$A_{1,1}A_{1,2}\dots A_{1,N}$
$A_{2,1}A_{2,2}\dots A_{2,N}$
$\vdots$
$A_{N,1}A_{N,2}\dots A_{N,N}$
$N$
$A_{1,1}A_{1,2}\dots A_{1,N}$
$A_{2,1}A_{2,2}\dots A_{2,N}$
$\vdots$
$A_{N,1}A_{N,2}\dots A_{N,N}$
输出格式
对于每个测试数据在单独的一行中输出答案;
输入输出样例
输入 #1
4 0011 0011 1101 1110
输出 #1
2
输入 #2
5 00000 00000 00000 00000 00000
输出 #2
0
测试样例 $1$:
三元组 $(i,j,k)$ = $(1,3,4),(2,3,4)$ 满足题目条件。
三元组 $(i,j,k)=(1,2,3)$ 不满足题目条件,因为顶点 $1$ 和 $2$ 之间没有边连接。
所以连通三元组的数量为 $2$。
测试样例 $2$:
图中不存在连通三元组。
三元组 $(i,j,k)$ = $(1,3,4),(2,3,4)$ 满足题目条件。
三元组 $(i,j,k)=(1,2,3)$ 不满足题目条件,因为顶点 $1$ 和 $2$ 之间没有边连接。
所以连通三元组的数量为 $2$。
测试样例 $2$:
图中不存在连通三元组。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?