1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | const n=13; var a:array[1..n]of integer; b:array[1..n]of byte; c:array[2..2*n]of byte; d:array[1-n..n-1]of byte; ans,m:longint; procedure print; var i:integer; begin inc(ans); if ans>3 then exit; for i:=1 to m-1 do write(a[i],' '); writeln(a[m]); end; procedure find(i:integer); var j:integer; begin if i=m+1 then print else for j:=1 to m do if (b[j]=0)and(c[i+j]=0)and(d[i-j]=0) then begin a[i]:=j; b[j]:=1; c[i+j]:=1; d[i-j]:=1; find(i+1); b[j]:=0; c[i+j]:=0; d[i-j]:=0; end; end; begin readln(m); find(1); writeln(ans); end. |
Y29uc3Qgbj0xMzsKdmFyIGE6YXJyYXlbMS4ubl1vZiBpbnRlZ2VyOwogICAgYjphcnJheVsxLi5uXW9mIGJ5dGU7CiAgICBjOmFycmF5WzIuLjIqbl1vZiBieXRlOwogICAgZDphcnJheVsxLW4uLm4tMV1vZiBieXRlOwogICAgYW5zLG06bG9uZ2ludDsKIApwcm9jZWR1cmUgcHJpbnQ7CnZhciBpOmludGVnZXI7CmJlZ2luCiAgaW5jKGFucyk7CiAgaWYgYW5zPjMgdGhlbiBleGl0OwogIGZvciBpOj0xIHRvIG0tMSBkbwogIHdyaXRlKGFbaV0sJyAnKTsKICB3cml0ZWxuKGFbbV0pOwplbmQ7CiAKcHJvY2VkdXJlIGZpbmQoaTppbnRlZ2VyKTsKdmFyIGo6aW50ZWdlcjsKYmVnaW4KICBpZiBpPW0rMSB0aGVuIHByaW50CiAgZWxzZQogIGZvciBqOj0xIHRvIG0gZG8KICBpZiAgKGJbal09MClhbmQoY1tpK2pdPTApYW5kKGRbaS1qXT0wKSB0aGVuCiAgYmVnaW4KICBhW2ldOj1qOwogIGJbal06PTE7CiAgY1tpK2pdOj0xOwogIGRbaS1qXTo9MTsKICBmaW5kKGkrMSk7CiAgYltqXTo9MDsKICBjW2kral06PTA7CiAgZFtpLWpdOj0wOwogIGVuZDsKZW5kOwpiZWdpbgogIHJlYWRsbihtKTsKICBmaW5kKDEpOwogIHdyaXRlbG4oYW5zKTsKZW5kLg==
-
upload with new input
-
result: Success time: 0.01s memory: 252 kB returned value: 0
6
2 4 6 1 3 5 3 6 2 5 1 4 4 1 5 2 6 3 4
-
result: Success time: 0.01s memory: 252 kB returned value: 0
0 1



