Лишь один человек в семье имеет брата - это СЕСТРА МУЖА. Поэтому она ИНЖЕНЕР. ЖЕНА - не СЛЕСАРЬ и не ЭКОНОМИСТ (вряд ли женщина увлекается футболом) => она УЧИТЕЛЬ или ЮРИСТ. УЧИТЕЛЕМ она быть не может, так как в этом случае она была бы одновременно и старше, и моложе, чем ИНЖЕНЕР. Следовательно, ЖЕНА - ЮРИСТ, а УЧИТЕЛЬ - тот, кто не является ей кровным родственником, то есть ее МУЖ. Оставшиеся родственники (СЛЕСАРЬ и ЭКОНОМИСТ по профессии) - это родные дед и внук. Так как СЛЕСАРЬ младше, то СЛЕСАРЬ - это СЫН, а ЭКОНОМИСТ - его дед, то есть ОТЕЦ ЖЕНЫ.
СЕСТРА МУЖА - ИНЖЕНЕР ЖЕНА - ЮРИСТ МУЖ - УЧИТЕЛЬ СЫН - СЛЕСАРЬ ОТЕЦ ЖЕНЫ - ЭКОНОМИСТ
//То чувство, когда 2 часа работал над оптимизацией, а в итоге работает быстрее вариант, который писал 5 минут. //PascalABC.NET 3.2 сборка 1318
Var i,j,k,m,n,count:integer; s,s1:string; begin readln(n); for i:=1 to n do s+=inttostr(i); for i:=1 to length(s) do if (s[i]='2') or (s[i]='0') or (s[i]='1') or (s[i]='3') then s1+=s[i]; s:=s1; for i:=1 to length(s) do if s[i]='2' then for j:=i+1 to length(s) do if s[j]='0' then for k:=j+1 to length(s) do if s[k]='1' then for m:=k+1 to length(s) do if s[m]='3' then inc(count); writeln(count); end.
ЖЕНА - не СЛЕСАРЬ и не ЭКОНОМИСТ (вряд ли женщина увлекается футболом) => она УЧИТЕЛЬ или ЮРИСТ. УЧИТЕЛЕМ она быть не может, так как в этом случае она была бы одновременно и старше, и моложе, чем ИНЖЕНЕР. Следовательно, ЖЕНА - ЮРИСТ, а УЧИТЕЛЬ - тот, кто не является ей кровным родственником, то есть ее МУЖ.
Оставшиеся родственники (СЛЕСАРЬ и ЭКОНОМИСТ по профессии) - это родные дед и внук. Так как СЛЕСАРЬ младше, то СЛЕСАРЬ - это СЫН, а ЭКОНОМИСТ - его дед, то есть ОТЕЦ ЖЕНЫ.
СЕСТРА МУЖА - ИНЖЕНЕР
ЖЕНА - ЮРИСТ
МУЖ - УЧИТЕЛЬ
СЫН - СЛЕСАРЬ
ОТЕЦ ЖЕНЫ - ЭКОНОМИСТ