蓝桥杯刷题--python-29-hashmap

1402. 星空之夜 - AcWing题库

def dfs(a,b):
    p.append((a,b))
    q[a][b]="0"

    for x in range(a-1,a+2):
        for y in range(b-1,b+2):
            if x>=0 and x<h and y>=0 and y<w and q[x][y]=="1":
                dfs(x,y)

def get_dist(a,b):
    dx=a[0]-b[0]
    dy=a[1]-b[1]
    return ((dx*dx)+(dy*dy))**0.5
def get_hash(n,p):
    sum=0
    for i in range(n):
        for j in range(i):
            sum+=get_dist(p[i],p[j])
    return sum

def get_id(p):
    global k
    n=len(p)
    key=round(get_hash(n,p),6)
    if key not in d:
        d[key]=chr(k)
        k+=1
    c=d[key]
    return c

w=int(input())
h=int(input())
q=[]
for i in range(h):
    q.append(list(input()))
k=ord("a")
d={}

for i in range(h):
    for j in range(w):
        if q[i][j]=="1":
            p=[]
            dfs(i,j)
            id =get_id(p)
            for x,y in p:
                q[x][y]=id

for i in range(h):
    print(''.join(q[i]))

 1221. 四平方和 - AcWing题库

n=int(input())

i=0

h={}
while(i*i<=n):
    j=i
    while (j*j+i*i<=n):
        if (j*j+i*i) not  in h:
            h[j*j+i*i]=(i,j)

        j+=1
    i+=1
a=0
t=0
while(a*a<=n):
    b=a
    while (a*a+b*b<=n):
        s=n-(a*a+b*b)
        if s in h:
            print(a,b,h[s][0],h[s][1])

            t=1
            break

        b+=1
    if t:
        break
    a+=1
 

 

n=int(input())

class Node:
    def __init__(self,z,x,y):
        self.z=z
        self.x=x
        self.y=y
ans=[]
def erfen(x):
    l=0;r=len(ans)-1
    while(l<=r):
        mid=l+r>>1
        if ans[mid].z <x:
            l=mid+1
        elif ans[mid].z >x:
            r=mid-1
        else:
            return mid
    return False



i=0
while(i*i<=n):
    j=i
    while (j*j+i*i<=n):
        ans.append(Node(j*j+i*i,i,j))


        j+=1
    i+=1
ans.sort(key=lambda x: x.z)


a=0
t=0
while(a*a<=n):
    b=a
    while (a*a+b*b<=n):
        s=n-(a*a+b*b)
        tmp=erfen(s)
        if tmp:
            print(a,b,ans[tmp].x,ans[tmp].y)

            t=1
            break

        b+=1
    if t:
        break
    a+=1

相关推荐

  1. --python-29-hashmap

    2024-03-24 11:18:02       42 阅读
  2. --python-21

    2024-03-24 11:18:02       37 阅读
  3. --python-23

    2024-03-24 11:18:02       41 阅读
  4. --python-22-dfs-bfs

    2024-03-24 11:18:02       43 阅读
  5. --python-28-并查集

    2024-03-24 11:18:02       41 阅读
  6. --python-2

    2024-03-24 11:18:02       48 阅读
  7. --python-1

    2024-03-24 11:18:02       63 阅读
  8. --python-3

    2024-03-24 11:18:02       50 阅读
  9. --python-4

    2024-03-24 11:18:02       60 阅读
  10. --python-4

    2024-03-24 11:18:02       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 11:18:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 11:18:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 11:18:02       82 阅读
  4. Python语言-面向对象

    2024-03-24 11:18:02       91 阅读

热门阅读

  1. redis 如何保证数据同步(数据变化时)

    2024-03-24 11:18:02       40 阅读
  2. 设计模式:单例模式

    2024-03-24 11:18:02       40 阅读
  3. adb 使用详细指令

    2024-03-24 11:18:02       31 阅读
  4. Linux shell脚本切换为root用户执行命令

    2024-03-24 11:18:02       34 阅读
  5. vue3 实现滑动调整宽度的效果

    2024-03-24 11:18:02       36 阅读
  6. Github用户手册-逻辑增强版

    2024-03-24 11:18:02       45 阅读
  7. 使用SQL Server Management Studio创建数据库/表

    2024-03-24 11:18:02       39 阅读
  8. C#把excel 的数据导入sqlserver

    2024-03-24 11:18:02       45 阅读
  9. C++基础面试题(二)

    2024-03-24 11:18:02       42 阅读