Написать программу, которая по трем полученным сообщениям восстановит исходное сообщение, или установит, что сделать это невозможно.
229
497
Ответы на вопрос:
Var
T : array [1..3] of string;
V : string;
s : integer;
Bad : array [1..3] of record
num : integer;
max : 1..2;
pos : 1..3
end;
n : integer;
i, j, k : integer;
Procedure Vost (i,bad:Integer);
begin
if bad=1 then V[i]:=T[2][i]
else V[i]:=T[1][i]
end;
begin
assign(input,'input.txt'); reset(input);
assign(output,'output.txt'); rewrite(output);
readln(T[1]);
readln(T[2]);
readln(T[3]);
s:=length(T[1]);
n:=0;
for i := 1 to s do
if (T[1][i]<>T[2][i]) or (T[2][i]<>T[3][i] ) Then
with Bad [n+1] do
begin
n:=n+1;
num:=i;
max:=1;
for j:=1 to 2 do
for k:=j+1 to 3 do
if T[j][i]=T[k][i] then
begin
max:=2;
pos:=6-j-k;
end;
end;
if (n=0) or (n=1) then write ('NO')
else if n=3 then
begin
V:=T[1];
for i:=1 to 3 do
Vost (Bad[i].num,Bad[i].pos);
write(V)
end
else
if (Bad[1].max=2) and (Bad[2].max=2) then
write ('NO')
else begin
V:=T[1];
if Bad[1].max=2 then
begin
Vost (Bad[1].num,Bad[1].pos);
V[Bad[2].num]:=T[Bad[1].pos,Bad[2].num];
end else begin
Vost (Bad[2].num,Bad[2].pos);
V[Bad[1].num]:=T[Bad[2].pos,Bad[1].num];
end;
write(V)
end;
end.
T : array [1..3] of string;
V : string;
s : integer;
Bad : array [1..3] of record
num : integer;
max : 1..2;
pos : 1..3
end;
n : integer;
i, j, k : integer;
Procedure Vost (i,bad:Integer);
begin
if bad=1 then V[i]:=T[2][i]
else V[i]:=T[1][i]
end;
begin
assign(input,'input.txt'); reset(input);
assign(output,'output.txt'); rewrite(output);
readln(T[1]);
readln(T[2]);
readln(T[3]);
s:=length(T[1]);
n:=0;
for i := 1 to s do
if (T[1][i]<>T[2][i]) or (T[2][i]<>T[3][i] ) Then
with Bad [n+1] do
begin
n:=n+1;
num:=i;
max:=1;
for j:=1 to 2 do
for k:=j+1 to 3 do
if T[j][i]=T[k][i] then
begin
max:=2;
pos:=6-j-k;
end;
end;
if (n=0) or (n=1) then write ('NO')
else if n=3 then
begin
V:=T[1];
for i:=1 to 3 do
Vost (Bad[i].num,Bad[i].pos);
write(V)
end
else
if (Bad[1].max=2) and (Bad[2].max=2) then
write ('NO')
else begin
V:=T[1];
if Bad[1].max=2 then
begin
Vost (Bad[1].num,Bad[1].pos);
V[Bad[2].num]:=T[Bad[1].pos,Bad[2].num];
end else begin
Vost (Bad[2].num,Bad[2].pos);
V[Bad[1].num]:=T[Bad[2].pos,Bad[1].num];
end;
write(V)
end;
end.
главный герой расстаётся со своей любовью. он очень сожалеет об этом, как и она. их отношения только-только начались, они ещё не проверены временем и испытаниями, но именно этот уезд становится тяжёлым опытом для них двоих. возможно, именно встреча перед отъездом была их последней встречей — автор говорит о том, что нужно ценить последний миг, ведь никогда не знаешь точно, что будет после.
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Другие предметы
-
Karelovamark01.03.2021 19:06
-
kirill163aye19.04.2023 21:16
-
димка18402.05.2020 13:16
-
Мессалина122.01.2022 04:35
-
hide223.08.2020 17:01
-
FHN201731.08.2020 17:15
-
Yana23060001.02.2023 18:18
-
helppliz521.06.2023 01:47
-
shishking2015oz5wew04.09.2022 00:06
-
9Единорожка111111127.03.2021 15:32
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.