CCF CSP认证 历年题目自练 Day22

news2024/11/20 20:34:51

CCF CSP认证 历年题目自练 Day22

题目一

试题编号: 201912-1
试题名称: 报数
时间限制: 1.0s
内存限制: 512.0MB
请添加图片描述
请添加图片描述

题目分析(个人理解)

  1. 每一个人都要报多少个数字,我选择字典存储,key代表甲乙丙丁4人,value代表每个人报的是7的倍数的个数。我们需要一个计数器从1开始报数一直到满足结束条件。(开始进入循环)
  2. 如果计数器是7的倍数,那么对应的dic[number%4]就+1 (找到是哪个人报的)注意停止条件,在总共报出n个数后(不计入被跳过的数)游戏结束。如果计数器减去所有是7的倍数的个数大于等于n那么游戏结束(跳出循环)。
  3. 上代码!!!
n=int(input())
dic={}
for i in range(4):
    dic[i]=0
number=0
while(1):
    number+=1
    if number%7==0 or '7' in str(number):
        dic[number%4]+=1
    if (number-dic[1]-dic[2]-dic[3]-dic[0])>=n:
        break

print(dic[1])#甲
print(dic[2])#乙
print(dic[3])#丙
print(dic[0])#丁

题目二

试题编号: 201912-2
试题名称: 回收站选址
时间限制: 1.0s
内存限制: 512.0MB
请添加图片描述
请添加图片描述
请添加图片描述

题目分析(个人理解)

  1. 题目又臭又长,我的理解是这样的,第一行输入的是有几个存垃圾的地方,后面的每一行输入的是对应的坐标,现在要建回收站,那么条件是垃圾站选址点必须有垃圾而且上下左右也要有垃圾,否则就不建立垃圾站,还有个评分的条件,就是看回收站的左上,左下,右上,右下四个点是否有垃圾,有几个点有垃圾评分就是多少。现在要输出评分为0,1,2,3,4的回收站的个数。
  2. 我选择用列表分别存放每个垃圾地点的横坐标和纵坐标,我还需要判断所有的垃圾点哪些能建立垃圾回收站,在满足以上条件(是垃圾点,满足建立垃圾回收站站的条件)之后,再判断该点(建回收站的点)的左上,左下,右下,右上是否存在垃圾,如果存在计数器加一。我把最后需要输出的存放在列表num中,位序即为得分,值就是评分为0,1,2,3,4的垃圾回收站的个数。最后循环输出num即可
  3. 下面具体到判断该点是否能建立垃圾回收站,直接遍历每个垃圾点(回收站一定在垃圾点),先找到每个垃圾点上下左右的坐标,之后再去判断这些坐标是否在我输入的垃圾点全部存在,之后再进行评分的判断
  4. 评分的判断,找到回收站的点然后找到对应的四个对角的位置,再去遍历判断每个垃圾点的横纵坐标有几个满足条件的,有一个就计数器加1,对应的num位序的值也+1。
  5. 上代码!!!
n=int(input()) #输入的存垃圾地点数
a=[0]*n  #输入的垃圾地点的横坐标
b=[0]*n #输入的垃圾地点的纵坐标
t=0 #记录某点上下左右邻居位置是否存在垃圾
num=[0]*5 #记录满足条件的地方其四个对角的得分
 
#输入
for i in range(n):
    a[i],b[i]=map(int,input().split())
 
#两层循环,对于每个坐标循环判断其上下左右是否存在。
#若存在,则判断其对角种几处有垃圾,把相应的值用num数组记录
for o in range(n):
    t = 0
    hx,hy=a[o],b[o]+1     #上的横纵坐标
    rx,ry=a[o]+1,b[o]
    bx,by=a[o],b[o]-1
    lx,ly=a[o]-1,b[o]
    ci=0
    for i in range(n):
        if (a[i]==hx and b[i]==hy )or (a[i]==rx and b[i]==ry) or (a[i]==bx and b[i]==by) or (a[i]==lx and b[i]==ly):
            t+=1
    k=0
    if t==4:
        #四个对角位置的横纵坐标
        lhx ,lhy = a[o] - 1 , b[o] + 1
        rhx ,rhy = a[o] + 1 , b[o] + 1
        rbx ,rby = a[o] + 1 , b[o] - 1
        lbx ,lby = a[o] - 1 , b[o] - 1
        for i in range(n):
            if (a[i] == lhx and b[i] == lhy) or (a[i] == rhx and b[i] == rhy) or (a[i] == lbx and b[i] == lby) or (
                    a[i] == rbx and b[i] == rby):
                k = k + 1
        num[k]+=1
 
#输出
for j in range(5):
    print(num[j])
 
 

总结

没啥好总结的,该干啥干啥。
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1062065.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Folium 笔记:MarkerCluster

在一张地图上以聚簇的形式显示大量的标记(markers) 举例: import folium from folium.plugins import MarkerCluster import randomm folium.Map(location[45.5236, -122.6750], zoom_start13) # 创建一个基本的地图marker_cluster Marker…

VAE(变分自动编码器)

1.自编码器存在的局限性 自编码器的隐空间的规则性是一个难点,其取决于初始空间中数据的分布、隐空间的大小和编码器的结构。我们很难先验地确保编码器与生成过程兼容并智能地组织隐空间,因此可能导致隐空间的某些点将在解码时给出无意义的内容。注意&am…

剑指offer——JZ76 删除链表中重复的结点 解题思路与具体代码【C++】

一、题目描述与要求 删除链表中重复的结点_牛客题霸_牛客网 (nowcoder.com) 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表 1->2->3-&…

1802_在Linux系统上开发ARM单机片机嵌入式软件

全部学习汇总: GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 1. 在Linux上也有嵌入式的开发环境,或许还有很多。不过,我现在接触到的大部分还是Windows居多。这一份文件介绍的是一个mbed platform…

springcloudAlibaba之Nacos服务注册源码分析

Nacos服务注册源码分析 Nacos服务注册原理Nacos服务注册怎么做的Nacos服务注册源码解读 带着以上三个问题,进入到今天的源码解读 问题1:Nacos服务注册原理 Nacos首先从bootstrap.yml配置文件中读取我们配置好的nacos配置,这里面一般包括spring.applic…

亚马逊,速卖通,国际站卖家如何找到真实干净的买家账号测评补单

对于卖家而言,测评资源确实是一项宝贵的财富。通过自养号和广告相结合的策略,可以快速有效地提升产品销量、增加转化率以及提高Listing的权重。这是一个很好的方法来优化产品在平台上的表现 添加图片注释,不超过 140 字(可选&…

小谈设计模式(18)—适配器模式

小谈设计模式(18)—适配器模式 专栏介绍专栏地址专栏介绍 适配器模式角色分析目标接口(Target)源接口(Adaptee)适配器(Adapter) 核心思想应用场景Java程序实现输出结果程序分析123 优…

【Python】基于OpenCV人脸追踪、手势识别控制的求生之路FPS游戏操作

【Python】基于OpenCV人脸追踪、手势识别控制的求生之路FPS游戏操作 文章目录 手势识别人脸追踪键盘控制整体代码附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 视频: 基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 手…

两文学会scala (下)|保姆级别教程(超详细)

上文内容概括: Scala 概述与安装、变量、运算符、流程控制、函数式编程、面向对象 上文链接:两文学会scala (上)|保姆级别教程(超详细)_超爱慢的博客-CSDN博客 目录 第7章 集合 7.1 集合简介…

增强负样本提高CPI表现

确定CPI对药物发现至关重要。由于实验验证CPI通常是耗时和昂贵的,计算方法有望促进这一过程。可用CPI数据库的快速增长加速了许多用于CPI预测的机器学习方法发展。然而,它们的性能,特别是它们对外部数据的泛化性,经常受到数据不平…

根据您的数据量定制的ChatGPT,改变客户服务的方式

在当今竞争激烈的商业环境中,提供优质的客户服务对于保持忠诚的客户群和推动业务增长至关重要。客户满意度已成为各行各企业的首要任务,因为它直接影响客户留存和品牌声誉。随着技术的进步,公司不断探索创新解决方案,以增强客户服…

Mac 挂载 Alist网盘

挂载服务器的Alist 网盘到 Mac mac,使用的是 CloundMounter 这个软件进行挂载 http://ip:port/dav/ 需要在末尾加上 /dav/ 在一些服务器上,为了提供WebDAV服务,需要在URL地址的末尾添加"/dav/“。这是因为WebDAV协议规定了一些标准的URL路径&#x…

1024 科学计数法

一.问题: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [-][1-9].[0-9]E[-][0-9],即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确…

SpringBoot的流浪宠物系统

采用技术:springbootvue 项目可以完美运行

数控车床中滚珠螺母的维护保养方法

滚珠螺母是一种高精度的机械部件,广泛应用于各种机械设备中,包括数控机床、精密轴承座、滚珠丝杆等,滚珠螺母作为数控机床中的进给系统的重要组件,其维护保养方法对于机床的精度和使用寿命具有重要影响。以下为数控机床滚珠螺母维…

1800_vim的宏录制功能尝试

全部学习信息汇总: GreyZhang/editors_skills: Summary for some common editor skills I used. (github.com) 最近5年多来,我emacs的编辑器用的还是比较多的。我的配置基本上是一个spacemacs,然后根据自己的需求增加了一丁点儿的其他配置。而…

数据结构基本概念-Java常用算法

数据结构基本概念-Java常用算法 1、数据结构基本概念2、数据逻辑结构3、算法时间复杂度 1、数据结构基本概念 数据(Data):数据是信息的载体,其能够被计算机识别、存储和加工处理,是计算机程序加工的“原材料”。数据元…

C++stackqueue

目录 一、stack 1.1 简要介绍 1.2 小试身手 1.3 模拟实现 二、queue 2.1 简要介绍 2.2 小试身手 2.3 模拟实现 三、deque 3.1 简要介绍 3.2 分析底层 四、priority_queue 4.1 简要介绍 4.2 小试身手 4.3 模拟实现 五、仿函数/函数对象 5.1 简要介绍 一…

全网最全Python系列教程(非常详细)---Python中文乱码讲解(学Python入门必收藏)

🧡🧡🧡这篇是关于Python中为什么会出现中文乱码的讲解,欢迎点赞和收藏,你点赞和收藏是我更新的动力🧡🧡🧡 在解释Python中中文乱码的问题之前,我们先对计算机中几个基本…

物联网AI MicroPython传感器学习 之 手指侦测心跳传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 手指侦测心跳传感器是通过LED和光电晶体管监测手指血压脉冲,来判断人的心脏跳动。其结构简单成本低廉,只能是做一些实验和学习相关的知识(没有医疗实用价值&…