当前位置: 首页 > article >正文

蓝桥杯刷题总结(Python组)

1、蛇形矩阵

解题思路:每次赋值后都对方向进行改变,一般上下左右就是(-1,0),(0,1),(1,0),(0,-1),每次赋值后都要判断是否撞墙,然后再次更新方向。 

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

res=[[0 for j in range(m)] for i in range(n)]

dx=[-1,0,1,0]
dy=[0,1,0,-1]

x,y,d=0,0,1

for i in range(n*m):
    res[x][y]=i+1
    a=x+dx[d]
    b=y+dy[d]
    if a<0 or a>=n or b<0 or b>=m or res[a][b]>0:
        d=(d+1)%4
        a=x+dx[d]
        b=y+dy[d]
    x,y=a,b
for i in range(n):
    for j in range(m):
        print(res[i][j],end=' ')
    print()

2、不同正整数的个数

解题思路:先按列表输入,再将列表转化为集合,此时由于集合的性质导致集合会去除重复的元素,若有0再去掉,返回个数即可,discard函数删除一个元素时,若没有此元素不会报错,但是remove函数会报错,此处也可以用if not来判断0是否存在。

n=int(input())
a=list(map(int,input().split()))
b=set(a)
b.discard(0)
print(len(b))

3、跳台阶

def tj(cur,n):
    if cur==n:
        return 1
    elif cur>n:
        return 0
    else:
        return tj(cur+1,n)+tj(cur+2,n)

n=int(input())
print(tj(0,n))

4、走方格

def f(x,y):
    if x<0 or y<0:
        return 0
    if x==0 and y==0:
        return 1
    return f(x-1,y)+f(x,y-1)
    
n,m=map(int,input().split())
print(f(n,m))

5、全排列(dfs深搜)

n=int(input())

path=[0 for i in range(n)]
st=[False for i in range(n)]

def dfs(u):
    if u==n:
        for i in path:
            print(i+1,end=' ')
        print()
    else:
        for i in range(n):
            if not st[i]:
                st[i]=True
                path[u]=i
                dfs(u+1)
                st[i]=False
                #path[u]=0
                
dfs(0)

6、火柴棒等式

n=int(input())
cnt = [6, 2, 5, 5, 4, 5, 6, 3, 7, 6]
def get(x):
    res=0
    for i in str(x):
        res+=cnt[int(i)]
    return res
    
s=[get(i) for i in range(2000)]
ct=0
for i in range(0,1000):
    for j in range(0,1000):
        if s[i]+s[j]+s[i+j]+4==n:
            ct+=1
print(ct)

http://www.kler.cn/a/273731.html

相关文章:

  • Jenkins pipeline 发送邮件及包含附件
  • 551 灌溉
  • “**H5**” 和 “**响应式**” 是前端开发中常见的术语,但它们的概念和使用场景有所不同
  • Unity3D使用GaussianSplatting加载高斯泼溅模型
  • VS2015 + OpenCV + OnnxRuntime-Cpp + YOLOv8 部署
  • Wsl报 不存在具有提供的名称的分布
  • 信雅纳网络测试的二次开发集成:XOA(Xena Open-Source Automation)开源自动化测试
  • 目标检测——YOLOv5算法解读
  • 高架学习笔记之信息系统分类概览
  • 比较两个数组对象,找出属性id相同的项并删除
  • P8711 [蓝桥杯 2020 省 B1] 整除序列 存疑解决篇 Python
  • 爬虫技术实战案例解析
  • Java基础知识总结(6)
  • 超分之SwinIR
  • 【NLP学习记录】One-Hot编码
  • 电商api数据接口技术开发来赞达lazada通过商品ID抓取商品详情信息item_get请求key接入演示
  • 代码随想录--排序算法
  • LeetCode 面试经典150题 27.移除元素
  • 如何搭建“Docker Registry私有仓库,在CentOS7”?
  • Linux-MDK can电机带导轨 C++封装
  • 【Python循环4/5】跳出循环的办法
  • Ubuntu Desktop 设置 gedit
  • HarmonyOS NEXT应用开发—图片压缩方案
  • threejs 实现鼠标大面积选取场景内3d模型,SelectionBox API 案例使用
  • 基于Spring Boot的宿舍管理系统
  • 【Linux】进程---概念---进程---优先级