用C语言完成下面的问题。问题描述:给定连通的无向图G1,…,Gk,请判定它们是否为二分图。 输入格式:第一行一个整数1≤k≤30。接下来的第 i 段数据描述图Gi 。 第i段数据的第一行为n。(1<=n<=400) 接下来有一个n*n的01矩阵(每行n个数间有空格),表示图Gi 的邻接矩阵。 输出格式:为每个Gi 输出一行。Yes表示Gi 为二分图,No表示不是
时间: 2024-03-17 13:42:30 浏览: 16
好的,以下是 C 语言的实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_N 400
int graph[MAX_N][MAX_N];
int colors[MAX_N];
int n;
int is_bipartite;
void dfs(int node, int color) {
colors[node] = color;
for (int neighbor = 0; neighbor < n; neighbor++) {
if (graph[node][neighbor] == 1) {
if (colors[neighbor] == 0) {
dfs(neighbor, 3 - color);
} else if (colors[neighbor] == color) {
is_bipartite = 0;
}
}
}
}
int main() {
int k;
scanf("%d", &k);
for (int case_num = 0; case_num < k; case_num++) {
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &graph[i][j]);
}
}
is_bipartite = 1;
for (int i = 0; i < n; i++) {
colors[i] = 0;
}
for (int node = 0; node < n; node++) {
if (colors[node] == 0) {
dfs(node, 1);
}
}
printf("%s\n", is_bipartite ? "Yes" : "No");
}
return 0;
}
```
希望对你有所帮助!
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)