# -*- coding: cp1251 -*-
import numpy as np
import time
print 'Матрица смежности'
m = np.loadtxt("input_file.txt", dtype='int')
i=1
j=len(m) # Подсчет размерности матрице
for element in m: # Цикл подсчета локальных вершин
if i<=j-1:
m[i,j]=np.sum(m[i,1:])
i = i+1
print m
print
np.amax(m[1:,j]) # Значение максимальной лок. вершины.
i=0
maxt=np.amax(m[1:,j])
print maxt
for element in m: # Цикл подсчета номера строки с макс элементом
if m[i,j]== maxt:
i
else: i= i+1
dr1=i
print dr1
# Вычисление 2 элемента
m = np.loadtxt("input_file.txt", dtype=np.float)
i=1
j=len(m)
# Подсчет размерности матрице
for element in m: # Цикл подсчета локальных вершин
if i<=j-1:
m[i,j]=np.sum(m[i,1:])
i = i+1
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
sk=np.array( [ m[12,j]/m[i,19] ])
maxt=np.amax([ m[12,j]/m[i,19] ])
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr2=j+1
print dr2
#Вычисление 3 элемента
i=np.array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14 ,15, 16, 17, 18])
j=np.array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14 ,15, 16, 17, 18])
#m1=np.delete(m, [11,12], 1)
sk=np.array( [ (m[dr1,j]+m[dr2,j])/m[i,19] ])
maxt=np.amax([ (m[dr1,j]+m[dr2,j])/m[i,19] ])
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr3=j+1
print dr3
#Вычисление 4 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
i=np.delete(i, [8,10,11], 0)
j=np.delete(j, [8,10,11], 0)
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j])/m[i,19] ])
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j])/m[i,19] ])
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr4=j+1
print dr4
#print m[i, 19]
#Вычисление 5 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,7]=0
m[i,9]=0
m[i,11]=0
m[i,12]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j])/m[i,19] ])
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j])/m[i,19] ])
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr5=j+1
print dr5
#Вычисление 6 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,7]=0
m[i,9]=0
m[i,11]=0
m[i,12]=0
m[i,8]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr6=j+1
print dr6
#Вычисление 7 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr7=j+1
print dr7
#Вычисление 8 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr8=j+1
print dr8
#Вычисление 9 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr9=j+1
print dr9
#Вычисление 10 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr10=j+1
print dr10
#Вычисление 11 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
m[i,dr10]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr11=j+1
print dr11
#Вычисление 12 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
m[i,dr10]=0
m[i,dr11]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr12=j+1
print dr12
#Вычисление 13 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
m[i,dr10]=0
m[i,dr11]=0
m[i,dr12]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j])/m[i,19] ])
#print (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j])
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr13=j+1
print dr13
#Вычисление 14 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
m[i,dr10]=0
m[i,dr11]=0
m[i,dr12]=0
m[i,dr13]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr14=j+1
print dr14
#Вычисление 15 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
m[i,dr10]=0
m[i,dr11]=0
m[i,dr12]=0
m[i,dr13]=0
m[i,dr14]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j]+m[dr14,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j]+m[dr14,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr15=j+1
print dr15
#Вычисление 16 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
m[i,dr10]=0
m[i,dr11]=0
m[i,dr12]=0
m[i,dr13]=0
m[i,dr14]=0
m[i,dr15]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j]+m[dr14,j]+m[dr15,j])/m[i,19] ])
#print [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j])/m[i,19] ]
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j]+m[dr14,j]+m[dr15,j])/m[i,19] ])
#print maxt
j=0
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
dr16=j+1
print dr16
#Вычисление 17 элемента
i=np.arange( 1, 19, 1 )
j=np.arange( 1, 19, 1 )
m[i,dr1]=0
m[i,dr2]=0
m[i,dr3]=0
m[i,dr4]=0
m[i,dr5]=0
m[i,dr6]=0
m[i,dr7]=0
m[i,dr8]=0
m[i,dr9]=0
m[i,dr10]=0
m[i,dr11]=0
m[i,dr12]=0
m[i,dr13]=0
m[i,dr14]=0
m[i,dr15]=0
m[i,dr16]=0
sk=np.array( [ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j]+m[dr14,j]+m[dr15,j]+m[dr16,j])/m[i,19] ])
#print sk
maxt=np.amax([ (m[dr1,j]+m[dr2,j]+m[dr3,j]+m[dr4,j]+m[dr5,j]+m[dr6,j]+m[dr7,j]+m[dr8,j]+m[dr9,j]+m[dr10,j]+m[dr11,j]+m[dr12,j]+m[dr13,j]+m[dr14,j]+m[dr15,j]+m[dr16,j])/m[i,19] ])
#print maxt
j=0
i=np.arange( 0, 17, 1 )
k=np.delete(i, [0,dr1,dr2,dr3,dr4,dr5,dr6,dr7,dr8,dr9,dr10,dr11,dr12,dr13,dr14,dr15,dr16], 0)
for element in sk[0,1:]: # Цикл подсчета номера строки с макс элементом
if sk[0,j]== maxt:
j
else: j= j+1
if maxt==0:
print k[0]
print k[1]
i=np.array([[dr1,dr2,dr3,dr4,dr5,dr6], [dr7,dr8,dr9,dr10,dr11,dr12], [dr13,dr14,dr15,dr16, k[0], k[1]]])
print 'Размещение элементов на плате'
print i
Суть в том что элементов 18. Я не могу написать функцию или цикл(я не знаю что нужо), что бы не писать код для размещения каждого отдельного элемента.