CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16

文章目录

  • 第六期竞赛题目
    • 一、严查枪火
      • 1、题目描述
      • 2、代码实现
    • 二、鬼画符门
      • 1、题目描述
      • 2、代码实现
    • 三、收邮件箱
      • 1、题目描述
      • 2、代码实现
    • 四、最长递增的区间长度
      • 1、题目描述
      • 2、代码实现

第六期竞赛题目

一、严查枪火

1、题目描述

  X国最近开始严查枪火。像是 “ a k ” “ak” “ak”, “ m 4 a 1 ” “m4a1” “m4a1”, “ s k r ” “skr” “skr”都是明令禁止的。 现在小Q查获了一批违禁物品,其中部分是枪支。小Q想知道自己需要按照私藏枪火来关押多少人。 (只有以上三种枪被视为违法)

  • 输入描述: 第一行输入整数 n ( 1 ≤ n ≤ 1000 ) n(1≤n≤1000) n(1≤n≤1000)表示携带违禁物品的人数。以下 n n n 行表示违禁物品的名称。
  • 输出描述: 输出需要按照私藏枪火来关押的人。

示例:

输入:3
   Dsd
   ak
   232asd
输出:1

2、代码实现

解题步骤如下:

  1. 依次读取输入的每个字符串,统计读取到的字符串中 “ a k ” “ak” “ak”, “ m 4 a 1 ” “m4a1” “m4a1”和 “ s k r ” “skr” “skr”的个数并进行输出。

代码如下:

//严查枪火
#include <iostream>
#include <string>
using namespace std;
int main()
{int n = 0;cin >> n;string s;int count = 0;for (int i = 0; i < n; i++){cin >> s;if (s == "ak" || s == "m4a1" || s == "skr")count++;}cout << count << endl;return 0;
}

二、鬼画符门

1、题目描述

  鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理,但是这次鬼艺接手了,你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗?

  • 输入描述: 第一行输入整数 n ( 1 ≤ n ≤ 1000 ) n(1≤n≤1000) n(1≤n≤1000),以下 n n n 行输入 n n n 个字符串,代表消耗的鬼画符。
  • 输出描述: 输出消耗数量最多的鬼画符(字符串),无需考虑多种鬼画符消耗数量相同的情况。

示例:

输入:5
   red
   red
   green
   green
   hen
输出:red

2、代码实现

解题步骤如下:

  1. 借助unordered_map容器统计每个鬼画符消耗的数量。
  2. 遍历unordered_map容器,找出消耗数量最多的鬼画符。

代码如下:

//鬼画符门
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{int n = 0;cin >> n;//统计每个鬼画符消耗的数量unordered_map<string, int> um;string s;for (int i = 0; i < n; i++){cin >> s;um[s]++;}//找出消耗数量最多的鬼画符int mCount = 0;string ret;for (auto e : um){if (e.second > mCount){mCount = e.second;ret = e.first;}}cout << ret << endl;return 0;
}

三、收邮件箱

1、题目描述

  已知字符串 s t r str str, s t r str str 表示邮箱的不标准格式。其中 “ . ” “.” “.”会被记录成 “ d o t ” “dot” “dot”, “ @ ” “@” “@”会被记录成 “ a t ” “at” “at”。
  写一个程序将 s t r str str 转换成可用的邮箱格式。(可用格式中字符串中除了开头结尾,所有 “ d o t ” “dot” “dot”都会被转换, “ a t ” “at” “at”只会被转换一次,开头结尾的不转换)

  • 输入描述: 输入字符串 s t r ( 1 ≤ s t r l e n ( s t r ) ≤ 1000 ) str(1≤strlen(str)≤1000) str(1≤strlen(str)≤1000)。
  • 输出描述: 输出转换后的格式。

示例:

输入:mxyatoxcoderdotcom
输出:mxy@oxcoder.com

2、代码实现

解题步骤如下:

  1. 依次遍历所给字符串中的每个字符。
  2. 当遍历到连续的‘d’、‘o’、‘t’字符时,如果‘d’字符不位于字符串开头,并且‘t’字符不位于字符串结尾,则将这三个字符串转换成‘.’。
  3. 当遍历到连续的‘a’、‘t’字符时,如果‘a’字符不位于字符串开头,并且‘t’字符不位于字符串结尾,并且之前没有转换过‘at’,则将这两个字符串转换成‘@’。

代码如下:

//收邮件箱
#include <iostream>
#include <string>
using namespace std;
int main()
{string str;cin >> str;string ret;size_t pos = 0;bool flag = false;while (pos < str.size()){if ((pos != 0) && (pos + 2 != str.size() - 1) &&(str[pos] == 'd') && (pos + 1 < str.size() && str[pos + 1] == 'o') && (pos + 2 < str.size() && str[pos + 2] == 't')){ret += '.';pos += 3;}else if ((flag == false) && (pos != 0) && (pos + 1 != str.size() - 1) &&(str[pos] == 'a') &&(pos + 1 < str.size() && str[pos + 1] == 't')){ret += '@';pos += 2;flag = true;}else{ret += str[pos];pos++;}}cout << ret << endl;return 0;
}

四、最长递增的区间长度

1、题目描述

  给一个无序数组,求最长递增的区间长度,如:[5, 2, 3, 8, 1, 9],最长区间2, 3, 8长度为3。

  • 输入描述: 第一行输入整数 n ( 1 ≤ n ≤ 1000 ) n(1≤n≤1000) n(1≤n≤1000)表示数组的大小,第二行给出 n n n 个整数 a ( − 1 e 9 ≤ a ≤ 1 e 9 ) a(-1e^9≤a≤1e^9) a(−1e9≤a≤1e9)。
  • 输出描述: 输出数组中最长递增区间的长度。

示例:

输入:6
   5 2 3 8 1 9
输出:3

2、代码实现

解题步骤如下:

  1. 遍历所给数组,遍历的同时用mCount记录下当前最长递增区间的长度,用count记录下当前递增区间的长度。
  2. 当count的值超过mCount的值时则对mCount的值进行更新,当遍历到的数字小于前一个数字时则将count的值清0。

代码如下:

//最长递增的区间长度
#include <iostream>
#include <vector>
using namespace std;
int main()
{int n = 0;cin >> n;//读取数组vector<int> v(n);for (int i = 0; i < n; i++){cin >> v[i];}//找出最长递增区间的长度int mCount = 0;int count = 0;for (int i = 1; i < n; i++){if (v[i] - v[i - 1] > 0){count++;if (count > mCount)mCount = count;}else{count = 0;}}cout << mCount + 1 << endl;return 0;
}

CSDN编程竞赛 ——— 第六期相关推荐

  1. CSDN编程竞赛第六期

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 本次是我第二次参加CSDN举办的编程竞赛,这一次的题相比上一次简单不少,对编程新人或者刚开始学习 ...

  2. 【CSDN编程竞赛第六期】python详解

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 目录 目录 前言/背景 解题思路 1.严查枪火 2.鬼画符门 3.收件邮箱 4.最长递增的区间长 ...

  3. 【CSDN编程竞赛 第六期】我的第一场编程竞赛。

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 第一场编程竞赛 前言 这是我第一次接触CSND的编程竞赛,一周前看到有这么个活动,觉得很有意思, ...

  4. 【CSDN编程竞赛——第六期】

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 前言/背景 之前偶然看到的CSDN也出了竞赛就点了报名,结果今天懒觉起来之后看到提醒才想起来,属 ...

  5. CSDN编程竞赛第六期题解

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 (请不要删掉此地址) 1. 题目名称:严查枪火 X国最近开始严管枪火. 像是"ak&q ...

  6. CSDN编程竞赛第六期(C解题)

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 第一次参加CSDN的竞赛,好像是某次登录的时候看到有个竞赛链接就点进去报名了,然后今天早上收到短 ...

  7. CSDN编程竞赛-第六期(上)

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 努力是为了让自己不平庸: 前言/背景 四道题都是相关字符串的,思路很好想,但是需要熟练使用,不能 ...

  8. CSDN编程挑战赛第六期—参赛心得+题解

    文章目录 前言/背景 大赛简介 参赛流程 参赛经历 解题思路 经验心得 资料分享 CSDN第六期 参赛情况 参赛题解 题1:严查枪火 题2:鬼画符门 题3:收件邮箱 题4:最长递增的区间长度 参赛体验 ...

  9. 【CSDN编程挑战赛第六期—参赛体验+思路】

    CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 (请不要删掉此地址) 前言/背景 第一次参加这种类似于编程的比赛,尽管之前一直都听说,在算法世界 ...

最新文章

  1. python实现文件下载-Python实现http文件下载
  2. 【转】电驴提示“该内容尚未提供权利证明,无法提供下载”之解决办法详解...
  3. 大型网站架构模式之二
  4. 浅谈C#中的数组(一)
  5. 如何:在Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中测试依赖项
  6. [vue] vue2.0不再支持v-html中使用过滤器了怎么办?
  7. java编写母亲节快乐_写在母亲节来临之际
  8. python-----学习资料
  9. alwayson高可用组_AlwaysOn可用性组–简化工作的好奇心–第3部分
  10. python利用gzip压缩解压缩StringIO
  11. python界面制作和unity的有区别吗_由1~4人利用Sratch、Python、Unity或其它游戏开发工具设计与制作一个的教育类游戏。...
  12. [Selenium]怎样验证页面是否有无变化
  13. WinRAR去除广告
  14. java定义上三角矩阵,数据结构-矩阵-三角矩阵(Java语言)
  15. 植物大战僵尸简单外挂原理及实现
  16. 2014年腾讯实习生招聘最后一题
  17. layui表格时间显示格式
  18. 基于阿里云生活物联网平台的智能家居(物联网,智能家居,STM32,阿里云生活物联网平台,人脸识别,语音识别,语音交互)
  19. 电脑怎么图片转文字?建议收藏这几个方法
  20. MongoDB 3.2.7 for rhel6.4 副本集-分片集群部署

热门文章

  1. skynet日志管理
  2. 四六考试的交易必读(请买家仔细阅读各条款)
  3. 使用tftp工具备份华为、华三、思科交换机配置的方法
  4. cookie的持久化管理
  5. 揭秘SNS背后的社会学理论
  6. linux终端中最漂亮的几款字体介绍及安装
  7. 由鼎引发的软件测试思考
  8. AIX 存储挂载MPIO多路径配置问题导致磁盘无法使用
  9. 在64位Win7操作系统中安装Microsoft Access Engine的解决方案(转)
  10. python短期 培训班