CSES - Datatähti 2025 alku - Results
Submission details
Task:Kortit II
Sender:yoyoyoJ
Submission time:2024-11-09 22:56:58 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
#50
Test results
testverdicttimegroup
#10.04 s1, 2, 3, 4, 5details
#20.64 s2, 3, 4, 5details
#3--3, 4, 5details
#4--4, 5details
#5--5details
#6--5details

Code

tt =int(input())
def permutations(elem):
    if len(elem) <= 1:
        yield elem
        return
    for pe in permutations(elem[1:]):
        for i in range(len(elem)):
            # nb elements[0:1] works in both string and list contexts
            yield pe[:i] + elem[0:1] + pe[i:]
def binomial(lst,n):
    if n==0:
        return [[]]
    l=[]
    for i in range(0,len(lst)):
        m=lst[i]
        rt=lst[i+1:]
        for p in binomial(rt,n-1):
            l.append([m]+p)
    return l
rr=0
t=True
su=[]
while t:
    rr+=1
    n, m ,k = [int(x) for x in input().split()]
    li=[]
    q=[]
    q.append(1)
    for i in range(2,n):
        li.append(i)
        q.append(i)
    q.append(n)

    #print(li,q)
    am = list(binomial(li,m-1))
    amm = list(binomial(li,m-1))
    #print(am)
    #print(amm)
    amount=0
    amou2=0
    bg2=0
    bg3=0
    b5=0

    for x in amm:
        x2=list(x)
        x2.insert(0, 1)
        #print(x2)
        il = [i for i in q if i not in x2]
        #print(il)
        for y in am:
            j = list(y)
            j.append(n)
            #print(j)
            lis2 = list(permutations(j))
            il2 = list(permutations([i for i in q if i not in j]))
            #print(il2)
            lis = list(x2)
            liss = [i for i in q if i not in lis]
            g=-1
            for u in lis2:
                g+=1
                for i in range(0, len(u)):
                    if int(lis[i])<int(u[i]):
                        bg=1
                    else:
                        bg=0
                        #print(0)
                        break
                #print(lis, u,bg)
                if bg ==1:
                    for i in il2:
                        for h in range(0,len(i)-1):
                            #print(il[h]>i[h])
                            if il[h]>i[h]:
                                bg2=1
                            else:
                                bg2=0
                                #print(0)
                                break
                        bg3+=bg2
                        #print(il,i)
                #print(bg3)
                amount+=bg*bg3
                bg3=0
                amou2=0
    #print(amount)
    su.append(amount)
    if rr==tt:
        t=False
for i in su:

    print(i)

Test details

Test 1

Group: 1, 2, 3, 4, 5

Verdict:

input
54
4 4 0
3 1 3
3 2 2
4 0 4
...

correct output
0
0
0
0
0
...

user output
0
1
0
0
0
...

Test 2

Group: 2, 3, 4, 5

Verdict:

input
284
6 1 0
5 0 2
7 1 5
7 7 5
...

correct output
0
0
35280
0
36720
...

user output
1
0
1
0
51
...

Test 3

Group: 3, 4, 5

Verdict:

input
841
19 3 12
19 19 13
19 7 13
20 11 15
...

correct output
40291066
0
0
0
0
...

user output
(empty)

Test 4

Group: 4, 5

Verdict:

input
1000
15 12 6
7 1 6
44 4 26
6 6 5
...

correct output
0
5040
494558320
0
340694548
...

user output
(empty)

Test 5

Group: 5

Verdict:

input
1000
892 638 599
966 429 655
1353 576 1140
1403 381 910
...

correct output
0
0
0
249098285
0
...

user output
(empty)

Test 6

Group: 5

Verdict:

input
1000
2000 1107 508
2000 1372 249
2000 588 65
2000 1739 78
...

correct output
750840601
678722180
744501884
159164549
868115056
...

user output
(empty)