kb 12.12.2011 15:23 c8541125

Известный боян.
Есть односвязный список. Нужно определить, замыкается ли он.

Recommended by: @dorfe
1. 238328 12.12.2011 15:24 >>>

НЕВОЗМОЖНО

2. werehuman 12.12.2011 15:24 Psi+

я так понимаю, решение в O(N²) не считается?

3. kbwerehuman /2 12.12.2011 15:24 c8541125

да, не считается. O(N).

4. werehuman 12.12.2011 15:25 Psi+

а вообще, для этого в классе элемента списка делается отдельный маркер, который и указывает, проверен ли уже элемент или нет

5. kbwerehuman /4 12.12.2011 15:25 c8541125

ок. а теперь без маркеров.

6. kbwerehuman /4 12.12.2011 15:26 c8541125

скажем так, за константную память.

7. asmer 12.12.2011 15:26 Psi+

а проверка p→next == list.head чем плоха? Условие задачи неполное, или же задача тривиальна.

8. werehumanasmer /7 12.12.2011 15:26 Psi+

а кто сказал, что замыкаться может только в голову?

9. kbasmer /7 12.12.2011 15:26 c8541125

замыкаться он может куда угодно. типа в середину.

10. asmerkb /9 12.12.2011 15:27 Psi+

ok бгг, а проверка всех p→next на null? Или список может быть глючным?

11. kbasmer /10 12.12.2011 15:27 c8541125

че? наверное нет.

12. asmerkb /11 12.12.2011 15:28 Psi+

ну если в списке все ссылки на next не null, значит он замыкается.

13. kbasmer /12 12.12.2011 15:29 c8541125

как ты поймёшь, что все ссылки на next не null?

14. analizer 12.12.2011 15:30 mcabber

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

15. werehumananalizer /14 12.12.2011 15:30 Psi+

отныне я эникейщик

16. kbanalizer /14 12.12.2011 15:30 c8541125

ты знал

17. analizerkb /16 12.12.2011 15:31 mcabber

я её решил за время примерное равное времени написания этих двух реплаев, году эдак в 2008м

18. asmer 12.12.2011 15:32 Psi+

прикольно

19. kbanalizer /17 12.12.2011 15:32 c8541125

крут, че. а меня дважды подловили на подобных задачках. одна еще была про "столкнуть два программируемых паровозика", где под столкнуть подразумевалось также что один другого догонит) не догадался ни в один из разов.

20. asmer 12.12.2011 15:35 Psi+

реквестирую больше таких головоломок :)

22. dorfeanalizer /17 12.12.2011 17:25

Я тоже примерно тогда.

Do you really want to delete ?