1 solutions

  • 0
    @ 2025-11-5 19:45:52

    C++ :

    #include<iostream>
    
    using namespace std;
    
    int main()
    
    {      
    
            char x;
    
            int k=0,t,n,ans=1,i;
    
            cin>>n;
    
            while(1)
    
            {cin>>x;
    
             if(x=='Q')break;
    
             cin>>t;
    
             k++;
    
             n-=t;
    
            }
    
            ans=1;
    
            for(i=-1;i<k-1;i++)  ans*=(n-i);
    
            cout<<ans;
    
    }
    

    Python :

    # coding=utf-8
    def main():
        N = int(input())
        C = []
        while True:
            temp = input()
            if temp == 'Q':
                break
            else:
                C.append(int(temp.split()[1]))
    
        N_color = len(C)
        N_space = N - sum(C)
    
        cnt_color = 1
        for i in range(1, N_color+1):
            cnt_color *= i
        
        cnt_space = 1 
        nn = N_space - N_color + 1 
        for i in range(nn):
            cnt_space *= N_space + 1 - i
        for i in range(1, nn + 1):
            cnt_space /= i
    
        print(int(cnt_color*cnt_space))
        
    
    if __name__ == '__main__':
        main()
    
    • 1

    Information

    ID
    19642
    Time
    1000ms
    Memory
    125MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By