|  Конкурс "Системный Администратор 2013", Первые IT-шные олимпийские игры | 
Здравствуйте, гость ( Вход | Регистрация )
 Внимание!
 Внимание!|   | 
|  Конкурс "Системный Администратор 2013", Первые IT-шные олимпийские игры | 
|  26.8.2013, 10:35 
				 Сообщение
					#221
					
				
			 | |
|  Junior Member   Группа: Пользователи Сообщений: 41 Регистрация: 25.8.2013 Из: Казахстан/Алматы Пользователь №: 1682  | |
|  | |
|  26.8.2013, 11:14 
				 Сообщение
					#222
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 99 Регистрация: 14.8.2013 Пользователь №: 1665  | Упустил две возможные комбинации: Код d[5].inc.add("6"); d[8].dec.add("0"); Преобразования знака + в = и обратно невозможно быть, т.к. полученное выражение не подходит под 4 маски в задании. З.Ы. У меня ответ приняли, за задание 40 баллов дали. Поздравляю! А можешь как-нить проверить работу моей проги? Вроде бы все учел. Проверил весь код на 100 раз, даже вручную некоторые варианты пересчитывал, но видимо где-то ошибка закралась. Используемые перестановки: ПЛЮС_СПИЧКА: 0->8 1->7 5->6 5->9 6->8 9->8 '-'->'+' '-'->'=' МИНУС_СПИЧКА: 6->5 7->1 8->0 8->6 8->9 9->3 9->5 '+'->'-' '='->'-' МИНУС_ПЛЮС_СПИЧКА: 0->6 0->9 2->3 3->2 3->5 5->3 6->0 6->9 9->0 9->6 Может есть какие-нибудь контрольные точки? У меня по ходу расчетов получилась такая вот статистика: всего возможных головоломок: 4000 возможных решений (валидных и нет): 31880 всего правильных решений: 1622 имеющих хотя бы одно правильно решение: 1298 (ответ) так же есть лог всех 31880 вариантов решений. | 
|  | |
|  26.8.2013, 11:23 
				 Сообщение
					#223
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 54 Регистрация: 21.8.2013 Пользователь №: 1676  | |
|  | |
|  26.8.2013, 11:29 
				 Сообщение
					#224
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 99 Регистрация: 14.8.2013 Пользователь №: 1665  | У меня алгоритм именно такой, перемещения спички в одном символе уже написал, осталось +спичка -спичка, на работе доделаю) Вот возможные превращения цифр, inc +спичка, dec -спичка, rep перемещение спички, поправьте если че упустил пропустил: d[5].inc.add("6"); d[-].inc.add("="); d[-].inc.add("+"); d[8].dec.add("0"); d[+].dec.add("-"); d[=].dec.add("-"); вот я слепой!  пропустил 3->9!!! Ща быстренько поправлю код... | 
|  | |
|  26.8.2013, 11:32 
				 Сообщение
					#225
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 133 Регистрация: 10.8.2012 Пользователь №: 1240  | |
|  | |
|  26.8.2013, 11:33 
				 Сообщение
					#226
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 54 Регистрация: 21.8.2013 Пользователь №: 1676  | |
|  | |
|  26.8.2013, 11:43 
				 Сообщение
					#227
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 99 Регистрация: 14.8.2013 Пользователь №: 1665  | 
				Ура! Получилось!   Спасибо, XaBbl4! Спасибо, KOS! Вот некоторые контрольные точки (может кому пригодятся для контроля своей проги): всего возможных головоломок: 4000 возможных решений (валидных и нет): 34160 всего правильных решений: 1718 | 
|  | |
|  26.8.2013, 11:47 
				 Сообщение
					#228
					
				
			 | |
|  Администратор      Группа: Главные администраторы Сообщений: 14349 Регистрация: 12.10.2007 Из: Twilight Zone Пользователь №: 1  | 
				На стене разработчиков Ocean отписал что решил 5-е задание. Либо человек действительно гений, либо существует более простой путь. Лично для меня обернуть шеллкод в форматную строку пока представляется достаточно сложным, хотя можно смело сказать что 80% этого пути я уже прошел. Если у кого-нибудь есть какие-то идеи - делитесь (моих - я думаю все уже насмотреться успели) ... Ну и еще ... если кто-то читал меня внимательно, то наверное понял что shell9cry.bin мы уже получили. Это не что иное как crypto(shell9.bin), т.е. шеллкод запускающий /bin/sh зашифрованный crypto. Если его передать на вход crypto, то в итоге в encrypted получим сам код shell'а ... теперь остался один шаг ... дописать в форматную строку модификаторы %h / %hn с необходимыми параметрами, для того чтобы адрес из fprintf заменить на адрес начала нашего расшифрованного шеллкода в стеке. Вот с этим как раз и проблема ...
				
				
				
			 -------------------- | 
|  | |
|  26.8.2013, 11:48 
				 Сообщение
					#229
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 133 Регистрация: 10.8.2012 Пользователь №: 1240  | |
|  | |
|  26.8.2013, 11:55 
				 Сообщение
					#230
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 99 Регистрация: 14.8.2013 Пользователь №: 1665  | Вы бы ответ удалили, что бы халявщиков небыло Я ответ и не написал. Это только некоторые контрольные точки, которые могут быть полезны при отладки программы. Некоторые головоломки имеют несколько правильных решений, а по заданию нужно найти имеющую хотя бы одно правильное решение. | 
|  | |
|  26.8.2013, 12:04 
				 Сообщение
					#231
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 99 Регистрация: 14.8.2013 Пользователь №: 1665  | На стене разработчиков Ocean отписал что решил 5-е задание. Либо человек действительно гений, либо существует более простой путь. Лично для меня обернуть шеллкод в форматную строку пока представляется достаточно сложным, хотя можно смело сказать что 80% этого пути я уже прошел. Если у кого-нибудь есть какие-то идеи - делитесь (моих - я думаю все уже насмотреться успели) ... Ну и еще ... если кто-то читал меня внимательно, то наверное понял что shell9cry.bin мы уже получили. Это не что иное как crypto(shell9.bin), т.е. шеллкод запускающий /bin/sh зашифрованный crypto. Если его передать на вход crypto, то в итоге в encrypted получим сам код shell'а ... теперь остался один шаг ... дописать в форматную строку модификаторы %h / %hn с необходимыми параметрами, для того чтобы адрес из fprintf заменить на адрес начала нашего расшифрованного шеллкода в стеке. Вот с этим как раз и проблема ... Думается мне что это wrong way :-) Сильно уж мудреное решение. Да и потом проверять организаторам ответ будет сложно. ИМХО, решение более простое. Но у меня пока даже мыслей нет куда копать.... | 
|  | |
|  26.8.2013, 12:14 
				 Сообщение
					#232
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 133 Регистрация: 10.8.2012 Пользователь №: 1240  | |
|  | |
|  26.8.2013, 12:15 
				 Сообщение
					#233
					
				
			 | |
|  Администратор      Группа: Главные администраторы Сообщений: 14349 Регистрация: 12.10.2007 Из: Twilight Zone Пользователь №: 1  | Думается мне что это wrong way :-) Сильно уж мудреное решение. Да и потом проверять организаторам ответ будет сложно. ИМХО, решение более простое. Но у меня пока даже мыслей нет куда копать.... Ну не знаю ... Чертос-2 именно этим способом задачу решил. Я почему за него так и ухватился, т.к. других идей собственно нет. Есть еще вариант побрутить пароль root, но я это уже пытался ... по всем возможным небольшим словарям. Хотя может быть что-то я упустил ... -------------------- | 
|  | |
|  26.8.2013, 12:16 
				 Сообщение
					#234
					
				
			 | |
|  Администратор      Группа: Главные администраторы Сообщений: 14349 Регистрация: 12.10.2007 Из: Twilight Zone Пользователь №: 1  | Что имеется в виду? У меня правильных решений 220 Верных математических равенств, которые можно получить из 4000 начальных комбинаций - да, 220. Я об этом писал где-то вначале ... -------------------- | 
|  | |
|  26.8.2013, 12:19 
				 Сообщение
					#235
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 133 Регистрация: 10.8.2012 Пользователь №: 1240  | |
|  | |
|  26.8.2013, 12:25 
				 Сообщение
					#236
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 99 Регистрация: 14.8.2013 Пользователь №: 1665  | Верных математических равенств, которые можно получить из 4000 начальных комбинаций - да, 220. Я об этом писал где-то вначале ... Математических может и 220. Тут же равенства к примеру: 0+0=0, 0-0=0, 0=0+0 и 0=0-0 - это 4 различные комбинации. У меня получилось ровно 1718 штук верных равенств, соответствующих одному из 4 представленных в задании видов. Кстати, ответ намного больше 220 ! | 
|  | |
|  26.8.2013, 12:28 
				 Сообщение
					#237
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 54 Регистрация: 21.8.2013 Пользователь №: 1676  | Ну, так 1718 не понял откуда?Это количество возможных вариантов с учетом всех перестановок спичек, т.е. у одного уравнения может быть несколько вариантов перестановки одной спички, чтобы получилось верное уравнение. Лично для моей реализации алгоритма эта цифра бы не помогла в поиске верного ответа, т.к. я после первой удачной перестановки, сразу перехожу к следующему уравнению, для скорости работы программы. | 
|  | |
|  26.8.2013, 12:31 
				 Сообщение
					#238
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 133 Регистрация: 10.8.2012 Пользователь №: 1240  | |
|  | |
|  26.8.2013, 12:37 
				 Сообщение
					#239
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 133 Регистрация: 10.8.2012 Пользователь №: 1240  | |
|  | |
|  26.8.2013, 12:43 
				 Сообщение
					#240
					
				
			 | |
| Junior Member   Группа: Пользователи Сообщений: 40 Регистрация: 10.8.2012 Пользователь №: 1262  | 
				Одни прогеры собрались. Админский 5 кто-то понял как делать правильно?    | 
|  | |
|   | 
| Текстовая версия | Сейчас: 31.10.2025, 7:57 | |
|  | ||