У меня есть файл с 4000 000 данных. Я начинаю программировать на Python. Я хочу найти путь до 7 к 1. Но у меня есть некоторые условия:
1.- Путь должен быть нисходящим, например: 7, 6, 5 .... 1 (в надежде быть последовательным), но может быть 7,6,3,1. Основная цель - спуск (второй столбец). Представьте, что подложка между строками должна быть = 1, чтобы их идентифицировать
2.- Путь не должен идти вверх. Например: если я нахожусь в 7, 6, 5..и тогда 6 не является правильным. Следующее число 5 должно быть числом 4 или другим ниже, но не выше. Представляю, что подложка между строками должна быть -1, чтобы их идентифицировать
3.- Можно повторить цифры. Например, если я нахожусь в 7, у меня могло бы быть несколько строк в 7 прежде, чем пройти 6, и это было бы хорошо. Помните, что главная цель - не идти вверх, а идти вниз. Я предполагаю, что результат будет постоянным 0 или 1.
4.- Если одно из этих условий ложно, то:
а) начать заново, но не в первой строке, где есть 7. Я имею в виду, начать со следующей строки, где есть 7 (вторая 7 в файле)
если не существует пути, начинающегося с 7, возьмите затем строку с 6 и т. д., пока не найдете путь для достижения 1.
б) или начать с последней строки, где процесс прерывается. (Я не знаю, эффективен ли этот вариант)
В резюме я хочу найти путь, по которому нужно идти от 7 до 1 по убыванию, а не идти вверх.
входной файл:
1 6
2 6
3 6
4 7
5 7
6 3
7 3
8 5
9 7
10 6
... и т. Д.
Выходной файл:
45 7
46 7
47 7
48 7
49 6
50 6
51 5
52 5
53 4
54 3
55 2
56 1
или
50 7
51 6
52 5
53 4
54 3
55 2
56 1
Итак, не могли бы вы подсказать мне, как я могу сделать этот процесс?
Большое спасибо.