已知 3 个矩形的大小依次是
a1×
b1,
a2×
b2 和
a3×
b3 。用这 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
#标准答案差分数组