[Technical Issue] Problem 3 Longest Odd-Even Sequencе
Здравейте,
Задачата Longest Odd-Even Sequencе от изпита на 27 май има различни входни данни за 4-ти и 5-и нулеви тестове, а отговорите изискват едни и същи изходни данни. Според условието на задачата, нулата е считана за четно и нечетно число едновременно. " The special number 0 (zero) is considered odd and even in the same time." Как ще го обясните това, защото е пределно ясно какво се иска в условието, а накарая Judge-а тества за друго?
4-ти in: (1) (0) (0) (0) (0) (0) (1) out: 7
5-ти in: (1) (0) (0) (0) (0) (0) (0) (1) out:7
Става въпрос за тестовете от папката с тестовете, която свяляш като свалиш задачите от целия изпит. Не тези започващи с test 000.004, a тези: test.004.in.txt, test.004.out.txt, test.005.in.txt и test.005.out.txt.
Това е така, защото задачата е най-дългата редица от четни<->нечетни числа. Т.е. това, че нулата е едновременно четно и нечетно, не означава че взимаме само едното предвид, в случая - четно.
Тогава означава, че редицата е нечетно-четно-четно-четно... и тогава няма да са 7, а ще са само 2.
Нулата по-скоро играе ролята на жокер. След единица, която е нечетна, нулата става четна. Следващата нула - нечетна.
(1) (0) (0) (0) (0) (0) (1) -> това означава: нечетно - четно - нечетно - четно - нечетно - четно - нечетно => 7
(1) (0) (0) (0) (0) (0) (0) (1) -> това означава нечетно - четно - нечетно - четно - нечетно - четно - нечетно - нечетно => 7
Според условието, кето третира нулата като четно и нечетно ЕДНОВРЕМЕННО, всяка поредица от нули, последванат от каквото и да е друго число е валидна понеже нулите са ''special number''. По едно и също време, както пише, да смятаме едно число за четно и нечетно, не означава да приема свойство на едното или другото, както е според логиката на проверяване- тази, която си описал. Как ще става четна или нечетна нулата, след като гледам условието и чета какво пише :)
Защото иначе няма да е вярно условието "най-дългата поредица от четни-нечетни" числа. Ако я ползваш за специално число как би описал това което написах по-горе?
1) (0) (0) (0) (0) (0) (0) (1) -> това означава нечетно - четно - нечетно - четно - нечетно - четно - нечетно - нечетно => 7
За да ги изкараш 8 ще трябва да напишеш "нечетно - четно - четно - четно - четно - четно - четно - нечетно", което не са 8, а са две, защото след като стигне до две четни (3тия елемент или 2рата нула) ще трябва да спре.
Тъй като ти я позволено да ползваш само два вида числа - четни и нечетни, няма специални като термин (специалната 0 може да се третира като ЧЕТНО и НЕЧЕТНО) означава, че не можеш да напишеш поредицата (нечетно - специално - специално - специално ... - нечетно)
Напротив, ако нулата е четно и нечетно едновременно, това означава, че не я броиш като четна или нечетна, а понеже е special number се третира като изключение, което просто запълва поредицата ти, без да отговаря на условието. Това пише. Прекрасно разбирам логиката, просто тя не отговяра на условието на задачата. Ако искаш мога да ти пратя моя код да видиш как ги брои 8. Логиката ми е съвсем друга, понеже условието не каква това, което ти ми обясняваш :) Моля ви се, филолог съм и за двусмислиците много неща съм изчел.