我带我的小侄子参加编程竞赛

简介: 我带我的小侄子参加编程竞赛

一、前言/背景


前情提要,我家小侄子今年刚上大一,据说自己编程水平很高,这也不服,那些不服。鉴于暑期被我摁着头在家苦学一个月,怨念太大,这次编程大赛,特别发微信并at我,为了不输于他,特此参加,再怎么菜,也不能比他菜,您说是不?


二、大赛简介


image.png


三、参赛流程


1.开始报名


早在多日前,收到我侄子发我的竞赛地址,我就报名了,哈哈哈。


2.收到短信


早上睡醒8点多,顺便收到之前的短信了,短信转发微信,直接浏览器打开,差2分钟开始,好巧。


3.答题提交


收拾东西,再看时间到了,点击进入,看题,一二一,做完,反复检查,OK了就提交了,然后想想我侄子在答题,就没打扰他,12点打电话问他咋样,说跟他平时学的C语言不一样啊,哭晕了。哈哈哈,他是学的C语言,但是没学类,对这次的答题模板还是不很熟悉,哈哈哈。


四、参赛经历


1.第一次竞赛


这是我有史以来第一次参加竞赛,个感觉好有趣,很喜欢,因为题目特别有趣,哈哈哈。


2.竞赛注意事项


我用的python,所以比较简单。基本上就是常规操作,没有特别难的部分。但是题目都很有趣,很有意思,刚开始还想把题目复制出来,发个朋友圈,试了几次突然发现有复制和切出去的提示,说切出去次数多就直接提交了,就不敢复制和切出去了。


五、解题思路


1.严查枪火


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

class Solution:
  def __init__(self) -> None:
    pass
  def solution(self, n, vector):
    result = 0
    # TODO: 请在此编写代码
    for i in range(n):
      if vector[i] in ['ak', 'm4a1', 'skr']:
      result=result+1
    return result
  if __name__ == "__main__":
    n = int(input().strip())
    vector = []
    for i in range(n):
      vector.append(input().strip())
    s = Solution()
    result = s.solution(n, vector)
    print(result)

这是第一题,没啥说的,python 嘛,轮子都有了,直接写就好了。


2.鬼画符门


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

class Solution:
  def __init__(self) -> None:
    pass
  def solution(self, n, vector):
    result = ""
    result_list={}
    for item in vector:
      if item not in result_list:
        result_list[item]=1
      else:
        result_list[item]=result_list[item]+1
    # TODO: 请在此编写代码
    for key , value in result_list.items():
      if value==max(result_list.values()):
        result=key
    return result
if __name__ == "__main__":
  n = int(input().strip())
  vector = []
  for i in range(n):
    vector.append(input().strip())
  s = Solution()
  result = s.solution(n, vector)
  print(result)

这个题目就是考了python的map使用:

  • 首先建立map,有的放进去,并+1;
  • 获取map中value最大的,然后返回key。


3.收件邮箱


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

class Solution:
  def __init__(self) -> None:
    pass
  def solution(self, strabc):
    # result = None
    # TODO: 请在此编写代码
    result=strabc[1:-1].replace('dot','.').replace('at','@',1)
    result=strabc[0]+result+strabc[-1]
    return result
if __name__ == "__main__":
  strabc = input().strip()
  s = Solution()
  result = s.solution(strabc)
  print(result)

这个题目我有点取巧,直接用的replace函数解决掉的,属于有手就可以写的。


4.最长递增的区间长度


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

class Solution:
  def __init__(self) -> None:
    pass
  def solution(self, n, arr):
    result = 1
    t=1
    for i in range(len(arr)-1):   
      if arr[i]<arr[i+1]:
        t+=1
      else:
        result=max(result,t)
        t=1
    result=max(result, t)
    return result
if __name__ == "__main__":
  n = int(input().strip())
  arr = [int(item) for item in input().strip().split()]
  s = Solution()
  result = s.solution(n, arr)
  print(result)

该题目耗费我时间比较多,开始写的一致是90%通过,有10%通不过,后来整体上换了,解决的。


六、经验心得


估计太菜,第一次参加,来来回回,估计被罚分不少,提交的也晚,哭晕了。

  • 1.要牢记基础知识,这次的map不记得key value等取值肯定搞不定;
  • 2.要多加练习,勤能补拙,后续的打榜一定要积极参加;
  • 3.一定要好好学习,绝对不能让小朋友超过;
  • 4.要注意规则,我刚开始还想要不要用vscode本地验证下,结果发现被警告了。


七、资料分享


python学习资料一大堆,我建议跟训练营比较好,特别是 datawhale等组队打卡,有监督有学习,特别棒。

在此我可以diss我小侄子了,据悉他说这个C和他学的C语言不一样,哈哈哈,这个引入了类的概念,他哭了!


目录
相关文章
|
10月前
|
安全 网络安全 网络虚拟化
CTF学习和比赛平台简介
CTF学习和比赛平台简介
538 1
|
11月前
|
BI C++
【校园微项目竞赛】没勇气参赛?大一拿不到奖?这篇文章将讲述我带领我们组拿下校第一的生猪系统!
【校园微项目竞赛】没勇气参赛?大一拿不到奖?这篇文章将讲述我带领我们组拿下校第一的生猪系统!
48 0
|
存储 算法 数据库
高校技能大赛选择题
高校技能大赛选择题
42 0
|
算法 C语言
【CSDN编程竞赛·第四期】个人参赛经历和个人建议
大家好,我前不久参加了官方举办的CSDN编程比赛,官方举办了四期,第一期的时候没看到,错过了,后面的每一期我都参加了,总的感觉来说,还可以。下面我具体说说第四期相关经验吧。
BXA
|
算法 C++
通过编程竞赛来掌握C++编程
编程竞赛是提升编程能力的一种非常有效的方法。在比赛中,我们会面临许多难题和挑战,这需要我们深入理解问题,并运用各种算法和数据结构解决问题。通过不断地练习,我们可以掌握更多的编程技能,提高解决问题的能力
BXA
115 0
|
NoSQL 算法 关系型数据库
大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛
大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛
大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛
|
存储
【CSDN编程竞赛 第六期】我的第一场编程竞赛
我的第一场编程竞赛解题思路。
132 0
【CSDN编程竞赛 第六期】我的第一场编程竞赛
|
机器学习/深度学习 数据采集 开发框架
阿觿学长最近参加了高教社的全国大学生数学建模竞赛,整理了一些国赛的获奖模型,和大家分享~
阿觿学长最近参加了高教社的全国大学生数学建模竞赛,整理了一些国赛的获奖模型,和大家分享~
233 0
阿觿学长最近参加了高教社的全国大学生数学建模竞赛,整理了一些国赛的获奖模型,和大家分享~
|
算法 关系型数据库 Java
CUMCM→MCM/ICM→NPMCM:关于国赛(全国大学生、研究生、博士研究生数学建模竞赛)和美赛中的数学的专业词汇详细攻略—美国数学建模竞赛(四)
CUMCM→MCM/ICM→NPMCM:关于国赛(全国大学生、研究生、博士研究生数学建模竞赛)和美赛中的数学的专业词汇详细攻略—美国数学建模竞
|
存储 算法 关系型数据库
CUMCM→MCM/ICM→NPMCM:关于国赛(全国大学生、研究生、博士研究生数学建模竞赛)和美赛中的数学的专业词汇详细攻略—美国数学建模竞赛(二)
CUMCM→MCM/ICM→NPMCM:关于国赛(全国大学生、研究生、博士研究生数学建模竞赛)和美赛中的数学的专业词汇详细攻略—美国数学建模竞赛