构造一些包含 K 个连通分量的 N 个顶点的无向图。
例子
输入
5 2
结论
0 0 0 0 1
0 0 1 1 0
0 1 0 1 0
0 1 1 0 0
1 0 0 0 0
规格 输入 给定两个数字 N 和 K,写在一行中(均少于一百)。
输出 导出该图的邻接矩阵(它必须相对于主对角线对称,零必须位于主对角线上)。
请告诉我如何解决这个问题,我在这里没有看到任何 DFS、BFS(只是文本或代码)
构造一些包含 K 个连通分量的 N 个顶点的无向图。
例子
输入
5 2
结论
0 0 0 0 1
0 0 1 1 0
0 1 0 1 0
0 1 1 0 0
1 0 0 0 0
规格 输入 给定两个数字 N 和 K,写在一行中(均少于一百)。
输出 导出该图的邻接矩阵(它必须相对于主对角线对称,零必须位于主对角线上)。
请告诉我如何解决这个问题,我在这里没有看到任何 DFS、BFS(只是文本或代码)
问题:在 Foxford 网站上的一项任务中,给出了一个问题,其中解决方案的结果可能非常大。问题提示说:“32 位整数变量可能溢出。要存储答案,您需要使用 long long 类型。”
不管它是哪个任务,类似的评论可以是另一个任务。
问题: long long for 的存储类型是什么,如何在 Python 代码中使用它?建议指明操作过程,以便您在这种情况下可以正确操作。
def Search(A, key):
left = -1 #A[left] <= key; A[right] > key
right = len(A)
while left + 1 != right:
middle =(left + right) // 2
if A[middle] > key:
right = middle
else:
left = middle
return left >= 0 and A[left] == key
n = int(input())
A = [int(v) for v in input().split()]
n = int(input())
B = [int(v) for v in input().split()]
for elem in B:
if Search(A,elem-1):
print('YES')
break
else:
print('NO')
如果该代码将列表旋转 90 度
o = [input() for i in range(int(input()))]
def turn(a):
list1 = zip(*a[::-1])
return [list(e) for e in list1]
o = list(turn(o))
[print(i, sep = "", end='\n') for i in o]
#ввод 2
1 2
2 1
#выводит так ['2', '1']
[' ', ' '] - ненужная строка
['1', '2']
#а нужно 2 1
1 2