CSES - Datatähti 2020 alku - Results
Submission details
Task:Ruudukko
Sender:VirtuesL
Submission time:2019-10-12 19:42:24 +0300
Language:CPython3
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.02 sdetails
#2ACCEPTED0.02 sdetails
#30.02 sdetails
#40.06 sdetails
#50.92 sdetails
#6--details

Code

x = int(input())
fl = [[i+1 for i in range(x)] if j == 0 else [0 for i in range(x)] for j in range(x)]
def pront():
  return  "\n".join([" ".join(map(str,l)) for l in fl])
def swapRow(lt):
  tmp = [i for i in lt]
  for i in range(0,x,2):
    try:
      a = tmp[i+1]
      tmp[i+1] = tmp[i]
      tmp[i] = a
    except IndexError:
      a = tmp[i]
      tmp[i] = tmp[i-1]
      tmp[i-1] = a
  return tmp
def conflict(lt,l):
  cols = list(zip(*fl[:l]))
  for (i, val), col in zip(enumerate(lt), cols):
    if val in col:
      return (i, val)
def correct(lt,l):
  for i, _ in enumerate(lt):
    conf = conflict(lt, l)
    if conf:
      pos, val = conflict(lt,l)
      cols = list(zip(*fl[:l]))
      for j in range(x):
        if val not in cols[::-1][j]:
          lt[pos] = lt[x-(j+1)]
          lt[x-(j+1)] = val
          break
      conf = conflict(lt,l)
def swap2Row(lt):
  tmp = [i for i in lt]
  for i in range(x-2):
    a = tmp[i+2]
    tmp[i+2] = tmp[i]
    tmp[i] = a
  if len(tmp)%2 == 0:
    pass
  else:
    a = tmp[x-1]
    tmp[x-1] = tmp[x-2]
    tmp[x-2] = a
  return tmp
if x == 1:
  fl = [[1]] 
else: 
  fl[1] = swapRow(fl[0])
  for i, row in enumerate(fl[:x-2]):
    fl[i+2] = swap2Row(fl[i])
    correct(fl[i+2],i+2)
print(pront())

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output

user output
1

Test 2

Verdict: ACCEPTED

input
2

correct output
1 2 
2 1 

user output
1 2
2 1

Test 3

Verdict:

input
5

correct output
1 2 3 4 5 
2 1 4 3 6 
3 4 1 2 7 
4 3 2 1 8 
5 6 7 8 1 

user output
1 2 3 4 5
2 1 4 5 3
3 4 5 1 2
4 5 2 3 1
5 3 1 2 4

Test 4

Verdict:

input
42

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 5

Verdict:

input
99

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 6

Verdict:

input
100

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)