呈现结果
![](https://img-blog.csdnimg.cn/0a8b7e5f3e8f44a1b5e34f91d9885347.png)
(图1)
![](https://img-blog.csdnimg.cn/b3d5e9b52abb45809727438ddd46269c.png)
(图2)
![](https://img-blog.csdnimg.cn/9b95ea001dfe472dac2806606e573ed9.png)
(图3)
![](https://img-blog.csdnimg.cn/0edd4dcb6b904480babe7593eecab28a.png)
(图4)
![](https://img-blog.csdnimg.cn/67f2e78d6fe24b70bbd3aa2c9a636f3d.png)
(图5)
![](https://img-blog.csdnimg.cn/9e52eebc197b4eeb96b437d1b44ae4b1.png)
(图6)
![](https://img-blog.csdnimg.cn/09bbbeafa3834692974c82022c877177.png)
(图7)
import numpy
import numpy as np
import math
AllZeroMatrix=numpy.array([[1,2,3],[4,5,6],[7,8,9]])
a=aa=0
mm=1
count=0
cc=tt=0
A=[]
B=[]
T3=""
def Round_Robin(n,a):
global tt
global aa
global cc
global count
global AllZeroMatrix
global A
global B
global C
global D
global mm
global open
global T3
if n-1==0 or n%2!=0:
print("比赛日程表不需排") # 递归地对选手进行分割,直到只剩下一个选手时,比赛日程表不需排
else:
nn=n
print(n)
w=int(n/2)
if n!=0:
a+=1
print("w:",w)
print("a:",a)
print("\n")
if n>2:
return Round_Robin(int(n/2),a)
if a==1:
c=pow(2,2*a)
d=int(math.sqrt(c))
if count==0:
AllZeroMatrix=np.full((2,d),0) #全零矩阵 (n行,n列 ,填充数)
print(AllZeroMatrix)
z=pow(2,a)-1
u=pow(2,a)
print("z:",z)
#-------------------------------
AllZeroMatrix[0,z-1]=z
AllZeroMatrix[1,z]=AllZeroMatrix[0,z-1]
AllZeroMatrix[1,z-1]=u
AllZeroMatrix[0,z]=AllZeroMatrix[1,z-1]
#-------------------------------
if n==2:
print("AllZeroMatrix1:\n")
print(AllZeroMatrix)
return 0
print("AllZeroMatrix1:\n")
print(AllZeroMatrix)
qq=pow(2,aa-1)
for dd in range(qq):
T="a" +str(tt+1)+".csv"
if dd==0:
Mediator = "a" +str(dd+1)
Mediator1 = "b" +str(dd+1)
Mediator2 = "c" +str(dd+1)
Mediator3 = "d" +str(dd+1)
Mediator4 = "e" +str(dd+1)
print("\n")
Mediator=AllZeroMatrix[0:2,0+2*dd:(2+2*dd)]
print("Mediator-------------:\n")
print(Mediator)
Mediator1=AllZeroMatrix[0:2,0+2*dd:(4+2*dd)]
print("Mediator1-------------:\n")
print(Mediator1)
Mediator2=Mediator1[0:2,2:4]
print("Mediator2:\n")
print(Mediator2)
Mediator3 = np.concatenate((Mediator2, Mediator), axis=1)
print("Mediator3--------------:\n")
print(Mediator3)
Mediator4 = np.concatenate((Mediator1, Mediator3), axis=0)
print("Mediator4:\n")
print(Mediator4)
Mediator5=Mediator4
#Mediator4.tofile('a0.txt', sep = ' ')
numpy.savetxt(T, Mediator4, delimiter = ',')
elif dd>=1 and 4*dd<pow(2,aa):
tt+=1
Mediator=AllZeroMatrix[0:2,0+4*dd:(2+4*dd)]
print("Mediator:\n")
print(Mediator)
Mediator1=AllZeroMatrix[0:2,0+4*dd:(4+4*dd)]
print("Mediator1-------------:\n")
print(Mediator1)
Mediator2=Mediator1[0:2,2:4]
print("Mediator2:\n")
print(Mediator2)
Mediator3 = np.concatenate((Mediator2, Mediator), axis=1)
print("Mediator3--------------:\n")
print(Mediator3)
Mediator4 = np.concatenate((Mediator1, Mediator3), axis=0)
print("Mediator4:\n")
print(Mediator4)
Mediator6=Mediator4
M4 = np.concatenate((Mediator5, Mediator6), axis=1)
print("M4:\n")
print(M4)
M5 = np.concatenate((Mediator6, Mediator5), axis=1)
print("M5:\n")
print(M5)
M6 = np.concatenate((M4, M5), axis=0)
print("\n\n\nM6:\n")
print(M6)
M7=M6
if aa>=4:
Mediator5=Mediator4
#M6.tofile(T, sep = ' ')
T2="a" +str(mm)+".csv"
numpy.savetxt(T, M6, delimiter = ',')
print("tt:",tt)
#T3="a" +str(tt+1)+".csv"
JiShu=aa-3
for ban in range(JiShu-1):
#a1 a3 a5 a7
print("ban:",ban)
mm=2*ban+mm
mm2=mm
print("aa:",aa)
print("mm",mm)
print("T2:",T2)
my0 = numpy.loadtxt(open(T2,"rb"),delimiter=",",skiprows=0)
print("my0:\n")
my0=my0.astype(np.int32)
print(my0)
#mm2=mm+2
#print("mm2",mm2)
T3="a" +str(mm+2)+".csv"
print("T3:",T3)
print(tt)
my = numpy.loadtxt(open(T3,"rb"),delimiter=",",skiprows=0)
print("my:\n")
my=my.astype(np.int32)
print(my)
M8 = np.concatenate((my0, my), axis=1)
print("M8:\n")
print(M8)
M9 = np.concatenate((my, my0), axis=1)
print("M9:\n")
print(M9)
M10 = np.concatenate((M8, M9), axis=0)
print("\n\n\nM10:\n")
print(M10)
if aa>=5:
print("b:",b)
HELP=aa-4
bb=int(b/(2*HELP))-1
#print("M10[0,15]:",M10[0,15])
if M10[0,bb]==b:
numpy.savetxt('b1.csv', M10, delimiter = ',')
if M10[0,bb]==int(b/2):
numpy.savetxt('b2.csv', M10, delimiter = ',')
my3 = numpy.loadtxt(open('b1.csv',"rb"),delimiter=",",skiprows=0)
my4 = numpy.loadtxt(open('b2.csv',"rb"),delimiter=",",skiprows=0)
my3=my3.astype(np.int32)
my4=my4.astype(np.int32)
print(my3)
print(my4)
M11 = np.concatenate((my3, my4), axis=1)
print("M11:\n")
print(M11)
M12 = np.concatenate((my4, my3), axis=1)
print("M12:\n")
print(M12)
M13 = np.concatenate((M11, M12), axis=0)
print("\n\n\nM12:\n")
print(M13)
numpy.savetxt('b3.csv', M13, delimiter = ',')
my5 = numpy.loadtxt(open('b3.csv',"rb"),delimiter=",",skiprows=0)
my5=my5.astype(np.int32)
print("\n\n\n最终结果:\n")
print(my5)
continue
else:
c=int(pow(2,a))
print("c:",c)
if count==0:
aa=a
print("aa:",aa)
AllZeroMatrix=np.full((2,c),0) #全零矩阵 (n行,n列 ,填充数)
print(AllZeroMatrix)
#-------------------------------
for rr in range(pow(2,a-1)):
z=pow(2,a)-1-2*rr
u=pow(2,a)-2*rr
print("z:",z)
AllZeroMatrix[0,(z-1)]=z
AllZeroMatrix[1,z]=AllZeroMatrix[0,(z-1)]
AllZeroMatrix[1,(z-1)]=u
AllZeroMatrix[0,z]=AllZeroMatrix[1,(z-1)]
#-------------------------------
print("AllZeroMatrix2:\n")
print(AllZeroMatrix)
count+=1
return Round_Robin(0,a-1)
b=int(input("请你输入要选手数量:"))
Round_Robin(b,a)
64位的弄不了,把我大脑cpu给干烧了,不弄了哈哈哈
![](https://img-blog.csdnimg.cn/dba68caa16bc45dfb0b95816fa1cc25b.png)