21xrx.com
2024-09-19 09:52:50 Thursday
登录
文章检索 我的文章 写文章
蓝桥杯C/C++历年考试B组真题含答案
2023-07-05 03:55:39 深夜i     --     --
蓝桥杯 C/C++ 历年考试 B组 真题 答案

近年来,程序设计语言已经越来越受到大家的关注。尤其是近几年来,IT行业人才的需求量越来越大,不少年轻人也开始学习各种编程语言。而在这些编程语言之中,最为出名的应该就是C/C++语言了。

而蓝桥杯则是全国最著名的一项程序设计大赛,而在该项比赛中,C/C++语言的应用也是非常多的。因此,了解蓝桥杯C/C++历年考试题目,对于热爱C/C++编程的人来说,也是非常必要的。

下面,我们就来介绍一下蓝桥杯C/C++历年考试B组真题及其答案:

1. 【题目描述】

  小明最近学习了分形图形,他十分感兴趣。于是他编写了一个小程序,用来绘制下面这个图形。

  图中的三角形由黑色的线段组成,一共有n(n≥1)层。第1层是边长为1的等边三角形;第i层是第i-1层的三角形的每条边都以原来的一半为边长组成的三角形(具体见样例)。

  小明不满足于此,他希望能用红、绿、蓝三种颜色给所有的线段上色。他希望相邻的边的颜色不全相同。请你帮助小明计算,他需要最少涂几条边才能满足要求。

  【样例输入】

  2

  【样例输出】

  3

  【答案解析】

  在样例中,一个最优的涂色方案是:对于第1层三角形,涂上RGB三色中的任意两种;对于第2层三角形,涂上还没有被它任何一条边共用的一种颜色即可。这样涂色的总条数为3。

2. 【题目描述】

  一张无向联通图的 割边 是指在去掉这条边后图不再连通。给定一张 n 个点 m 条边的无向联通图,试求出这张图的割边。

  【输入输出格式】

  输入格式:

  第一行两个正整数 n,m。

  接下来 m 行每行都有两个整数 u, v (1≤u,v≤n) 表示一条边,输入保证不会重边

  输出格式:

  第一行一个整数 k 表示割边的数量

  接下来 k 行每行两个整数 u, v (1≤u,v≤n) 表示一条割边,输出的边可以 任意顺序,割边的数量必须正确。

  【样例输入】

  5 5

  1 2

  1 3

  1 4

  2 3

  4 5

  【样例输出】

  2

  1 4

  4 5

  【答案解析】

  本题思路较为复杂,需要使用Tarjan算法进行求解,详细算法原理可以查阅相关资料。这里就不再赘述。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复