Как решить эту на pascal напишите программу, которая по изображению поля для игры в «крестики-нолики» определит, могла ли такая ситуация возникнуть в результате игры с соблюдением всех правил. напомним, что игра в «крестики-нолики» ведется на поле 3x3. два игрока ходят по очереди. первый ставит крестик, а второй – нолик. ставить крестик и нолик разрешается в любую еще не занятую клетку поля. когда один из игроков поставит три своих знака в одной горизонтали, вертикали или диагонали, или когда все клетки поля окажутся заняты, игра заканчивается. входные данные вводится три строки по три числа в каждой, описывающих игровое поле. число 0 обозначает пустую клетку, 1 – крестик, 2 – нолик. числа в строке разделяются пробелами. выходные данные требуется вывести слово yes, если указанная ситуация могла возникнуть в ходе игры, и no в противном случае. примеры входные данные 1 1 1 1 1 1 1 1 1 выходные данные no входные данные 2 1 1 1 1 2 2 2 1 выходные данные yes входные данные 1 1 1 2 0 2 0 0 0 выходные данные yes входные данные 0 0 0 0 1 0 0 0 0 выходные данные yes входные данные 1 1 1 2 2 2 0 0 0 выходные данные no
222
389
Ответы на вопрос:
Var a: array[1..3,1..3] of integer; t: array[0..2] of boolean; k: array[0..2] of integer; i,j: integer; res: boolean; begin for i : = 1 to 3 do for j : = 1 to 3 do read(a[i,j]); for i : = 0 to 2 do begin k[i] : = 0; t[i] : = false; end; for i : = 1 to 3 do for j : = 1 to 3 do k[a[i,j]] : = k[a[i,j]] + 1; for i : = 1 to 3 do begin if (a[i,1] = a[i,2]) and (a[i,2] = a[i,3]) then t[a[i,1]] : = true; if (a[1,i] = a[2,i]) and (a[2,i] = a[3,i]) then t[a[1,i]] : = true; end; if (a[1,1] = a[2,2]) and (a[2,2] = a[3,3]) then t[a[2,2]] : = true; if (a[3,1] = a[2,2]) and (a[2,2] = a[1,3]) then t[a[2,2]] : = true; res : = true; if (k[1] - k[2] > 1) or (k[1] - k[2] < 0) then res : = false; if t[1] and ( t[2] or (k[1] = k[2]) ) then res : = false; if res then writeln('yes') else writeln('no') end.
Популярно: Информатика
-
skripalevadiana29.04.2021 11:45
-
gelyusya27.09.2020 22:35
-
NastysikRicci25.05.2021 00:02
-
милена896397705.09.2021 16:03
-
Ychenik252513.05.2021 05:31
-
killme69Lol07.08.2022 05:56
-
KewaKewka13.09.2020 02:28
-
vefremka22.02.2022 21:28
-
gadukina13.05.2022 17:58
-
lapyukdima06.02.2022 02:05