Python-CSP 201912-2 回收站选址

2024-01-10 12:32

本文主要是介绍Python-CSP 201912-2 回收站选址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、题目
  • 二、算法思想
  • 三、代码

前言

一、题目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、算法思想

  • 大概的题意是给我们一些垃圾对应的坐标,然后从中判断出来哪些可以作为回收站的
  • 并对这些回收站进行评分判断,最后输出0~4分各个分数段的回收站数目。
  • 判断回收站和评分回收站的方式不难,以下图为例
  • 若当前判断(x,y)这个垃圾点
  • 如果这个点要符合回收站的话,就必须四个红色坐标都存在垃圾点才行。
  • 对于一个回收站的评分来说,四个角即黑色坐标的点的个数,就代表了坐标为(x,y)回收站的评分。

在这里插入图片描述

  • 在代码实现中使用的存储结构为字典、列表、元组
  • 坐标以元组的方式存入列表,方便之后的访问
  • 而回收站的评分使用了字典来存储。
  • 判断回收站和回收站的评分都使用了in方法,先对(x,y+1)、(x,y-1)、(x+1,y)和(x-1,y)四个垃圾点判断是否存在
  • 若都存在时再判断(x+1,y+1)、(x+1,y-1)、(x-1,y+1)和(x-1,y-1)四角的垃圾点判断并计算存在的个数
  • 最后将对应评分的回收站个数加1,打印各个评分段回收站数量即可。

三、代码

在这里插入图片描述

# coding=utf-8
# 作者: 小狐狸
# 题目: 回收站选址n = int(input())
pos = [] #垃圾点位置
score = {} #回收站各评分数量
score[0] = 0
score[1] = 0
score[2] = 0
score[3] = 0
score[4] = 0
for i in range(n):x,y = input().split()x = int(x)y = int(y)pos.append((x,y)) #以元组方式存入
for station in pos: #遍历每个垃圾点x = station[0]y = station[1]#对每一个垃圾点进行回收站的判断if (x,y+1) not in pos:continueif (x,y-1) not in pos:continueif (x+1,y) not in pos:continueif (x-1,y) not in pos:continue#判断为回收站后count = 0 #四个角的垃圾点数#计算回收站的得分,即四个角的垃圾点数if (x+1,y+1) in pos:count += 1if (x+1,y-1) in pos:count += 1if (x-1,y+1) in pos:count += 1if (x-1,y-1) in pos:count += 1score[count] += 1
print(score[0])
print(score[1])
print(score[2])
print(score[3])
print(score[4])

这篇关于Python-CSP 201912-2 回收站选址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590819

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以