蓝桥杯刷题--python-23

2.危险系数 - 蓝桥云课 (lanqiao.cn)

复制代码
n, m = map(int, input().split())
map_ = [[] for i in range(n + 1)]
used = [0 for i in range(n + 1)]
used_ = [0 for i in range(n + 1)]
cnt = 0
res = []
for _ in range(m):
    u, v = map(int, input().split())
    map_[u].append(v)
    map_[v].append(u)

u, v = map(int, input().split())


def dfs(u, v):
    global cnt
    if u == v:
        cnt += 1
        for i in res:
            used_[i] += 1

        return
    for i in map_[u]:
        if not used[i]:
            used[i] = 1
            res.append(i)
            dfs(i, v)
            res.pop()
            used[i] = 0


dfs(u, v)
ans = 0
for i in range(1, n + 1):
    if used_[i] == cnt and i != u and i != v:
        ans += 1
print(ans)

3.串变换 - 蓝桥云课 (lanqiao.cn)

复制代码
def op(z, x, y_v, arr):
    if z == 1:
        arr[x] = (int(arr[x]) + y_v) % 10
    else:

        arr[x], arr[y_v] = arr[y_v], arr[x]


# 输入
n = int(input())
s = list(input())
t = list(input())
k = int(input())
k_ = []
used = [0 for _ in range(k)]
for _ in range(k):
    a, b, c = map(int, input().split())
    k_.append((a, b, c))

# print(k_)
j = False


def dfs(index, s):
    global j

    if index == k:
        return

    for i in range(k):
        if not used[i]:
            tmp = s
            used[i] = 1
            op(k_[i][0], k_[i][1], k_[i][2], s)
            if not j:
                l = 0
                for x in range(n):

                    if int(s[x]) != int(t[x]):
                        l = 1

                        break
                if not l:
                    j = True
            else:
                return

            dfs(index + 1, s)
            s = tmp

            used[i] = 0


dfs(0, s)
if j:
    print("Yes")
else:
    print("No")

8.仙境诅咒 - 蓝桥云课 (lanqiao.cn)

import os

import sys

请在此输入您的代码

n = int(input())

man = []

for _ in range(n):

x, y = map(int, input().split())

man.append([x, y])

D = int(input())

man_used = [0 for _ in range(n)]

def dfs(index):

man_used[index] = 1

for i in range(n):

if not man_used[i]:

r_ = (man[i][0] - man[index][0]) ** 2 + (man[i][1] - man[index][1]) ** 2

if r_ <= D * D:

dfs(i)

dfs(0)

for i in man_used:

if i:

print(1)

else:print(0)

相关推荐
古希腊掌管学习的神14 分钟前
[搜广推]王树森推荐系统笔记——曝光过滤 & Bloom Filter
算法·推荐算法
qystca15 分钟前
洛谷 P1706 全排列问题 C语言
算法
Kai HVZ17 分钟前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神19 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
浊酒南街20 分钟前
决策树(理论知识1)
算法·决策树·机器学习
m0_7482448322 分钟前
StarRocks 排查单副本表
大数据·数据库·python
就爱学编程28 分钟前
重生之我在异世界学编程之C语言小项目:通讯录
c语言·开发语言·数据结构·算法
B站计算机毕业设计超人29 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
路人甲ing..32 分钟前
jupyter切换内核方法配置问题总结
chrome·python·jupyter
学术头条33 分钟前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学