Python:模拟(包含例题:饮料换购 图像模糊 螺旋矩阵)

模拟题:直接按照题目含义模拟即可,一般不涉及算法

注意:

1.读懂题:理清楚题目流程

2.代码和步骤一一对应:变量名,函数名,函数功能

3.提取重复的部分,写成对应的函数(子模块)

4.按顺序写,分块调试

例题一:饮料换购

题目描述

乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。

请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的 n 瓶饮料,最后他一共能喝到多少瓶饮料。

输入描述

输入一个整数 n(0<n<1000)n(0<n<1000),表示开始购买的饮料数量。

输出描述

输出一个整数,表示实际得到的饮料数

输入输出样例

a87395f2c6674f17b0c22e7be7f57380.png

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

代码

#n表示瓶盖的数量
n=int(input())
#刚开始答案等于n
ans=n

while True:
	if n>=3:
		#把三个瓶盖换成一个饮料
		n=n-3
		#统计饮料的总和
		ans +=1
		#更新瓶盖数量
		n+=1
	else:
		break

print(ans)

例题二:图像模糊 

题目描述

小蓝有一张黑白图像,由 n×mn×m 个像素组成,其中从上到下共 nn 行,每行从左到右 mm 列。每个像素由一个 00 到 255255 之间的灰度值表示。

现在,小蓝准备对图像进行模糊操作,操作的方法为:

对于每个像素,将以它为中心 3×33×3 区域内的所有像素(可能是 99 个像素或少于 99 个像素)求和后除以这个范围内的像素个数(取下整),得到的值就是模糊后的结果。

请注意每个像素都要用原图中的灰度值计算求和。

输入描述

输入的第一行包含两个整数 n,mn,m。

第 22 行到第 n+1n+1 行每行包含 mm 个整数,表示每个像素的灰度值,相邻整数之间用一个空格分隔。

其中,1≤n,m≤1001≤n,m≤100 。

输出描述

输出 nn 行,每行 mm 个整数,相邻整数之间用空格分隔,表示模糊后的图像。

c80d2726413e48cf97ba567b6ea85691.png

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码

 

n,m=map(int,input().split())
Map=[]
for i in range(n):
	a=list(map(int,input().split()))
	Map.append(a)  #将生成的列表添加到Map列表中

#构建一个N行M列二维List
ans=[[0]*m for i in range(n)]

#遍历列表的每个位置

for i in range(n):
	for j in range(m):
		#(i-1,j-1) (i-1,j) (i-1,j+1)
		#(i,j-1)   (i,j)   (i,j+1)
		#(i+1,j-1) (i+1,j) (i+1,j+1)

		#遍历周围的3*3区域
		tot, cnt=0,0 #分别表示总和,个数 
		for delta_x in [-1,0,1]:
			for delta_y in[-1,0,1]:
				x=i+delta_x
				y=j+delta_y

				#判断坐标(x,y)是否存在
				if 0 <=x<n and 0<=y<m:
					#更新和,个数
					tot +=Map[x][y]
					cnt +=1
		ans[i][j]=tot //cnt

for a in ans:
	print(" ".join(map(str, a)))

例题三:螺旋矩阵

问题描述

对于一个 n行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。

例如,一个 4 行 5 列的螺旋矩阵如下:

1 2 3 4 5

14 15 16 17 6

13 20 19 18 7

12 11 10 9 8

 

输入描述

输入的第一行包含两个整数 n,m,分别表示螺旋矩阵的行数和列数。

第二行包含两个整数 r,c,表示要求的行号和列号。

其中,2≤n,m≤1000,1≤r≤n,1≤c≤m2≤n,m≤1000,1≤r≤n,1≤c≤m。

输出描述

输出一个整数,表示螺旋矩阵中第 r行第 c 列的元素的值。

输入输出样例

示例

输入

4 5
2 2

 

输出

15

 

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

代码

n,m=map(int,input().split())
r,c=map(int,input().split())

Map=[[0]*m for i in range(n)]

#模拟进行过程(x,y)=valu

x,y=0,0
value=1
Map[x][y] = value

#(x,y-1) (x,y) (x,y+1)
#        (x+1,y)

while value<n*m:
	#不断向右走:1.保证下一个点不越界 2.保证下一个点没有数字
	while y+1 <m and Map[x][y+1]==0:
		y +=1
		value +=1
		Map[x][y]=value

	#向下走:保证下一个点不越界,保证下一个点没有数字
	while x+1 <n and Map[x+1][y]==0:
		x+=1
		value +=1
		Map[x][y]=value

	#向左走

	while y-1 >=0 and Map[x][y-1]==0:
		y -=1
		value +=1
		Map[x][y]=value

	#向上走
	while x-1 >=0 and Map[x-1][y]==0:
		x -=1
		value +=1
		Map[x][y]=value

print(Map[r-1][c-1])

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据库初阶】数据库基础知识

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; 数据库初阶 &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们&#xff0c;大家好&#xff01;在这篇文章中&#xff0c;我们将深入浅出地为大家讲解 数据库…

汽车IVI中控开发入门及进阶(四十):FDK AAC音频编解码软件库

概述: FDK AAC是一个用于编码和解码高级音频编码格式音频的开源软件库,由Fraunhofer IIS开发,并作为Android的一部分包含在内。它支持多种音频对象类型,包括MPEG-2和MPEG-4 AAC LC、HE-AAC、HE-AACv2以及AAC-LD和AAC-ELD,用于实时通信。编码库支持高达96 kHz的采样率和多…

Python爬虫:速卖通aliexpress商品详情获取指南

在数字化时代&#xff0c;数据已成为企业竞争的关键资源。对于电商行业而言&#xff0c;获取竞争对手的商品信息是洞察市场动态、优化自身产品策略的重要手段。速卖通&#xff08;AliExpress&#xff09;作为全球知名的跨境电商平台&#xff0c;其商品信息的获取自然成为了许多…

要查询 `user` 表中 `we_chat_open_id` 列不为空的用户数量

要查询 user 表中 we_chat_open_id 列不为空的用户数量&#xff0c;你可以使用以下 SQL 查询语句&#xff1a; SELECT COUNT(*) FROM user WHERE we_chat_open_id IS NOT NULL AND we_chat_open_id ! ;解释&#xff1a; SELECT COUNT(*): 表示要计算符合条件的行数。FROM us…

学习思考:一日三问(学习篇)之匹配VLAN

学习思考&#xff1a;一日三问&#xff08;学习篇&#xff09;之匹配VLAN 一、学了什么&#xff08;是什么&#xff09;1.1 理解LAN与"V"的LAN1.2 理解"V"的LAN怎么还原成LAN1.3 理解二层交换机眼中的"V"的LAN 二、为何会产生需求&#xff08;为…

mac中idea菜单工具栏没有git图标了

1.右击菜单工具栏 2.选中VCS&#xff0c;点击添加 3.搜索你要的工具&#xff0c;选中点击确定就添加了 4.回到上面一个界面&#xff0c;选中你要放到工具栏的工具&#xff0c;点击应用就好了 5.修改图标&#xff0c;快捷键或者右击选中编辑图标 6.选择你要的图标就好了

深度学习中batch_size

Batch size调整和epoch/iteration的关系 训练数据集总共有1000个样本。若batch_size10&#xff0c;那么训练完全体样本集需要100次迭代&#xff0c;1次epoch。 训练样本10000条&#xff0c;batchsize设置为20&#xff0c;将所有的训练样本在同一个模型中训练5遍&#xff0c;则…

Vue使用Tinymce 编辑器

目录 一、下载并重新组织tinymce结构二、使用三、遇到的坑 一、下载并重新组织tinymce结构 下载 npm install tinymce^7 or yarn add tinymce^7重构目录 在node_moudles里找到tinymce文件夹&#xff0c;把里面文件拷贝一份放到public下&#xff0c;如下&#xff1a; -- pub…

【每日学点鸿蒙知识】蓝牙Key、页面元素层级工具、私仓搭建、锁屏显示横幅、app安装到真机

1、HarmonyOS 蓝牙key模块&#xff1f; 蓝牙key模块setCharacteristicChangeNotification后无法在BLECharacteristicChange订阅事件中监听到特征值变化 步骤&#xff1a; 调用setCharacteristicChangeNotification接口&#xff0c;使characteristic的notify属性为true调用wri…

如何记录日常笔记

如何使用Obsidian来记录日常的笔记吗&#xff1f;比如会议记录、读书笔记。 我认为&#xff0c;首先需要做好的就是建立一个单独的分类&#xff0c;比如设置会议记录的文件夹、读书笔记的文件夹&#xff0c;这样各个笔记相互不干扰。 而做日常记录&#xff0c;和我们进行卡片…

`we_chat_union_id IS NOT NULL` 和 `we_chat_union_id != ‘‘` 这两个条件之间的区别

文章目录 1、什么是空字符串&#xff1f;2、两个引号之间加上空格 好的&#xff0c;我们来详细解释一下 we_chat_union_id IS NOT NULL 和 we_chat_union_id ! 这两个条件之间的区别&#xff0c;以及它们在 SQL 查询中的作用&#xff1a; 1. we_chat_union_id IS NOT NULL 含…

NS3学习——tcpVegas算法代码详解(2)

NS3学习——tcpVegas算法代码详解&#xff08;1&#xff09;-CSDN博客 目录 4.TcpVegas类中成员函数 (5) CongestionStateSet函数 (6) IncreaseWindow函数 1.检查是否启用 Vgas 2.判断是否完成了一个“Vegas 周期” 2.1--if&#xff1a;判断RTT样本数量是否足够 2.2--e…

【蓝桥杯——物联网设计与开发】拓展模块3 - 温度传感器模块

目录 一、温度传感器模块 &#xff08;1&#xff09;资源介绍 &#x1f505;原理图 &#x1f505;STS30-DIS-B &#x1f319;引脚分配 &#x1f319;通信 &#x1f319;时钟拉伸&#xff08;Clock Stretching&#xff09; &#x1f319;单次触发模式 &#x1f319;温度数据转…

项目2路由交换

背景 某学校为满足日常教学生活需求&#xff0c;推动数字校园的建设&#xff0c;学校有办公楼和学生宿舍楼和服务器集群三块区域&#xff0c;请合理规划IP地址和VLAN&#xff0c;实现企业内部能够互联互通现要求外网能通过公网地址访问服务器集群&#xff0c;学生和老师能正常…

计算机网络概要与习题

第1章 概论 1、计算机网络 2、互联网 3、计算机网络体系结构 分层模型 OSI/RM 7层模型 TCP/IP 5层模型 协议、PDU、SDU、SAP等术语 数据封装&#xff08;计算&#xff09; 第2章 数据通信基础 1、数据通信系统组成 2、主要性能指标 数据传输速率 码元速率 时延 …

使用VsCode编译调试Neo4j源码

文章目录 使用VsCode编译调试Neo4j源码1 简介2 步骤1 下载源码2 依赖3 构建Neo4j4 运行5 安装VsCode扩展6 **调试** 使用VsCode编译调试Neo4j源码 1 简介 Neo4j作为领先的图数据库&#xff0c;在存储、查询上都非常值得分析学习。通过调试、日志等方法跟踪代码工作流有助于理…

HTML-CSS(day01)

W3C标准&#xff1a; W3C&#xff08; World Wide Web Consortium&#xff0c;万维网联盟&#xff09; W3C是万维网联盟&#xff0c;这个组成是用来定义标准的。他们规定了一个网页是由三部分组成&#xff0c;分别是&#xff1a; 三个组成部分&#xff1a;&#xff08;1&…

Linux文件的压缩和解压

【图书推荐】《Ubuntu Linux系统管理与运维实战》_学ubuntu哪本书好-CSDN博客 【图书介绍】】几本Linux系统管理与运维图书_朱文伟 linux驱动-CSDN博客 《Ubuntu Linux系统管理与运维实战&#xff08;Linux技术丛书&#xff09;》(张春晓&#xff0c;肖志健)【摘要 书评 试读…

基于springboot的海洋知识服务平台的设计与实现

基于springboot的海洋知识服务平台的设计与实现 写在前面 需要源码加lzlv58787 开发内容 编程语言&#xff1a;Java / Vue2 框架&#xff1a; SpringBoot Shiro Mybatis-plus 项目结构 后端管理系统前台Web 后端管理系统 前台Web

论文解读 | EMNLP2024 一种用于大语言模型版本更新的学习率路径切换训练范式

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 点击 阅读原文 观看作者讲解回放&#xff01; 作者简介 王志豪&#xff0c;厦门大学博士生 刘诗雨&#xff0c;厦门大学硕士生 内容简介 新数据的不断涌现使版本更新成为大型语言模型&#xff08;LLMs&#xff…