Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project6;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- const
- MAXIN = 11;
- var
- n, i, j, k: integer;
- a: array [0..MAXIN, 0..MAXIN] of integer;
- procedure wiwod();
- var
- i, j: integer;
- time: array [-1..MAXIN] of integer;
- begin
- for i := 1 to n do
- time[i] := 0;
- for i := 1 to n do
- for j := 1 to n do
- inc(time[a[i][j]]);
- //for i := 1 to n do
- //if (time[i] <> n) then
- //exit;
- for i := 1 to n do
- begin
- for j := 1 to n - 1 do
- write(a[i][j], ' ');
- writeln(a[i][n]);
- end;
- readln;
- readln;
- end;
- procedure rec(x, y: integer);
- var
- i, j: integer;
- used: array [0..MAXIN] of boolean;
- begin
- //inc(k);
- //if (k = 10001) then
- //writeln(K);
- //writeln(a[x][y], ' ',x, ' ',y);
- for i := 1 to n do
- used[i] := true;
- for i := 1 to n do
- begin
- used[a[x][i]] := false;
- used[a[i][y]] := false;
- end;
- if (a[x][y] <> 0) then
- if (x = n) and (y = n) then
- wiwod
- else
- if (y = n) then
- rec(x + 1, 1)
- else
- rec(x, y + 1)
- else
- for i := 1 to n do
- if (used[i]) then
- begin
- a[x][y] := i;
- if (x = n) and (y = n) then
- wiwod
- else
- if (y = n) then
- rec(x + 1, 1)
- else
- rec(x, y + 1);
- end;
- a[x][y] := 0;
- end;
- begin
- //k := 0;
- readln(n);
- for i := 1 to n do
- for j := 1 to n do
- read(a[i][j]);
- rec(1, 1);
- readln;readln;readln;readln;
- end.
- 10
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
- 0 0 0 0 0 0 0 0 0 0
Advertisement
Add Comment
Please, Sign In to add comment