| Task: | Kortit II | 
| Sender: | yoyoyoJ | 
| Submission time: | 2024-11-10 12:57:40 +0200 | 
| Language: | Python3 (PyPy3) | 
| Status: | READY | 
| Result: | 0 | 
| group | verdict | score | 
|---|---|---|
| #1 | WRONG ANSWER | 0 | 
| #2 | WRONG ANSWER | 0 | 
| #3 | WRONG ANSWER | 0 | 
| #4 | WRONG ANSWER | 0 | 
| #5 | WRONG ANSWER | 0 | 
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.05 s | 1, 2, 3, 4, 5 | details | 
| #2 | WRONG ANSWER | 0.64 s | 2, 3, 4, 5 | details | 
| #3 | TIME LIMIT EXCEEDED | -- | 3, 4, 5 | details | 
| #4 | TIME LIMIT EXCEEDED | -- | 4, 5 | details | 
| #5 | TIME LIMIT EXCEEDED | -- | 5 | details | 
| #6 | TIME LIMIT EXCEEDED | -- | 5 | details | 
Code
import math
#print(10976757120%(1000000000+7))
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=[]
a2=1
while t:
    rr+=1
    n, m ,k = [int(x) for x in input().split()]
    li=[]
    q=[]
    q.append(1)
    for i in range(2,m+k):
        li.append(i)
        q.append(i)
    q.append(m+k)
    #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
    if m+k>n:
        su.append(0)
    elif n==1:
        if m==0 and k ==0:
            su.append(1)
        else:
            su.append(0)
    elif k==0 and m == 0:
        su.append(n)
        li2 = []
    elif k==0 or m == 0:
        su.append(0)
    elif k==1 or m == 1:
        for g in range(1, m+k+1):
            a2 = a2*g
            #print(g)
        #print(math.comb(n, n-m-k))
        a2 = a2*(math.comb(n, n-m-k))*(math.comb(n, n-m-k))
        a2=a2%(1000000000+7)
        su.append(a2)
        a2=1
    else:
        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(m+k)
                #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)
        for g in range(1, m+k+1):
            amount= amount*g
            #print(g)
        amount=amount*(math.comb(n, n-m-k))*(math.comb(n, n-m-k))
        amount=amount%(1000000000+7)
        #print(math.comb(n, n-m-k))
        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: WRONG ANSWER
| input | 
|---|
| 54 4 4 0 3 1 3 3 2 2 4 0 4 ...  | 
| correct output | 
|---|
| 0 0 0 0 0 ...  | 
| user output | 
|---|
| 0 0 0 0 0 ...  | 
Test 2
Group: 2, 3, 4, 5
Verdict: WRONG ANSWER
| input | 
|---|
| 284 6 1 0 5 0 2 7 1 5 7 7 5 ...  | 
| correct output | 
|---|
| 0 0 35280 0 36720 ...  | 
| user output | 
|---|
| 0 0 35280 0 36720 ...  | 
Test 3
Group: 3, 4, 5
Verdict: TIME LIMIT EXCEEDED
| 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: TIME LIMIT EXCEEDED
| 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: TIME LIMIT EXCEEDED
| 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: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 2000 1107 508 2000 1372 249 2000 588 65 2000 1739 78 ...  | 
| correct output | 
|---|
| 750840601 678722180 744501884 159164549 868115056 ...  | 
| user output | 
|---|
| (empty) | 
