第一题:约瑟夫环
(资料图片)
题目分析
此题我们采用C++标准库提供的list链表类进行处理,这样我们的工作就简单了,首先取出一个迭代器,让这个迭代器指向k%n的位置,然后进入出链表操作,具体为,由于每一个链表中的元素都需要erase,因此放在一个循环中,而报数到m的操作就交给另一个for循环,当然可以通过m%n的方式简化,待到迭代器指向了要出表的元素,先输出,在删去,最后判断迭代器的状态并更新;
代码如下
第二题:排列字母
题目分析
字典序,一个sort就解决;
代码如下
第三题:小明的彩灯
题目分析
按照题目描述写就行,比较简单;
代码如下
第四题:作物杂交
题目分析
这道题目使用dfs算法将变得极为简单,对于我们需要得到的品种t对其进行深度优先搜索,探寻杂交得到其的品种a,b如果已经有了a,b那么就直接得到了t,并且去更新我们的杂交时间;
代码如下
第五题:字串排序
题目分析
利用STL提供的find函数很好的能完成这个问题;
代码如下
第六题:算式问题
题目分析
这道题要抓住,1~9这九个数字都只出现一次,因此我们使用C++提供的next_premutation函数,排序这就个数即可;
代码如下
第七题:贪吃蛇长度
题目分析
此题容易,遍历这个字符串就行;
代码如下
第八题:刷题统计
题目分析
此题的数据量极大,因此如果用暴力算法将会有一些测试样例会超时;所以必须要优化算法,具体为先求出周数,再去根据剩余的题目数量去遍历;
代码如下
暴力超时算法:
优化的算法:
Copyright @ 2015-2022 西南家电网版权所有 备案号: 皖ICP备2022009963号-8 联系邮箱:39 60 29 14 2@qq.com