C C++最全【华为OD】C卷真题200分:服务器广播 C C++代码实现[思路(1),C C++基础语言教程
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
3 1 说明 3台服务器互不连接,所以需要分别广播这3台服务器 1 输入 1 1 1 1 12 输出 1 1 说明 2台服务器相互连接,所以只需要广播其中一台服务器 1879
±–+
3 | | ++ + ±–|
| | | 3 + 6 + | + | +
| + | | + + + | + | +
| + | ±–+ + + +++++ + + + | +
| + | + | + ±—+ | | + + + | +
| + 3 | + | + + + 2 | | 2 + + + | +
| + | + | + + + | | + + + | +
| ±–+ + | | | + ----+ | ±–+ | | + | +
| | + | | | + | | | | | | + | +
| 1 | + | 8 | | + 1 | | | 1 | | 1 | | + | +
| | + | | | + | | | | | | | + | +
| ±–+ + ±–+ | +±–+ ++ ±–+ ±–+ | + | +
| | + | | | ++ | | |+ | +
|0 | + | 0 | 0 | ++ | 0 | |+ | +
| | + | | | ++ | | |+ | +
±–+ + ±------+ ±–+| +|+ | +
+ + | +
0 1 2 3 4 5 6 7 8 9 10 11 12 + v: w u m u 1 0 2 4题目解析:
使用递归的方式来实现即可
代码实现:
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream> using namespace std; #define MAX_NODE 40 int g_arr[MAX_NODE][MAX_NODE]; int g_cnt = 0; void reset(int *pNode, int idx); void readfirst() { do { scanf("%d", &g_arr[0][g_cnt]); ++g_cnt; } while (getchar() != \n); } void readlast() { for (int i = 1; i < g_cnt; i++) { for (int j = 0; j < g_cnt; j++) { scanf("%d", &g_arr[i][j]); } } } int main() { readfirst(); readlast(); int *buf = new int[g_cnt]; memset(buf, -1, g_cnt * sizeof(int)); int total = 0; for (int i = 0; i < g_cnt; i++) { if (buf[i] == -1) { total += 1; reset(buf, i); } } ![img](https://img-blog.csdnimg.cn/img_convert/d7c4f61723d12471243d52e1a7504012.png) ![img](https://img-blog.csdnimg.cn/img_convert/80eaf95a028e6542000ee1945bfa6aaf.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!** **由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新** **[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)** 正体系化!** **由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新** **[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**Ongwu博客 版权声明:以上内容未经允许不得转载!授权事宜或对内容有异议或投诉,请联系站长,将尽快回复您,谢谢合作!