蓝桥杯第3天(Python)

已知 3 个矩形的大小依次是 ab1, ab2 和 ab3 。用这 3 个矩形能拼出的所有多边形中, 边数最少可以是多少?
import os
import sys

# 请在此输入您的代码
# 三种情况 4 6 8
# 组合方式3种 ,每个两种摆放方式 2*2*2=8
n = int(input())
m = []
for  i in  range(n):
  m.append(list(map(int,input().split())))

def cheak(z):
    ans = 8
    for i in range(0,2): # 第一个长方形长
      for j in range(2,4): # 第二个长方形长
        for k in range(4,6): # 第三个长方形长
          if z[i]==z[j]==z[k] and z[0]+z[1]-z[i] == z[2]+z[3]-z[j] == z[4]+z[5]-z[k]:
            #return 4
            ans=min(4,ans)
          elif z[i]+z[j]==z[i]+z[k] and z[0]+z[1]-z[i] == z[2]+z[3]-z[j] + z[4]+z[5]-z[k]:
            #return 4
            ans=min(4,ans)
          elif z[i]==z[j]+z[k] and  z[2]+z[3]-z[j] != z[4]+z[5]-z[k]:
            #return 6
            ans=min(6,ans)
          elif z[i]!=z[j]+z[k] and  z[2]+z[3]-z[j] != z[4]+z[5]-z[k]:
            #return 8
            pass # 不写会报错
    return ans
for z in m:
  print(cheak(z))

import os
import sys

# 请在此输入您的代码
n = int(input())
m=[]
for i in range(n):
  m.append(int(input()))
# print(max(m))
# print(min(m))
# m.remove(max(m))
# m.remove(min(m))
m.sort()
#m.remove(m[0])
#m.remove(m[-1])
print('{:.2f}'.format(sum(m)/len(m)))

小蓝有一张黑白图像,由 n× m 个像素组成,其中从上到下共 n 行,每行从左到右 m 列。每个像素由一个 0 到 255 之间的灰度值表示。
现在,小蓝准备对图像进行模糊操作,操作的方法为:
对于每个像素,将以它为中心 3×3 区域内的所有像素(可能是 9 个像素或少于 9 个像素)求和后除以这个范围内的像素个数(取下整),得到的值就是模糊后的结果。
请注意每个像素都要用原图中的灰度值计算求和。

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

matrix = [[int(x) for x in input().split()] for _ in range(n)]


def pooling(x, y):
    s = 0
    cnt = 0

    for i in range(x - 1, x + 1 + 1):
        for j in range(y - 1, y + 1 + 1):

            if 0 <= i < n and 0 <= j < m:
                s += matrix[i][j]
                cnt += 1

    return s // cnt


# img = [[pooling(i, j) for j in range(m)] for i in range(n)]


img = []
for i in range(n):
    img.append([])
    for j in range(m):
        img[-1].append(pooling(i, j))
        

for l in img:
    print(*l)

import sys  #设置递归深度
import collections  #队列
import itertools  # 排列组合
import heapq  #小顶堆
import math
sys.setrecursionlimit(300000)
import functools   # 自定义比较函数  -1不变,1交换
import datetime   # date,timedelta,isoweekday()


import os
import sys
 
# 请在此输入您的代码
s = input()
 
count=0
# 00 01 .. 0(n-1)
#
# n-1(n-1)
for i in range(len(s)):
  for j in range(i,len(s)):
    mydict= {}
    for k in s[i:j+1]:
      mydict[k]=mydict.get(k,0)+1
    m=list(mydict.values())
    count+=m.count(1)
    
 
print(count)
 

将数组 4*4扩展为5*5 ,用0填充
n,m,k = map( int,input( ).split( ))
a = [[0] for i in range( n)] #创建n行
a.insert(0,[0]*( m+1)) #最前面插入一行,m+1列
for i in range( 1,n+1):#从a[1][1]开始,读矩阵
    a[i].extend ( map(int,input( ).split( )))

1 2 3
4 5 6
7 8 9

0 0 0 0
0 1 2 3
0 4 5 6
0 7 8 9

a=[[0]*(m+1)]
for i in range(n):
    a.append([0]+list(map(int,input().split())))

n,m = map( int,input( ).split( ))
a = [0] + list( map( int,input().split()))
for i in range(m):
  w= list(map( int,input( ).split()))
  if len(w) ==3:  #区间询问:[L,R]的区间和
    q,L,R= w
    print( sum( a[L:R+1]))
  else:             #区间修改:把[L,R]的每个元素加上d
    q,L,R,d = w
    for i in range(L,R+1):
      a[i]+=d

#标准答案差分数组
第十三届蓝桥杯第二场Python赛题是一个综合题,题目涉及多个方面的知识点,需要我们运用Python编程来解决问题。 首先,题目要求我们编程序实现一个模拟表格的功能,可以进行数据的录入、查询和统计。为了实现这个功能,我们可以使用二维列表或者字典来存储数据,然后通过输入命令的方式来实现不同的功能,如insert命令用于录入数据,search命令用于查询数据,sum命令用于统计数据等。通过合理的组织程序的逻辑和数据结构,我们就可以实现一个模拟表格的功能了。 其次,题目还涉及到对文件的操作。我们需要编程序读取一个输入文件,并对其中的数据进行处理后再输出到一个输出文件。这个任务可以使用Python的文件读功能来实现,通过打开文件、读取文件内容、处理数据,并把结果入到输出文件中,我们就可以完成文件的处理任务。 除此之外,题目还要求我们对数据进行排序。在Python中,可以使用sorted函数对数据进行排序,也可以使用列表的sort方法来实现。通过编合适的排序算法和调用相应的函数,我们就可以完成对数据的排序任务。 通过参加第十三届蓝桥杯第二场Python比赛,我们可以进一步巩固和拓展我们的Python编程能力。这场比赛要求我们熟练使用Python的数据结构、文件操作和排序等功能,同时也考察我们解决实际问题的能力。通过参赛,我们可以学到更多实践经验,提升自己的编程水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值