[19 días antes del examen] [preparación de Python Blue Bridge Cup] ejemplos clásicos

prefacio

19 días antes del examen, hoy se agregarán alrededor de 4 preguntas de dificultad media

1. fecha palíndromo

inserte la descripción de la imagen aquí

import datetime
date=input()
y=int(date[0:4])
m=int(date[4:6])
d=int(date[6:])
dd=datetime.date(y,m,d)//转成日期格式
flag=True
for i in range(9999999):
    dd=dd+datetime.timedelta(days=1)//每次加一天
    strdd=str(dd).replace("-",'')//变换格式
    if strdd==strdd[::-1]://满足倒序==对称
        if flag:
            print(strdd)
            flag=False
        if strdd[0]==strdd[2]==strdd[-1]==strdd[-3] and strdd[1]==strdd[3]==strdd[-2]==strdd[-4]://回文判断
            print(strdd)
            break

Esta pregunta debe comprender la biblioteca de fechas y el formato de fecha y hora.

2. Practica

inserte la descripción de la imagen aquí

print("ABC")

inserte la descripción de la imagen aquí

No diga que olvidó dar la cadena + "" cuando se le ocurra esta pregunta

3. Divide los dulces

inserte la descripción de la imagen aquí

N=int(input())
s=list(map(int,input().split()))
ans=sum(s)//初试糖果总数
a=s[0]//2//第一个孩子给出的糖果
while len(s)!=s.count(s[0]):
    for i in range(N):
        if i+1==N:
            i=-1
        s[i+1],a=s[i+1]+a-s[i+1]//2,s[i+1]//2//赋值
        if s[i+1]%2!=0:
            s[i+1]+=1
ans=sum(s)-ans
print(ans)

count significa que la cantidad de veces que aparece el parámetro en la lista completa, cuando todos los valores de los elementos son iguales, es igual a la longitud de la lista.

4. Arreglo completo

inserte la descripción de la imagen aquí

from itertools import permutations as pt
N=list(input())
for i in pt(N):
  print("".join(i))

Esta pregunta es muy similar a la anterior, es decir, mediante permutaciones se enumera cada posibilidad

5. Dirección de Excel

inserte la descripción de la imagen aquí

import os
import sys

# 请在此输入您的代码
n=int(input())
ans=[]
while n!=0:
  if n%26==0:
    ans.append(26)//整除就是26
    n=n//26-1
  else:
    ans.append(n%26)//有余数就+余数进去
    n//=26
for i in range(len(ans)):
  print(chr(ans[len(ans)-i-1]+64),end='')

En esta pregunta, append se agrega al final de la lista, por lo que al hacer un bucle desde el final hacia adelante, porque el acarreo significa que cuanto más veces se divide, mayor es el valor, y el que sale primero es el que tiene el mayor número de divisiones.

6. Nudo

inserte la descripción de la imagen aquí

a=[[0 for i in range(101)] for i in range(101)]//初始化矩阵
a[1][1]=1//绳子1和绳子1打结的方式只有一种
for i in range(2,len(a))://遍历矩阵,加绳子
  for j in range(1,len(a[i]))://圈数
    if i<j://节数要大于圈数
      break
    else:
      a[i][j]=a[i-1][j]*(2*i-2)/(2*i-1)+a[i-1][j-1]/(2*i-1)//动态规划
Max=0
Max_num=1
for i in range(1,101):
  if Max<a[100][i]://查找最大概率位置
    Max_num=i
    Max=a[100][i]
print(Max_num)

Esta pregunta es realmente difícil, a veces la programación dinámica está bien y otras veces no puedo pensar en eso.

7. Arregla las letras

inserte la descripción de la imagen aquí

b="WHERETHEREISAWILLTHEREISAWAY"
c=[]
for i in b:
  c.append(i)
c.sort()
for i in c:
  print(i,end="")

Esta pregunta es sobre la clasificación, que es más rápida que a simple vista.

8. Construye arbustos

inserte la descripción de la imagen aquí

n=int(input())
for i in range(n):
  ld=i-0//左边界
  rd=n-i-1//右边界
  print(2*max(ld,rd))//来回的距离所以*2

9. Cita con Shun Zi

inserte la descripción de la imagen aquí

res=0
for i in range(1,13):
  for j in range(1,32):
    s="2022%02d%02d" %(i,j)
    if "012" in s or "123" in s://月份和日号之间只有两种顺子
      res+=1
print(res)

Se recomienda que cambie su forma de pensar primero. STR en python es fácil de juzgar y no hay necesidad de verificar uno por uno.

10. Estadísticas de preguntas

inserte la descripción de la imagen aquí

a,b,n=map(int,input().split())
week=a*5+b*2//每周做题数
days=(n//week)*7//周数*7
n%=week//剩余题数
if n<=5*a://工作日就干完了
  days+=n//a+(0 if n%a==0 else 1)
else://休息日还得加班
  days+=5
  n-=5*a
  days+=n//b+(0 if n%b==0 else 1)
print(days)

epílogo

Hice 18 o 19 preguntas hoy, pero no lo hice a la mitad, tal vez estoy un poco cansado, espero seguir trabajando duro en el futuro para reducir la velocidad de lectura de las soluciones de los problemas.

Supongo que te gusta

Origin blog.csdn.net/weixin_53415043/article/details/129661638
Recomendado
Clasificación