Професионална програма
Loading...
velevatanas avatar velevatanas 85 Точки

[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-а тества за друго? 

0
Java Advanced 27/01/2015 13:22:37
quickben:
Използвайте формата - докладвай грешка, отделно темите трябва да бъдат именувани спрямо правилата на форума.
RoYaL avatar RoYaL Trainer 6845 Точки

Не ти ли се стори добра идея да се опиташ да улесниш отговарящите на въпроса ти малко? :)

Намерих задачата в джъджа, пуснах за аутпут да излезе инпута за да видя входа

Zero test #4 (Incorrect answer)

The zero tests are not included in the final result.
Expected output:
4

Your output:
(102)(103)(0)(105)  (107)(1)
Time used: 0.022 s
Memory used: 0.91 MB

Zero test #5 (Incorrect answer)

The zero tests are not included in the final result.
Expected output:
1

Your output:
(2) (2) (2) (2) (2)

 

Искаш ли да кажеш кое те притеснява в 4ти и 5ти нулев тест?

 

0
velevatanas avatar velevatanas 85 Точки

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.

0
RoYaL avatar RoYaL Trainer 6845 Точки

Това е така, защото задачата е най-дългата редица от четни<->нечетни числа. Т.е. това, че нулата е едновременно четно и нечетно, не означава че взимаме само едното предвид, в случая - четно.

Тогава означава, че редицата е нечетно-четно-четно-четно... и тогава няма да са 7, а ще са само 2.

Нулата по-скоро играе ролята на жокер. След единица, която е нечетна, нулата става четна. Следващата нула - нечетна.

(1) (0) (0) (0) (0) (0) (1) -> това означава: нечетно - четно - нечетно - четно - нечетно - четно - нечетно => 7

(1) (0) (0) (0) (0) (0) (0) (1) -> това означава нечетно - четно - нечетно - четно - нечетно - четно - нечетно - нечетно => 7

 

3
velevatanas avatar velevatanas 85 Точки

Според условието, кето третира нулата като четно и нечетно ЕДНОВРЕМЕННО, всяка поредица от нули, последванат от каквото и да е друго число е валидна понеже нулите са  ''special number''. По едно и също време, както пише, да смятаме едно число за четно и нечетно, не означава да приема свойство на едното или другото, както е според логиката на проверяване- тази, която си описал. Как ще става четна или нечетна нулата, след като гледам условието и чета какво пише  :)

0
27/01/2015 13:13:29
RoYaL avatar RoYaL Trainer 6845 Точки

Защото иначе няма да е вярно условието "най-дългата поредица от четни-нечетни" числа. Ако я ползваш за специално число как би описал това което написах по-горе?

1) (0) (0) (0) (0) (0) (0) (1) -> това означава нечетно - четно - нечетно - четно - нечетно - четно - нечетно - нечетно => 7

За да ги изкараш 8 ще трябва да напишеш "нечетно - четно - четно - четно - четно - четно - четно - нечетно", което не са 8, а са две, защото след като стигне до две четни (3тия елемент или 2рата нула) ще трябва да спре.

Тъй като ти я позволено да ползваш само два вида числа - четни и нечетни, няма специални като термин (специалната 0 може да се третира като ЧЕТНО и НЕЧЕТНО) означава, че не можеш да напишеш поредицата (нечетно - специално - специално - специално ... - нечетно)

1
velevatanas avatar velevatanas 85 Точки

Напротив, ако нулата е четно и нечетно едновременно, това означава, че не я броиш като четна или нечетна, а понеже е special number се третира като изключение, което просто запълва поредицата ти, без да отговаря на условието. Това пише. Прекрасно разбирам логиката, просто тя не отговяра на условието на задачата. Ако искаш мога да ти пратя моя код да видиш как ги брои 8. Логиката ми е съвсем друга, понеже условието не каква това, което ти ми обясняваш :) Моля ви се, филолог съм и за двусмислиците много неща съм изчел.

-3