Re: Виведення масиву в консоль
FakiNyan, не думали дівчину завести?
та за нею доглядати треба буде, кормити, вигулювати, до лікара водити, якщо щось станеться, нащо мені той гемор?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Python → Виведення масиву в консоль
Для відправлення відповіді ви повинні увійти або зареєструватися
FakiNyan, не думали дівчину завести?
та за нею доглядати треба буде, кормити, вигулювати, до лікара водити, якщо щось станеться, нащо мені той гемор?
Зате діти будуть україномовні. Це корисніше для мови, ніж вишукувати збіги в назвах картинок.
Зате діти будуть україномовні. Це корисніше для мови, ніж вишукувати збіги в назвах картинок.
думаєте?
можете будь-ласка перевести цей код:
for i:=0 to n-1 do begin
read(A[i]);
read(B[i]);
readln(C[i]);
end;
for i:=2 to n do begin
for j:=0 to n-i do begin
if A[j]>A[j+1] then begin
tmp := A[j]; A[j]:=A[j+1]; A[j+1]:= tmp;
end;
if B[j]>B[j+1] then begin
tmp := B[j]; B[j]:=B[j+1]; B[j+1]:= tmp;
end;
if C[j]>C[j+1] then begin
tmp := C[j]; C[j]:=C[j+1]; C[j+1]:= tmp;
end;
end;
end;
if n mod 2 == 1 then begin
Ac:=A[n div 2];
Bc:=A[n div 2];
Cc:=A[n div 2];
end else begin
Ac:=(A[n div 2]+A[n div 2 + 1]) div 2;
Bc:=(B[n div 2]+B[n div 2 + 1]) div 2;
Cc:=(C[n div 2]+C[n div 2 + 1]) div 2;
end;
з паскаля на python?
буду дуже вдячний)
Можу (сподіваюся, ви мали на увазі "перекласти").
Але виключно за умови, що мій переклад ви нікуди не будете поширювати, а використаєте виключно для навчання на цьому сайті. Вам потрібно, щоб вас забанили на алготестері за крадіжку?
можете будь-ласка перевести цей код
з паскаля на python?
буду дуже вдячний)
Переклав
import bisect
def f(n):
abc = [ [], [], [] ]
for i in range(n):
l = list(map(int, input().split(" ")))
for k, v in enumerate(abc):
bisect.insort(v, l[k])
abc = list(map(list, zip(*abc)))
n = n - 1
median = list(map(lambda a, b: (a + b) // 2, abc[n // 2], abc[n // 2 + n % 2]))
return median
print(" ".join(list(map(str, f(int(input()))))))
Для відправки на algotester потрібно додати лише 2 рядки коду.
1) Замість return median, вертайте суму модулів різниць елементів abc і відповідних елементів median
2) Замінити print(...)
Код тестований, дає правильні відповіді, але надто повільний.
Я на 4-тому тесті не вклався в 2 секунди.
Зате діти будуть україномовні. Це корисніше для мови, ніж вишукувати збіги в назвах картинок.
Є задача, є код програми
import bisect
n = int(input())
abc = [ [], [], [] ]
for i in range(n):
l = list(map(int, input().split(" ")))
for k, v in enumerate(abc):
bisect.insort(v, l[k])
median = list(map(lambda i: i[(n - 1) // 2], abc))
s = 0
for i in range(n):
s += sum(map(lambda m, v: abs(m - v[i]), median, abc))
print(s)
Перші 3 тести проходить, а далі не вкладається в ліміт : 2 секунди.
Не розумію чому.
Може хтось знає, то підкажіть. Де тут вузьке місце ?
Переписав без
map
enumerate
import bisect
n = int(input())
abc = [ [], [], [] ]
for i in range(n):
l = input().split(" ")
for k in range(3):
bisect.insort(abc[k], int(l[k]))
n -= 1
median = [ abc[0][(n) // 2], abc[1][(n) // 2], abc[2][(n) // 2] ]
n += 1
s = 0
for k in range(3):
for i in range(n):
s += abs(median[k] - abc[k][i])
print(s)
Те саме.
Схоже проблема в bisect.insort(...)
Так, проблема була в bisect.insort.
Замінив на звичайний append, потім додав sort і пройшов всі тести.
Для відправлення відповіді ви повинні увійти або зареєструватися