Лати́нский квадра́т n-го порядка — таблица L=(lij) размеров n × n, заполненная n элементами множества M таким образом, что в каждой строке и в каждом столбце таблицы каждый элемент из M встречается в точности один раз.
- program lat_kvadrat;
- var a:array[1..5,1..5] of integer;
- i, j, k, n, l: integer;
- f: text;
- s, All: set of byte;
- begin
- assign(f,'lat.dat');
- reset(f);
- readln(f,n);
- for i:=1 to n do begin
- for j:=1 to n do
- Read(f,a[i,j]);
- Readln(f);
- end;
- close(f);
- All:= [1];
- For i:=2 to n do
- All:=All+[i]; //подготовка множества для сравнения
- For i:=1 to n do //проверка по строкам
- begin
- s:= [];
- for j:=1 to n do s:= s + [a[i,j]];
- if s<>All then
- begin
- writeln('non-latin');
- halt;
- end;
- end;
- for j:=1 to n do //проверка по столбцам
- begin
- s:= [];
- for i:=1 to n do
- s:= s + [a[i,j]];
- if s<>All then
- begin
- writeln('non-latin');
- halt;
- end;
- end;
- Writeln('latin');
- // readln;
- end.
No comments:
Post a Comment