Бред


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
168 16 44

Аноним 24/10/19 Чтв 16:17:17 2060787681
15719147691590.jpg (125Кб, 1080x832)
1080x832
Screen Shot 201[...].png (524Кб, 2444x1214)
2444x1214
Так ебана. Был тред про олимпиадную задачу, который потерли за 5 минут, что я писал ответ. Я продублирую, иначе нахуя писал. Вот вам нормальное решения без единого цикла. Там в треде долбоебы хуни понаписывали, аж стыдно стало.

>>206071257
Очевидно, что решать в лоб это - проебать. (т.к. написать циклик перебора можно и в 7м классе)
Входящее значение N. Сумма первой половины sumPart1, сумма второй половины sumPart2. Разбивка N : [x1][x2][x3][y1][y2][y3].
Алгоритм такой.
1. Смотрим изначально, является ли y1 > sumPart1. Если да, то увеличиваем последний разряд первой части Тут же смотрим ошибку на переполнение в случае первой части 999 и пересчитываем sumPart1. Если нет, идем к пункту 4.
2. sumPart1 > 9, если нет - ответ: новая первая часть[][][] и [0][0][sumPart1]
3. Если да - ставим y3 = 9. Считаем rest = sumPart1 - y3. Если rest <= 9, ответ: новая первая часть[][][] и [0][rest][9]. Если rest > 9, ответ: новая первая часть[][][] и [sumPart1 - 18][9][9]
4. И так. Первая часть для ответа у нас уже есть. Подбираем ближайшую вторую.
Если sumPart1 - y1 < 18 , переходим к пункту 8. Иначе переходим к пункту 5.
5. restTwoDigits = sumPart1 - y1. Если restTwoDigits > 18, y1 = sumPart1 - 18
6. Если restTwoDigits <= 9, ответ [x1][x2][x3][y1][0][restTwoDigits]
7. В противном случае ответ [x1][x2][x3][y1][restTwoDigits - 9][9]
8. У нас [y1]+[y2] - минимальное число, которое нужно увеличить до достижения sumPart1. needToAdd = sumPart1 - y1 - y2. Если needToAdd <= 9, ответ [x1][x2][x3][y1][y2][needToAdd]
9. Иначе ответ [x1][x2][x3][y1][needToAdd - 9][9]

Надеюсь, что понятно. Вроде как очень просто описал, рисовать блоксхему лень.
Аноним 24/10/19 Чтв 16:19:37 2060788952
ОП того треда. Увидишь, обязательно реализуй. Так 1. быстрее дойдет 2. поможет в развитии
Аноним 24/10/19 Чтв 16:25:19 2060791803
>>206078768 (OP)
А ну и да. Алгоритм заточен на шестизначные числа. Можно и универсализировать, но в данном примере будет выполнено на несколько операций больше. Поэтому сделал разбор поразрядно с заданной длиной
Аноним 24/10/19 Чтв 16:33:37 2060796154
Аноним 24/10/19 Чтв 16:38:02 2060798325
>>206078768 (OP)
Т.е. вы хотите сказать, что я зря это высрал, и тому опу оно не надо?
Аноним 24/10/19 Чтв 16:39:59 2060799296
>>206078768 (OP)
Пункт первый

в условиях указано, что ближайшее к 265680 это 265706, что в корне неправильно, так как между 680 и 706 - 26 чисел, а между 680 и 670 - 10 чисел, и ближайшее к 265680 будет 265670

это собственно раз, а теперь пунк два, сейчас я пойду с работы домой и если вы дауны не проебете тред, я приду и покажу как эта задача решается в пару строчек.
Аноним 24/10/19 Чтв 16:43:50 2060801617
>>206079929
Там в примерах к условию ошибка, да, я тож видел.
Не думаю, что ты напишешь что-то быстрее моего решения. Можем даже проверить, не поленюсь его закодить. Че там? Джава пойдет. Сейчас накидаю
Аноним 24/10/19 Чтв 16:51:03 2060805638
бамп
Аноним 24/10/19 Чтв 17:00:33 2060810889
bump
Аноним 24/10/19 Чтв 17:14:27 20608174610
не утонуть
Аноним 24/10/19 Чтв 17:29:29 20608253711
>>206078768 (OP)

>Очевидно, что решать в лоб это - проебать. (т.к. написать циклик перебора можно и в 7м классе)
Интересно было бы посмотреть насколько это быстрее перебора, имею в виду, разумеется, он быстрее, просто если там какая-то ничтожная разница, которой можно пренебречь, то толку такое из себя высирать. Я понимаю, что задача олимпиадная и здесь смысл не в том, чтобы сделать эффективно, а чтобы выебнуться, но всё же, просто интересно.
Аноним 24/10/19 Чтв 17:34:58 20608285412
>>206082537
Через признак делимости на 11 я бы попробовал намутить. Первую половину ставлю на чётные позиции, вторую половину ставлю на нечётные. Но перебор проще, если нет других требований то чё мозг парить. Мб он даже быстрее получится.
Аноним 24/10/19 Чтв 17:34:59 20608285613
>>206082537
Доберусь, напишу для сравнения тебе и перебор
Аноним 24/10/19 Чтв 17:39:17 20608311514
>>206082856

Да не надо, алгоритм-то мне не нужен, к тому же там более-менее всё понятно, мне интересна скорость выполнения на одинаковой машине. Вот если оба напишешь в виде кода и прогонишь у себя — тогда сбрось время выполнения, если тред не утонет, будет здорово на это всё посмотреть.
Аноним 24/10/19 Чтв 17:46:02 20608344715
>>206083115
Да. Но не успею перед серфингом. Через часа 4 замучу, если тред не утонет
Аноним 24/10/19 Чтв 17:53:14 20608378416
>>206078768 (OP)
Падажжи ебана.
[code]
switch (input) {
case 398083:
return 398299;
case 265680:
return 265706;
// ...3 other cases
default: // never happens
throw new RuntimeException();
}
[/code]
Аноним 24/10/19 Чтв 17:54:52 20608387417
>>206083784
это были примеры для проверок
24/10/19 Чтв 17:56:17 20608393518
Аноним 24/10/19 Чтв 17:58:58 20608407419
В общем, если вы таки утопите тред за 4 часа, я пересоздам новый по возвращение.
https://arhivach.ng/thread/497299/
Аноним 24/10/19 Чтв 18:05:06 20608439920
Не топим, СТОИМ!!!
Аноним 24/10/19 Чтв 18:55:30 20608692121
пук
Аноним 24/10/19 Чтв 19:21:03 20608825322
Вот вам питоний цикл # убрать

n=int(input())
a, b=n, n

def check(n):
# s=str(n)
# return int(s[0])+int(s[1])+int(s[2])==int(s[3])+int(s[4])+int(s[5])

while a>0 and !check(a):
# a-=1

while b<1000000 and !check(b):
# b+=1

print(min(a, b))
Аноним 24/10/19 Чтв 19:21:18 20608826623
Аноним 24/10/19 Чтв 19:31:51 20608884324
Экипаж подводной лодки готов к погружению.
Аноним 24/10/19 Чтв 19:35:41 20608904925
Q
Аноним 24/10/19 Чтв 19:36:28 20608909326
>>206088253
Давайте прикинем частоту счастливых чисел.
Сумма трёх цифр >=0 и <=27.
Число 1 можно представить 3 способами (100,010,001)
2 - 3+3=6 способов
3 - 4+6*...
Аноним 24/10/19 Чтв 19:49:15 20608980327
>>206089093
55252 если нигде не ошибся.
т.е. чуть больше 1/20=5%
Если допустить что они распределены равномерно что, очевидно, не так, то среди любой 20-ки мы найдем хотя бы одно сч в интервале [0; 1000] их нет из чего следует что линейного алгоритма более чем достаточно.
Аноним 24/10/19 Чтв 19:52:51 20608999228
>>206089803
К слову, пробег по всей окрестности на питоне занял 33 сек что довольно много
А тут >>206088253 есть ошибки
Аноним 24/10/19 Чтв 20:26:48 20609187029
Аноним 24/10/19 Чтв 20:57:50 20609365430
б
Аноним 24/10/19 Чтв 21:01:35 20609389231
Аноним 24/10/19 Чтв 21:09:24 20609434132
Вы че на говне каком-то пилите, раз взялись, то пилите на чем-то нормальном, на том же С++, например
Аноним 24/10/19 Чтв 21:10:44 20609441833
Аноним 24/10/19 Чтв 21:12:01 20609449334
>>206094418
Да блять, чего не начинай то, это уже какой тред? Второй? Потому самый первый я видел часов 5 назад. И до сих пор не разрешили, хайв, блять, майнд. Дайти посмияцца то
Аноним 24/10/19 Чтв 21:23:05 20609507435
>>206078768 (OP)
Прочел таки текст задачки, вы серьезно так долго с этим ябётесь?
Аноним 24/10/19 Чтв 21:24:46 20609515236
ОП ты тут?
Аноним 24/10/19 Чтв 21:27:30 20609528937
Аноним 24/10/19 Чтв 21:29:44 20609542438
Pururin.full.64[...].jpg (212Кб, 1333x1000)
1333x1000
>>206095289
Расскажи мне, как вы за столько времени так и не пришли к какому-то результату?
24/10/19 Чтв 21:42:18 20609613239
>>206095424
В оп треде что-то есть
и мой питон
Аноним 24/10/19 Чтв 21:43:02 20609617740
А сажу бросил случайно
Аноним 24/10/19 Чтв 21:43:58 20609622141
>>206084074
Я вернулся с серфинга. Ща все запилю вам
Аноним 24/10/19 Чтв 21:44:55 20609629142
/hc
Аноним 24/10/19 Чтв 21:48:34 20609649943
\гороскоп

Сегодня звезды встали таким образом, что ты можешь получить по глазам. Однако, есть риск напихать от себя. Поэтому Двач напоминает тебе, братишка: все продается.
Аноним 24/10/19 Чтв 22:01:03 20609719744
>>206078768 (OP)
Что, блядь, ты несёшь?
На пхп это решается в лоб:
1 сторока: Берём это число, как стринг и превращаем в массив цифр.
2 строка: Делим массив на две части.
3 строка. Сравниваем сумму элементов этих двух массивов. если равны - решение найдено. Если нет, то смыть, повторить.

Можно, конечно, изъебнуться и проверить какой массив больше и скольько в меньшем не хватает, а потом высчитать результат, но нахуй и в пизду. Я сэкономлю две минуты своего времени на набивание кода, и пусть машина считает на 5 микросекунд дольше.
Аноним 24/10/19 Чтв 22:02:34 20609729445
>>206097197
Лол. Я и пишу, что с такими ебобо подходами нахуй можешь проследовать
Аноним 24/10/19 Чтв 22:06:56 20609753646
>>206097294
Мой подход быстро решает нужную задачу. Это раз. И решает её правильно, нет места ошибкам, опискам, неправильным алгоритмам. Это два. Мой код точно будет работать. А это и нужно работодателю рабочий код, который можно продать клиенту. Из денег клиента строится и моя зарплата. Всем насрать на алгоритмы, паттерны, хуятерны. Бизнесу нужно решение практических задач.
Аноним 24/10/19 Чтв 22:08:38 20609763047
>>206097536
>>Всем насрать на алгоритмы,
Спешите видеть: макака в треде!
Аноним 24/10/19 Чтв 22:15:39 20609805248
>>206079832
свежее говно стайлиш мен

да ты прав
Аноним 24/10/19 Чтв 22:15:50 20609808949
>>206083115
A нy и дa. Aлгopитм зaтoчен нa шестизнaчные числa. Мoжнo и yнивеpсaлизиpoвaть, нo в дaннoм пpимеpе бyдет выпoлненo нa нескoлькo oпеpaций бoльше. Пoэтoмy сделaл paзбop пopaзpяднo с зaдaннoй длинoй
Аноним 24/10/19 Чтв 22:18:22 20609846550
20936274438810.jpg (118Кб, 893x893)
893x893
Аноним 24/10/19 Чтв 22:19:27 20609861951
>>206089049
У втopaя бaлдeжнaя, кaк жe я в нee зaдpaчивaл
Аноним 24/10/19 Чтв 22:25:04 20609930152
14984470261410.jpg (48Кб, 959x652)
959x652
>>206083935
Почемy двачеpы так не любят Пyтина? Pазве не пpи нем битаpдам живется лyчше всего
Аноним 24/10/19 Чтв 22:32:35 20609971653
>>206082854
>признак делимости на 11
>быстрее получится
Деление вообще достаточно дорогой опкод процессора. Цена не только в скорости самого опкода (хотя деление в несколько раз медленнее умножения), а ещё и в занимаемых регистрах (для результата нужно два (частное и остаток), а делитель и делимое тоже загрузить как-то надо). gcc, ЕМНИП, в делении небольших чисел часто заменяет опкод деления на другой набор опкодов (например, на умножение с последующим шифтом битов) для оптимизации скорости. Но если сам компилятор языка не умеет переменные по регистрам раскладывать, а альтернатива требует простыню кода, то это не так и дорого будет, хоть и в оптимизированных алгоритмах деление стараются не использовать.

мимобайтоеб
Аноним 24/10/19 Чтв 22:33:06 20609972954
Не тонем, ведь скоро результат.
Аноним 24/10/19 Чтв 22:37:31 20609995755
>>206099301
ебаааать ПОШУТИЛ ИНТЕЛЛЕКТУАЛЬНО , мне чо теперь ПОХЛОПАТЬ ТЕБЕ МБ? так вот, хлопаю тебе по ебалу, кусок говна псевдоинтеллектуального
Аноним 24/10/19 Чтв 23:00:23 20610113856
>>206078768 (OP)
>Очевидно, что решать в лоб это - проебать.

PREMATURE OPTIMIZATION IS THE ROOT OF ALL EVIL

школьники-олимпиадники к жизни не приспособлены. Мои подчиненные обучены гнать таких пидоров ссаными тряпками с собеседований.

ентерпрайз-илита 300^10ксек
Аноним 24/10/19 Чтв 23:01:53 20610120457
>>206097536
>Мой подход быстро решает нужную задачу. Это раз. И решает её правильно, нет места ошибкам, опискам, неправильным алгоритмам. Это два. Мой код точно будет работать. А это и нужно работодателю рабочий код, который можно продать клиенту. Из денег клиента строится и моя зарплата. Всем насрать на алгоритмы, паттерны, хуятерны. Бизнесу нужно решение практических задач.

Зато у тебя нет дипломчика "Вручено участнику олимпиады Нижнезалупинского компьютерного клуба за второе место". Обоссал тебя.
Аноним 24/10/19 Чтв 23:11:43 20610172158
бамп
Аноним 24/10/19 Чтв 23:11:55 20610173659
>>206078768 (OP)
Схуяли это брутфорс через цикл не подходит? Наихудший там <2000 итераций всего блять, это ничтожно мало. На олимпиадные задачи обычно накладывают ограничения в 1 секунду исполнения, так что перебор самый оптимальный вариант.
Аноним 24/10/19 Чтв 23:14:35 20610188060
2019-10-2423-12[...].png (38Кб, 574x606)
574x606
>>206078768 (OP)
fkn ez
Впрочем, решение вышло то же, что и у ОПа.
Аноним 24/10/19 Чтв 23:21:28 20610222561
>>206101736
Прикол в том, что для реальных оптимизаций в разы выгоднее использовать ЯП более низкого уровня, чем пытаться переписывать на том же. Иначе все сводится к перебору конструкций синтаксиса языка в попытках найти более оптимальный набор опкодов, вместо написания этих же опкодов самому (asm, на крайняк с оберткой в C).
Аноним 24/10/19 Чтв 23:21:34 20610223462
>>206101880
Лол, Ты просто прогнал тесты, которые там для примера проверки. Алгоритм должен любую ситуацию подбирать
Аноним 24/10/19 Чтв 23:22:31 20610228463
import java.util.;

public class Main {

public static void main(String[] args) {
final int count = 10000000;

int[] values = new int[count];

Random r = new Random();

for (int i = 0; i < count; i++) {
int n = r.ints(1, (9999999 + 1)).limit(1).findFirst().getAsInt();
values = n % (int) Math.pow(10, (int) Math.log10(n));
}


System.out.println("============");
System.out.print("My solution time ms: ");
measure(new HappyTicketFinderMine(), values);
System.out.println("============");
System.out.print("Loop over time ms: ");
measure(new HappyTicketFinderLoopOver(), values);
}

private static void measure(IHappyTicketFinder finder, int[] dataset) {

long startTime = System.currentTimeMillis();

for (int value : dataset) {
finder.getNextHappyTicket(value);
}

long stopTime = System.currentTimeMillis();
long elapsedTime = stopTime - startTime;
System.out.println(elapsedTime);
}

interface IHappyTicketFinder {
int getNextHappyTicket(int current);
}

static class HappyTicketFinderMine implements IHappyTicketFinder {

@Override
public int getNextHappyTicket(int current) {

int[] digits = getAllDigits(current, 6);
int[] digitsFirst = Arrays.copyOfRange(digits, 3, 6);
int[] digitsSecond = Arrays.copyOfRange(digits, 0, 3);

int sumPart1 = calcSum(digitsFirst);
int sumPart2 = calcSum(digitsSecond);

if (sumPart1 == sumPart2) return current;

if (digitsSecond[2] > sumPart1) {

digitsFirst = getAllDigits(collectValue(digitsFirst) + 1, 3);
sumPart1 = calcSum(digitsFirst);

//новая первая часть[][][] и [0][0][sumPart1]
int[] ret = {sumPart1, 0, 0, digitsFirst[0], digitsFirst[1], digitsFirst[2]};
return collectValue(ret);

} else {

if (sumPart1 - digitsSecond[2] < 18) {

int needToAdd = sumPart1 - digitsSecond[2] - digitsSecond[1];
if (needToAdd <= 9) {

//ответ [x1][x2][x3][y1][y2][needToAdd]
int[] ret = {needToAdd, digitsSecond[1], digitsSecond[2], digitsFirst[0], digitsFirst[1], digitsFirst[2]};
return collectValue(ret);

} else {

//ответ [x1][x2][x3][y1][needToAdd - 9][9]
int[] ret = {9, needToAdd - 9, digitsSecond[2], digitsFirst[0], digitsFirst[1], digitsFirst[2]};
return collectValue(ret);

}

} else {

int restTwoDigits = sumPart1 - digitsSecond[2];
if (restTwoDigits > 18) {

digitsSecond[2] = sumPart1 - 18;

}

if (restTwoDigits <= 9) {

//ответ [x1][x2][x3][y1][0][restTwoDigits]
int[] ret = {restTwoDigits, 0, digitsSecond[2], digitsFirst[0], digitsFirst[1], digitsFirst[2]};
return collectValue(ret);

} else {

//ответ [x1][x2][x3][y1][restTwoDigits - 9][9]
int[] ret = {9, restTwoDigits - 9, digitsSecond[2], digitsFirst[0], digitsFirst[1], digitsFirst[2]};
return collectValue(ret);

}

}

}
}

}

static class HappyTicketFinderLoopOver implements IHappyTicketFinder {
@Override
public int getNextHappyTicket(int current) {

int sumPart1 = 0;
int sumPart2 = 0;

int iter = current - 1;

do {
iter ++;
int[] digits = getAllDigits(iter, 6);
int[] digitsFirst = Arrays.copyOfRange(digits, 3, 6);
int[] digitsSecond = Arrays.copyOfRange(digits, 0, 3);

sumPart1 = calcSum(digitsFirst);
sumPart2 = calcSum(digitsSecond);
} while (sumPart1 != sumPart2);

return iter;
}


}

static int calcSum(int[] digits) {
return digits[0] + digits[1] + digits[2];
}

static int[] getAllDigits(int val, int cap) {
int[] digits = new int[cap];
for (int i = 0; i < cap; i++) {
digits = val % 10;
val = val / 10;
}

return digits;
}

static int collectValue(int[] digits) {
int value = 0;
int mult = 1;
for (int digit : digits) {
value += mult
digit;
mult *= 10;
}

return value;
}

}
Аноним 24/10/19 Чтв 23:24:27 20610237164
>>206102284
Итого на 10000000 повторений вывод:
============
My solution time ms: 365
============
Loop over time ms: 7372

Получаем на таком количестве увеличение производительности в 20 раз. Всем спасибо
Аноним 24/10/19 Чтв 23:25:48 20610242865
Аноним 24/10/19 Чтв 23:27:53 20610253766
>>206102234
Наркоман?
Алгоритм решает ситуацию в целом, проверяя её по кейсам из таблицы. Или, по твоему, реальные unit-тесты выглядят как:
for (i in 0..999999) {
verifyMyShit()
}
?
Аноним 24/10/19 Чтв 23:33:28 20610277367
>>206102537
Не полностью вник в твое решение, но разве оно сработает, если нужно увеличить первую тройку цифр?
Аноним 24/10/19 Чтв 23:37:44 20610295968
У нас в школе я обосрался на подобной задаче в десятом классе (2000 г.): посчитать количество счастливых билетов, не используя цикл, на Паскале.
Аноним 24/10/19 Чтв 23:38:07 20610298269
Аноним 24/10/19 Чтв 23:39:28 20610304570
>>206102959
Это другая задача. Там через логорифмы решается в одну строчку
Аноним 24/10/19 Чтв 23:39:33 20610304971
>>206102773
Есть пример, где её вообще нужно увеличивать?
Аноним 24/10/19 Чтв 23:39:58 20610306772
Аноним 24/10/19 Чтв 23:40:08 20610307873
Аноним 24/10/19 Чтв 23:42:03 20610315374
>>206103078
Я потому и написал, что у них в задаче тесты не полные и их недостаточно.
Аноним 24/10/19 Чтв 23:43:18 20610320675
>>206103153
Но я тоже решил ее неверно. Не дочитал. Там не обязательно инкрементировать номер билета. Он может и вниз идти, просто сказано "ближайший". Пофиг. Смысл сохраняется, переделывать не буду
Аноним 24/10/19 Чтв 23:44:42 20610327176
image.png (81Кб, 850x947)
850x947
>>206102371
>>206102284

Вот перебором, получается меньше секунды для ВСЕХ возможных вариантов вообще. Так что это идеальный вариант для ОЛИМПИАДНОГО программирования т.к. там не одна такая задача, а 10, и побеждает не самый оптимизированный код, а тот кто предоставит решение максимально быстро. мимо не раз был на таких соревнованиях
Аноним 24/10/19 Чтв 23:44:54 20610327877
Аноним 24/10/19 Чтв 23:47:10 20610336678
>>206103271
я текстовое решение без редактора написал за 5 минут. Закодить его - 15 минут. В чем проблема? На олимпиадах не был, но, подозреваю, мое решение ебало в рот твои переборы при оценке задачи
Аноним 24/10/19 Чтв 23:47:38 20610338479
>>206103271
Да и хрен с ним. Это некрасивое решение, а мы сейчас не на одимпиаде.
24/10/19 Чтв 23:49:20 20610345680
>>206078768 (OP)
пошел нахуй со своим гото паттерном мудак
Аноним 24/10/19 Чтв 23:50:07 20610348181
>>206103456
> гото паттерном
это что?
Аноним 24/10/19 Чтв 23:54:23 20610364582
>>206103271
Уверен, что оно у тебя компайл-тайм не посчиталось или вообще оптимизировалось нахуй (away) для чисел кроме/после 228322? А то один умник уже так сравнивал скорость крестов и C# через луп, кресты в два раза проигрывали, а потом вскрыли машинный код, и оказалось, что в C# компилятор весь цикл просто удалил нахуй, а время уходило на подгрузку библиотек .NET.
Аноним 24/10/19 Чтв 23:54:28 20610364783
>>206103384

это красивое решение. Оно читается мгновенно и поддерживается легко, в отличие от оповского n = k + t - s % ohuet_kak_ja_krut. как правило, эти микрооптимизаторы могут переизобрести улучшенную сортировку пузырьком, но в реальном проекте не могут согласовать пять классов. Не этим надо выебываться, молодежь.

если ты будешь писать физический движок, у которого в ядре расчет счастливых билетиков - вот тогда залупишься и будешь наздоровье на ассемблере свою хуйню аптимизировать, выигрывая фпсы.
Аноним 24/10/19 Чтв 23:58:45 20610379784
image.png (144Кб, 1291x979)
1291x979
>>206103645
Да, я спецом для этого и запихал все в вектор т.к. компилятор пидор просто весь цикл удалял.
Аноним 25/10/19 Птн 00:01:50 20610391885
>>206103647
>Не этим надо выебываться, молодежь.
Братишка, ты еблан.
Работаю, как раз, в энтерпрайзе с сервлетами, где все хуй клали на эти ваши оптимизации. Там реально лишь бы денех приносило и слава богу, а машин докупим.

Однако, придя домой, абсолютно нет смысла писать ответы на рафинированные задачки с настроем, мол, "шоб работало". Тут интересно именно математическое решение. Кого ебёт, что оно у тебя "просто работает"? Ты этот код продавать собрался, или всё таки для развлечения, как и я, его пишешь?
Аноним 25/10/19 Птн 00:02:50 20610397086
>>206103481

Это бумер застрял во временах, когда использовали ассембли омегалул.
Аноним 25/10/19 Птн 00:05:02 20610405987
Не работает для 987000 - > 986986
Аноним 25/10/19 Птн 00:07:26 20610415288
изображение.png (43Кб, 923x922)
923x922
Аноним 25/10/19 Птн 00:07:36 20610416089
>>206104059

Второй сверху тест из текста задачи, кажется, тоже не проходит.
Аноним 25/10/19 Птн 00:08:01 20610417790
>>206104160

А, нет, проходит, извиняюсь.
Аноним 25/10/19 Птн 00:09:12 20610422491
>>206103918
>Ты этот код продавать собрался, или всё таки для развлечения, как и я, его пишешь?

и вот скажи мне, развлекатор, тебя развлекают эти макароны на бейсике?
>Если sumPart1 - y1 < 18 , переходим к пункту 8. Иначе переходим к пункту 5.
меня нет. это тупо и некрасиво.

вот если бы кто попробовал по-крупному разменять время на память и заебошить хеш-табличку (математически подумав, не длиной в 999999, понятно) - вот это было бы забавно, я бы поаплодировал.
Аноним 25/10/19 Птн 00:10:31 20610427392
>>206078768 (OP)
вы чё, ебанутые? просто берешь и хуяришь 999999 строк условия :

If x=000001 then y=001100
If x=000002 then y=001100
...
...
If x=222223 then y=222222
...
...
If x=999999 then y=999999

И всё блять, конец, работает? Работает. И похую.
Аноним 25/10/19 Птн 00:13:21 20610437493
>>206104224
>вот если бы кто попробовал по-крупному разменять время на память и заебошить хеш-табличку
>>206104273
>вы чё, ебанутые? просто берешь и хуяришь 999999 строк условия

хеш-табличка уровня бэ.
алсо аплодирую.
Аноним 25/10/19 Птн 00:13:36 20610438494
image.png (25Кб, 695x204)
695x204
>>206104152
И че, это типо круто найти счастливый билет для одного числа за 0.032 милисекунды?
Вот как это происходит на языке богов.
Аноним 25/10/19 Птн 00:15:56 20610448295
>>206104384
>Вот как это происходит на языке богов.

10 PRINT "PASHOL NAHUI"
20 GOTO 10
RUN
Аноним 25/10/19 Птн 00:16:39 20610451096
>>206104224
>и вот скажи мне, развлекатор, тебя развлекают эти макароны на бейсике?
Они уже лучше чем брутфорс. Ясен хрен, это не вершина инженерной мысли, но уже более интересно чем "я просто буду дрочить счётчик, ыыы".
Наверное тебе покажется невероятным инсайтом, но все изначально знают приведённое тобой решение. И оно начинает сосать, стоит только числу из условия подрасти на несколько знаков.
Аноним 25/10/19 Птн 00:20:46 20610468397
Ебать вы.
1. Отнимаем сумму второй половины чисел от первой.
2. Делаем из второй половины число
3. Прибавляем сумму из пункта 1 ко второй половине
4. Готово
Серьёзно?
Аноним 25/10/19 Птн 00:22:22 20610474798
>>206104683
>1. Отнимаем сумму второй половины чисел от первой.
>2. Делаем из второй половины число
>3. Прибавляем сумму из пункта 1 ко второй половине
>4. Готово
Работает только в некоторых случаях.
Аноним 25/10/19 Птн 00:22:57 20610477799
>>206104683
Не, нихуя.
Проверни это для:
1990 -> 2002
Аноним 25/10/19 Птн 00:25:25 206104875100
>>206104747
Тесты указанные проходит? Проходит ну ладно, на самом деле мне лень проверять Первую половину там не трогают, потому что любое изменение первой половины это уже нихуя не более близкое число ибо разряды первой половины больше разрядов второй по определению.
Переполнения числа которое составлено из второй части быть не может.
Аноним 25/10/19 Птн 00:26:06 206104913101
>>206104510
>И оно начинает сосать, стоит только числу из условия подрасти на несколько знаков.

Magic numbers "sumPart1 - y1 < 18" начинают не просто сосать, а принимать в жопу, стоит только числу подрасти на ОДИН знак.

Если бы задача ставилась исходно в обобщенном виде, никому и в страшном сне не пришел бы вот этот весь ad-hoc хакинг из ОП-поста. И в обобщенном виде это хоть как-то интересно было бы обсуждать. Но ОП ставит задачу "давайте оптимизировать хуйню".

>но уже более интересно

Ладно, Господь с вами. Развлекайтесь. Сдаюсь.
Аноним 25/10/19 Птн 00:26:46 206104938102
>>206104875
>Тесты указанные проходит?
Макакен, какая разница, проходит тесты или нет, если алгоритм все равно некорректный?
Аноним 25/10/19 Птн 00:27:34 206104967103
>>206104777
1+9 - (9+0) = 1
90+1 = 91
1991 ответ. Что не так?
Аноним 25/10/19 Птн 00:28:02 206104985104
>>206104683
>Ебать вы.
>1. Отнимаем сумму второй половины чисел от первой.
>2. Делаем из второй половины число
>3. Прибавляем сумму из пункта 1 ко второй половине
>4. Готово
>Серьёзно?

Вот это уже прикольненько. "Проверять я это, конечно, не буду"(с), но хотя бы полет мысли и математический геней.
Аноним 25/10/19 Птн 00:28:15 206104991105
gg
Аноним 25/10/19 Птн 00:31:15 206105103106
>>206104967
В твоём решении выхордит: 001990 -> 001991
0+0+1 = 1
9+9+1 = 19
Что не так сам догадаешься?
Аноним 25/10/19 Птн 00:31:21 206105106107
>>206104967
Разряды числа по 3 знака как бе, 1!=9+9+1
Аноним 25/10/19 Птн 00:33:40 206105190108
>>206104985
>>206104938
Я понял, я понял. Я проверил и увидел что это не сработает.
Ну ладно. Тогда ту разницу двух частей надо распределять между отдельными числами второй половины, начиная справа (то есть, с наименее значимых разрядов), проверяя чтобы мы не впёрлись в граничные условия. Наверное это и написано в ОП-посте.
Аноним 25/10/19 Птн 00:33:47 206105196109
2019-10-2500-32[...].png (71Кб, 554x1024)
554x1024
>>206101880
Вроде живое, хоть и сложность возрасла.
Аноним 25/10/19 Птн 00:51:21 206105799110
2019-10-2500-50[...].png (79Кб, 737x861)
737x861
Аноним 25/10/19 Птн 00:55:03 206105896111
>>206105196
>>206105799
Дурак что ли такой здоровый высер с одним 4-байтовым параметром инлайнить? У тебя встроенный ассемблер есть, оптимизатор хуев
Аноним 25/10/19 Птн 00:57:14 206105942112
>>206105896
Просто иди нахуй.
Доебался до хуйни. Рот твой ебал, собаку твою ебал, сестру твою у тебя на спине ебал, полоумный ты чёрт.
Аноним 25/10/19 Птн 00:59:56 206106024113
>>206078768 (OP)
У этих пидоров в примерах ошибка. Второй должен быть 265670, а не 265706.
Аноним 25/10/19 Птн 01:00:56 206106049114
>>206078768 (OP)
> Очевидно, что решать в лоб это - проебать. (т.к. написать циклик перебора можно и в 7м классе)
С хуя ли? В нормальных олимпиадных задач всегда пишут ограничения по времени, а здесь их нет.
Число шестизначное, его перебор не займет хоть сколь нибудь значимого времени.
Аноним 25/10/19 Птн 01:04:53 206106193115
>>206105942
Хуя макаку порвало. Чего же ты через Ctrl-C прямо туда кода не налепил, а компилятору приказал это сделать? Слов модных в доках насмотрятся и пихают их куда попало, не разобравшись в сути. Компилятор может быть и сам бы заинлайнил твои высеры, если бы в этом был смысл
Аноним 25/10/19 Птн 01:09:17 206106330116
Какие же двачеры тупые, пиздец просто. Решать элементарную задачу через какую-то жопу.
Аноним 25/10/19 Птн 01:09:45 206106340117
Screenshot4188.png (52Кб, 746x940)
746x940
>>206105190
Слегка через жопу но вот это так делается.
Я победил. Можно наконец-то пойти покурить и спать.
Аноним 25/10/19 Птн 01:25:31 206106893118
>>206106340
Вот это красивый код со стороны байтоеба. Только простые операции (вычитание, добавление и присваивание), никаких дорогих делений. Молодец, хорошо сделал.
Аноним 25/10/19 Птн 01:26:25 206106933119
>>206106893
Я так и не пойму, тред для прикола создан или нет?
Аноним 25/10/19 Птн 01:28:43 206106999120
>>206106893
> Вот это красивый код со стороны байтоеба.
> Хранить данные в массивах
Ну-ну
Аноним 25/10/19 Птн 01:31:49 206107085121
>>206106999
Чем тебе массивы-то не угодили?
Аноним 25/10/19 Птн 01:35:55 206107203122
>>206106893
Можно отоптимизировать по памяти, сэкономив целых 12 байт, если засунуть ticket_lhs, ticket_rhs и diff в первые три элемента массива, но я уже не стал так издеваться
Аноним 25/10/19 Птн 01:45:59 206107480123
>>206106999
А где их хранить предлагаешь? Через inline assembly он явно никто не будет раскидывать по регистрам и добавлять, а возможностями языка нормально. В крестах, как и в C, массив это указатель на первый элемент, а с RAM данные брать всё равно придется, т.к. хуй там компилятор будет по регистрам это всё раскидывать. Вот по делу мог доебаться, что написано через main, а не mainCRTStartup с кастомным парсингом параметров. Тернарка тоже, например, не самая дешевая вещь, но компиляторы её гораздо лучше if оптимизируют.

>>206107203
Оптимизаций там ещё дофига можно сделать, если переписать весь код на ассемблер, т.к. почти любой ЯП сам по себе будет иметь настолько огромный оверхэд, что пара десятков байтов - капля в море.
Аноним 25/10/19 Птн 01:47:50 206107518124
>>206106340
Ебать вы хуиту программируете. Эта олимпиадная задача на 7кю по рейтингу codewars не тянет.
Аноним 25/10/19 Птн 01:52:59 206107653125
>>206107480
Эта строка вся влезет в 64-битный регистр, то есть тут вообще всю программу можно кое как уложить не особо трогая память кроме как чтобы один раз прочитать строку аргумента и один раз добавить туда то что нужно.
В первую очередь мог пнуть не за main а за то что юзаю iostream вообще там где один puts только и нужен
Аноним # OP 25/10/19 Птн 02:06:37 206107977126
>>206104913
> Magic numbers "sumPart1 - y1 < 18" начинают не просто сосать, а принимать в жопу, стоит только числу подрасти на ОДИН знак.
Привет, кодировщик. Я там писал, что можно мою схему универсализировать. Это, как два пальца, и будет работать в десятки раз быстрее, чем перебор. Но в приведенном условии о 6 знаках быстрее будет работать захардкоженный алгоритм именно под 6 знаков.
ты бы не прошел мое собеседования, звыняй
Аноним 25/10/19 Птн 02:16:19 206108249127
>>206107653
>тут вообще всю программу можно кое как уложить не особо трогая память
Если бы он на ассемблере писал/знал его, тогда да. Но для крестов код достаточно оптимальный, не учитывая вышеприведенные замечания. Вот этот вариант, например >>206103271 гораздо хуже, как мне кажется (чуть ли не до того, что будет дешевле конвертировать в массив char'ов, а потом уже работать с ним).

>iostream вообще там где один puts только и нужен
Не разбирался с стандартной либой крестов (сишную получше знаю), так что интуитивно не заметил. Вообще тогда можно напрямую вызывать системные ядро/библиотеку, заодно и размер бинарника должен упасть в несколько раз (на Windows весь ввод/вывод в консоль через вызовы к Kernel32 делается).
Аноним 25/10/19 Птн 02:29:25 206108598128
>>206108249
Знаю я ассемблер и это ты мне отвечаешь, кстати
Думал сейчас как переписать под ассемблер, но уже голова не варит, не могу быстро придумать как conditional set/move заюзать чтобы прыжки не юзать.
iostream вообще может спровоцировать на оператор << вызов виртуальной функции, хотя я точно не скажу, может операторы под дефолтные типы невиртуальные.
printf/puts тоже есть в kernel32.dll или ntdll.dll, а писать бойлерплейт чтобы вывести в консоль два раза не особо интересно. Уверен что GetStdHandle вызывается и так при старте программы чтобы stdout работал, так что вызывать его снова не круто, круто юзать готовый puts который там зашит и так.
По памяти, я подумал, не оптимизируешь больше на плюсах: тот код что я написал позволяет компилятору ticket_[lhs/rhs] и diff поместить в регистры. Энивей, стек на нас определённого размера так и так выделен, reserved и committed даже с самого старта программы, так что я ничего не трачу, просто юзаю что у меня уже лежит под рукой.
Парсить аргументы самому... Ну, да, там универсальный алгоритм, не заточенный под конкретно два аргумента, но он, я уверен, достаточно быстр.
Да и вообще всю эту программу загрузить в память дольше чем исполнить.
Надо спать, просплю завтра всё
Аноним 25/10/19 Птн 02:30:18 206108619129
>>206107977
>ты бы не прошел мое собеседования, звыняй
Упаси господь даже просто попасть на собеседование в такое место. Это же как оголодать нужно. Может тебе и ручку продать, эйчар?
Аноним 25/10/19 Птн 02:32:42 206108663130
>>206108619
)) запах гари неосилторов и говнокодеров. приятненько
Аноним 25/10/19 Птн 02:35:22 206108719131
>>206108663
>говнокодеров
>Если sumPart1 - y1 < 18 , переходим к пункту 8. Иначе переходим к пункту 5.

не продолжай.
Аноним 25/10/19 Птн 02:39:25 206108795132
>>206108719
Мань, да как бы я переменные не назвал, твой всратый цикл хуже где-то в 40 раз. Хммм. А ведь писать 18 - это лучше, чем писать const max 9, ... < max*2, не сможешь найти мужества, чтобы это принять?
Аноним 25/10/19 Птн 02:42:49 206108861133
>>206108598
>Знаю я ассемблер и это ты мне отвечаешь, кстати
Думал, что с двумя людьми разговариваю, лол.

В чистом C чуть получше можно оптимизировать, конечно. Там хотя бы есть ключевое слово register, популярные компиляторы под винду его вроде как пытаются использовать (а gcc нет).

>Да и вообще всю эту программу загрузить в память дольше чем исполнить.
Вот из-за этого часто и возникает желание переписать на ассемблер. Подключил пару библиотек с прокладками для системных библиотек, а там уже бинарник на 50+ KB. Вот на ассемблере можно хорошие прокладочки пописать, даже если сама программа на C/++ будет.

>Надо спать, просплю завтра всё
Иди, конечно. ОПа оригинального треда вообще только решение на Delphi интересовало, как я понял, так что мы тут хуйней занимаемся.

Удачи тебе, анон! Спокойной ночи, спасибо за разговор. Рад, что ещё не всех байтоебов заменили на хипстеров-смузихлебов.
Аноним 25/10/19 Птн 02:48:28 206108955134
>>206108795
>А ведь писать 18 - это лучше, чем писать const max 9, ... < max*2
Чем лучше? Компайл-тайм ведь рассчитывается. Если там значение в нескольких местах используется, и может возникнуть необходимость его когда-либо поменять, то лучше вынести в константу же

мимодругойанон
Аноним 25/10/19 Птн 02:49:09 206108971135
Лол, в этом треде нет ни одного человека, знающего линейное программирование? Задача же аналитически за 5 минут решается, а вы с кодом не можете, дауны
Аноним 25/10/19 Птн 02:51:39 206109017136
>>206108955
> может возникнуть необходимость его когда-либо поменять, то лучше вынести в константу же
не может
Аноним 25/10/19 Птн 02:52:21 206109028137
>>206108861
Где-то читал что сегодня register не стоит юзать: компиляторы умнее стали, сами поймут что стоит в регистры пихать а что не стоит.
Хотя, я видел как в 32-битных программах MSVC делает регистр полный нулей чтобы обнулять другие регистры вместо того чтобы юзать xor eax, eax который процессоры давно привыкли особо обрабатывать без реального XORинга. Короче, это уже надо играться и тестировать разные возможности оптимизации. И почитать что там компилятор сейчас нагенерил.
Доброй ночи, да
Аноним 25/10/19 Птн 02:52:50 206109036138
>>206108955
> поменять
> вынести в константу
ватафак эм ай ридин?
Аноним 25/10/19 Птн 02:53:27 206109050139
>>206108971
А по сабжу, обозначим входные цифры l1, l2, l3, r1, r2, r3. Ну вы понели что они значат. Искомые цифры обозначим также, но со штрихами. Задача сводится к поиску минимума следующей функции:
100000 (l1' - l1) + 10000 (l2' - l2) + ... + (r3' - r3)
при условии:
l1' + l2' + l3' = r1' + r2' + r3'
т.е. мы получаем задачу на поиск минимума линейной функции при линейном ограничении
Как такое решать - знает каждый инженегр первокурсник
Аноним 25/10/19 Птн 02:54:13 206109069140
>>206108971
Так ты расскажи, будем знать. Я погуглил, что-то сильно математическое. Я на пальцах считаю, так что очевидно что про такую штуку я не знаю
Аноним 25/10/19 Птн 02:55:44 206109097141
>>206109050
мальца проебался с функцией для минимизации - нужен модуль от этой параши. ну или взять квадрат разности, это ни на что не повлияет, а анаитически будет приятней решать
Аноним 25/10/19 Птн 02:57:54 206109137142
>>206109017
Ты вообще или про этот конкретный случай? В этом конкретном случае ты прав, а вот в другом коде - нет (я воспринял, что ты имеешь ввиду, что целочисленные константы вообще плохо юзать, а не в примере из ОП-поста)

>>206109036
Поменять с перекомпиляцией, очевидно же
Аноним 25/10/19 Птн 02:58:20 206109150143
мне влом читать весь тред, но никто еще не предложил просто заранее все это просчитать и сложить в массив?
мегабайтный массив в целом то фигня по меркам нынешнего быдлокодерства, зато скорость куда как пошустрее будет
Аноним 25/10/19 Птн 03:00:20 206109189144
>>206109097
Ах да, если взять тупо квадрат разности в качества целевой функции - тупо получится система из 7 линейных уравнений с 7 неизвестными. А под это дело уже есть готовые бибилиотеки которые решат за 3 наносекунды
Аноним 25/10/19 Птн 03:07:43 206109311145
>>206109150
Если я правильно посчитал, то для хранения всех шестицифровых значений нужно будет около 3.5 мегабайт. В RAM сложить и брать результат оттуда идея вполне себе ничего, но этот тред скорее про олимпиадное программирование (где каждая доля секунды и килобайт памяти важны, а время на написание кода - нет)
Аноним 25/10/19 Птн 03:12:49 206109401146
>>206109311
достаточно хранить дельты, и вот тут возникает вопрос, хватит ли одного байта? это уже теорема, которую также можно олимпиадно задать
но двух байтов однозначно хватит с головой - следовательно 2 миллионов байт гарантированно хватит, если не страдать уплотнением
уж 25 лет меня мучает желание нарисовать софтину которая на полотне 1000x1000 пикселей зажжет все счастливые билеты...
но хватает иных задач
Аноним 25/10/19 Птн 03:15:45 206109442147
>>206103647
>это красивое решение
>Решать не нп-полную задачу перебором
>красивое решение

Аноним 25/10/19 Птн 03:18:01 206109479148
>>206109401
>уж 25 лет меня мучает желание нарисовать софтину которая на полотне 1000x1000 пикселей зажжет все счастливые билеты
Интересная идея. Не ленись, сделай обязательно. Я в свое время делал скатерть Улама, тоже интересно было
Аноним 25/10/19 Птн 03:22:06 206109551149
>>уж 25 лет
>Не ленись
тебе ничего сдесь не кажется нестыкующимся?
я помню как поставить точку на экране в досе, бейсиках, паскалях, сях
но сейчас же мне для этой радости придется вникать во чтото современное, ну какойть GD например

хотяяя... я же могу просто в однострочником на перле сгенерить xpm и тупо его конвертнуть потом в png
Аноним 25/10/19 Птн 03:31:09 206109689150
>>206109551
Можно прям в браузере на js посчитать и вывести в canvas. Это наверное проще всего.
Аноним 25/10/19 Птн 03:32:07 206109704151
>>206109689
не, мне не проще - это надо курить канвасы эти на js
мне проще на перле нашлепать
ща...
Аноним 25/10/19 Птн 03:51:00 206109951152
1.png (1Кб, 1000x1000)
1000x1000
>>206109689
ну мне влом щас страдать детальным анализом сего высера, проще спросить альтернативного мнения
#!/usr/bin/perl
use v5.12;

say <<HEAD;
static char* z[]={
"1000 1000 2 1",
". c #000000",
"x c #ffffff",
HEAD

for(0..999){
my$z=eval join '+', split'';
my$l='';
$l.=($z == eval join '+', split'')?'x':'.' for 0..999;
say qq'"$l",';
}

say '};'
Аноним 25/10/19 Птн 03:58:28 206110058153
.png (35Кб, 1000x1000)
1000x1000
Аноним 25/10/19 Птн 03:59:40 206110069154
>>206110058
мне кажется что ты пиздишь
Аноним 25/10/19 Птн 04:00:03 206110073155
.png (17Кб, 536x511)
536x511
Аноним 25/10/19 Птн 04:00:30 206110086156
>>206110069
а не, возможно и не пиздишь...
ну код показывай тогда
у меня выхлоп 1кб, у тебя 35кб
Аноним 25/10/19 Птн 04:07:12 206110162157
>>206109951
Пипец перловка какая. Давно ее не видел.
Аноним 25/10/19 Птн 04:10:29 206110198158
>>206110162
это я еще спать немного хочу, потому без гольфа
ато там бы вместо split-join-eval был бы примитивный s///e
хотя... щас поссу, бокал обновлю, чуть курну perlre, ибо не помню нужного мне кусочка, и чуть "упрощу" это
Аноним 25/10/19 Птн 04:17:45 206110312159
Лол, большинство скопировали мой алгоритм перебора из прошлого треда.
Аноним 25/10/19 Птн 04:33:02 206110523160
>>206110162
#!/usr/bin/perl
use v5.12;

say <<HEAD;
static char* z[]={
"1000 1000 2 1",
". c #000000",
"x c #ffffff",
HEAD

for my$z(map{eval(s/(?=.)/+/gr)}0..999){
say '"'.(join'', map{$z==eval s/(?=.)/+/gr?'x':'.'}0..999).'",'
}

say '};'

# чутка упростил, наслаждайся
Аноним 25/10/19 Птн 04:34:55 206110546161
>>206110523
#!/usr/bin/perl
use v5.12;

say <<HEAD;
static char* z[]={
"1000 1000 2 1",
". c #000000",
"x c #ffffff",
HEAD

for my$z(map{eval(s/(?=.)/+/gr)}0..999){
say '"',(map{$z==eval s/(?=.)/+/gr?'x':'.'}0..999),'",'
}

say '};'

#пардон, забыл мусор убрать
Аноним 25/10/19 Птн 04:46:21 206110696162
>>206110546
Мозговзрывающая штука. Надеюсь, никогда больше не придется на нее смотреть.
Аноним 25/10/19 Птн 04:50:23 206110742163
>>206110696
ну в продакшн так всеравно никто не пишет
но всетаки за что люблю перл - это за то что на нем можно так вот, матом, писать
Аноним 25/10/19 Птн 04:51:25 206110749164
>>206110742
да и собственно тут то ничего особенного то и нет, так, дешовый синтаксический сахар
Аноним 25/10/19 Птн 09:04:02 206115751165
Аноним 25/10/19 Птн 09:27:21 206116550166
.png (18Кб, 559x469)
559x469
>>206110073
Чутка упростил. Канвас в начале все равно забивается нулями, поэтому нет смысла его нулями повторно заполнять.
Аноним 25/10/19 Птн 09:32:37 206116732167
Аноним 25/10/19 Птн 09:38:06 206116923168
Аноним 25/10/19 Птн 11:56:42 206122987169
>>206099716
Да я в курсе что деления на степени двойки сделаны через побитовые сдвиги, другие деления через умножения могут быть. Сам пользуюсь при умножении десятичных на 5 в уме умножаю на 10 и делю на 2, это проще если как я не знаешь таблицу умножения. Циклы конвееризуются хорошо, а в хитрых схемах он ломаться будет. Написать несколько вариантов и проверить надёжнее чем впадать в теорию алгоритмов и байтоебство с дизассемблированием.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов