竞赛总览

CSDN 编程竞赛二十五期:比赛详情 (csdn.net)

本期竞赛第一题完成之后,提交代码显示运行中。自测也一直显示运行中,不能得到测试结果。

于是又赶紧完成第二题,但也显示运行中。

第三题大概写了一下,打了个模板,结果也显示运行中。

尝试刷新页面,结果刷新完竟然好了,提交代码之后能显示出报错信息了。不得不说,这个在线IDE的bug真的有点多。建议效仿其它平台,通过安装浏览器插件的方式检测切屏等行为,这样的话就可以使用本地IDE调试了,竞赛体验会好很多。

竞赛题解

题目1、分层遍历二叉树

给定一棵二叉树,节点定义如下: structNode { Node *pLeft; Node *pRight; int data; }; 要求按分层遍历该二叉树,即从上到下按层次访问该二叉树(每一层将单独输出一行),每一层要求访问的顺序为从左到右,并将节点依次编号。

题目给定的输入格式特别离谱(当然,如果按照正常的树节点输入方式给数字,空节点输入null的话,这道题就不用做了;所以对于此题来说,这是在情理之中的)。

以题目给的样例为例(实际上,数据中没有空格,这里的空格是为了排版美观而添加的):

// 输入1 (2 (4, 5 (7, 8)), 3, (6))// 输出1
23
456
78
// 输入1 (,)// 输出1

两个样例还是挺有特点的,第一个样例给出了一种普遍情况,第二个样例给出了一种极端情况。

第二十三期竞赛中出过一次类似的异形格式输入数据的题目,所以后来专门练习了一下这种数据的输入方法,这次比赛的处理速度得到了明显提升。

处理时,逐个字符读入。因为输入是一行,也可以直接当字符串读入,再逐个字符处理。

遇到的字符分为四类:左括号、右括号、逗号、数字。使用一个变量记录当前所在的层次。树根(开始输入字符之前)的层次为零。

为每个层次准备一个容器,存储其中的数字。容器可以选用vector,也可以直接用string。

1、左括号

遇到左括号,说明进入了树的下一层。层次+1。

2、右括号

遇到右括号,说明进入了树的上一层。层次-1。

3、逗号

遇到逗号,层次不变。

4、数字

遇到数字,将其记录到一个临时字符串中。待遇到特殊符号时,如果记录的临时内容非空,将其存储到对应层次中。

所有字符都处理完成之后,逐层输出存储的数据即可。如果某一层没有存储任何数据,说明树的深度没有达到该层,即后续层次存储的数据也为空,此时可直接跳出循环。

这里的坑与二十三期竞赛时的坑基本一致,即最后一次输入数据需要单独处理,否则可能会遗漏末尾的节点。

题目2、查找整数

给定一个非降序的整数数组,数组中包含重复数字(重复数字很多),给定任意整数,对数组进行二分查找,返回数组正确的位置,给出函数实现。a.连续相同的数字,返回最后一个匹配的位置。b.如果数字不存在返回 -1。

这道题为了节省时间,直接暴力解决了。

#include <cstdio>int data [10005];int main () {int result = -1;int n, m, t = 0;scanf ("%d", &n);scanf ("%d", &m);for (int i = 0; i < n; i++) scanf ("%d", &data [i]);for (int i = n + result; i > result; i--) {if (data [i] == m) {result = i;break;}}return 0;
}

暴力查找可以直接从前往后查找,不过由于数据可能会出现多次,找到一次时不能立刻跳出循环。

但是题目中提到,数据已经按升序顺序排列好了。借助这一特性,可以直接从后往前查找,这样找到一次即可跳出循环。这种改进方法,编写起来简单,代码的运行效率也更高了,可谓一举两得。

题目3、小Q整数分割

小Q决定把一个整数n,分割为k个整数。每个整数必须大于等于1。小Q有多少方案。

这道题目的思路很多,正向思维可以使用递归算法解决;如果用逆向思维,可以使用排列组合中的隔板法解决(转化为n选k问题)。

题目4、水池注水

给定n*n水池。向n*n水池中注水。每行每列只能注水一个方格。如果一个方格的四周有两个方格已经被水覆盖,则该方格也会被水覆盖。小Q想知道自己有多少种方案可以使得自己的水池被完全覆盖。

注水问题又一次出现了!之前几期竞赛考过接雨水的二维和一维积水量题目,这次变成主动注水了。此题可以使用动态规划方法解决,也可以使用搜索方法解决(博主未测试,可能遇到坑而无法得到满分)。

CSDN 编程竞赛二十五期题解相关推荐

  1. CSDN 编程竞赛二十八期题解

    竞赛总览 CSDN 编程竞赛二十八期:比赛详情 (csdn.net) 本期竞赛的题目都很简单,但是非常考验读题和编码速度.这一次没有遇到bug,竞赛体验较好. 竞赛题解 题目1.小Q的鲜榨柠檬汁 团建 ...

  2. CSDN 编程竞赛二十四期题解

    竞赛总览 CSDN 编程竞赛二十四期:比赛详情 (csdn.net) 本次竞赛感觉打模板的题变少了,而且多了很多可以集思广益的题目,参赛体验很好. 竞赛题解 题目1.计数问题 试计算在区间1到n的所有 ...

  3. CSDN 编程竞赛二十九期题解

    竞赛总览 CSDN 编程竞赛二十九期:比赛详情 (csdn.net) 竞赛题解 题目1.订班服 小A班级订班服了!可是小A是个小糊涂鬼,整错了好多人的衣服的大小.小A只能自己掏钱包来补钱了.小A想知道 ...

  4. CSDN 编程竞赛二十一期题解

    竞赛总览 CSDN 编程竞赛二十一期:比赛详情 (csdn.net) 竞赛题解 题目1.合并序列 有N个单词和字符串T,按字典序输出以字符串T为前缀的所有单词. #include <cstdio ...

  5. CSDN 编程竞赛二十三期题解

    竞赛总览 CSDN 编程竞赛二十三期:比赛详情 (csdn.net) 竞赛题解 题目1.排查网络故障 A地跟B地的网络中间有n个节点(不包括A地和B地),相邻的两个节点是通过网线连接的.正常的情况下, ...

  6. CSDN 编程竞赛二十七期题解

    竞赛总览 CSDN 编程竞赛二十七期:比赛详情 (csdn.net) 四道题都不难,本来十分钟内就可以解决,但是这次竞赛bug比较多,体验不是很好. 竞赛题解 题目1.幸运数字 小艺定义一个幸运数字的 ...

  7. CSDN 编程竞赛三十一期题解

    竞赛总览 CSDN 编程竞赛三十一期:比赛详情 (csdn.net) 本次竞赛的最后一道题的描述部分有些问题(题目描述与样例不符),另外,测试数据似乎也有点问题,试了多种方式,但最多只能通过10%的测 ...

  8. CSDN 编程竞赛三十二期题解

    竞赛总览 CSDN 编程竞赛三十二期:比赛详情 (csdn.net) 竞赛题解 题目1.传奇霸业 传奇霸业,是兄弟就来干.小春(HP为a)遇到了一只黄金哥布林(HP为x).小春每次能对哥布林造成b点伤 ...

  9. CSDN 编程竞赛五十五期题解

    竞赛总览 CSDN 编程竞赛五十五期:比赛详情 (csdn.net) 吐槽:填空题参考答案错误,赛后竟然没有修正-- 竞赛题解 题目1.取石子 将n堆石子摆成一排.游戏规则:两人轮流从最左或最右的一堆 ...

最新文章

  1. 视频播放器——开源免费三大代表
  2. 判断两个学生类对象是否一致使用equals方法重写时判断条件使用“==”、“String自带的equals”不同所带来的问题
  3. Hadoop入门基础教程 Hadoop之伪分布式环境搭建
  4. 没有共享存储和仲裁盘的SQL Server 2012HADR故障手动切换TSQL
  5. WebAPI——自动生成帮助文档
  6. 鸿蒙荣耀9X公测,荣耀9X系列手机开启EMUI 10公测更新
  7. 自动驾驶之多传感器融合-硬件篇(激光雷达)
  8. matlab实现epirb调制,[单选] 根据《建筑安装工程费用项目组成》(建标[2003]206号)的规定,下列属于直接工程费中材料费的是()。...
  9. threejs给gltf模型贴图出现纹理错乱,贴图歪曲解决办法
  10. java自画快递单,使用画图功能绘制快递单,并调用打印机打印
  11. 【Get深一度】小波分析概念3——正则性是什么意思,通俗解释
  12. java课设迷宫游戏_Java课程设计走迷宫.doc
  13. Nginx常用的模块
  14. windows,打印机无打印任务,仍不断打印
  15. 在服务器上如何打开aspx文件,aspx是什么文件_aspx用什么软件打开
  16. python中utf-8编码_Python 使用 UTF-8 编码(转)
  17. 从零开始编写一个微信小程序(微信开发者工具+JS+WuxUI组件库+云开发)万字整理,建议收藏!
  18. loopback地址是什么?怎么配置
  19. 医院PACS系统工作原理
  20. 解决 用vue+vant 写顶部tab栏 做排班表的bug

热门文章

  1. 伪静态与重定向--RewriteRule解释的比较清楚
  2. Proteus8.9 仿真STM32407ZGT6系列001_走马灯
  3. PostgreSQL学习总结(十七)——(客户端命令<一>)
  4. 10.16 my学习日记 (XPath的基础语法,lxml库的应用)
  5. va_start和va_end详解
  6. 关闭云鲸拖地机器人风干_【未来科技范】评测云鲸拖地机器人:看它是怎么拖完地自己清洗抹布的...
  7. 100个高频口语小词
  8. 【忆暖行动】志愿者招募
  9. 五天学会Pytorch
  10. ISP IAP(转自EETOP)