1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Люди, кто любит решать олимпиадные задачи на Pascal'е-помогите решить: Есть 2 битовых последовательности длины N. Требуется узнать, можно ли получить из одной другую посредством переворачивания подпоследовательностей с четным кол-вом единиц, и если да-то как! Пример: 011010010 010101010 {011010010 все символы 010010110 с 4 по 7 010101010} P.S. Неделю бъюсь-ничего.Кстати N-до 100.
Извиняюсь, пример действительно неудачный.Переворачивать можно сколько угодно раз и как угодно. Другие тесты: 1)Вход: 9 100011100 001011001 Выход: Да 6 9 3 8 1 5 2)Вход: 7 1001001 Изменить невозможно 3)Вход: 7 11001101 10101101 Выход: Нет
uses crt; var c,i,j,n:integer; s1,s2:string; function pr(s:string):string; begin if s='' then pr:=s else pr:=s[length(s)]+pr(copy(s,1,length(s)-1)); end;
begin clrscr; s1:='100011100';s2:='001011001'; {s1:='011010010';s2:='010101010';} n:=byte(s1[0]); writeln (s1); writeln (s2); i:=1; for i:=1 to n-1 do begin if s1[i]=s2[i] then continue; c:=byte(s2[i]='1'); j:=i; repeat inc(j); c:=c+byte(s2[j]='1'); until (j>n) or (not(odd(c )) and (s2[j]=s1[i])); if (j>n) then writeln ('NO') else begin s2:=copy(s2,1,i-1)+pr(copy(s2,i,j-i+1))+copy(s2,j+1,255); writeln ( i,' ',j,' -',s2,' '); end; end; readln; end.
Не знаю, будет ли он работать во всех случаях (по идее должен), но по нему вариант "Нет" очень даже возможен. Другого способа чего-то в голову не приходит.