1 solutions

  • 0
    @ 2025-11-5 15:55:46

    C++ :

    #include <iostream>
    #include <memory>
    using namespace std;
    
    int isSelect[14];
    int num[14];
    int ans[6];
    int n;
    
    void DFS(int i)
    {
        for ( int j = 0; j < n; j++ )
        {
            if ( isSelect[j] == 0 )
            {
                ans[i] = num[j];
                isSelect[j] = 1;
                
                if ( i == 5 )
                {
                    bool ok = true;
                    for ( int k = 0; k < 5; k++ )
                    {
                        if ( ans[k] > ans[k+1] )
                        {
                            ok = false;
                            break;
                        }
                    }
                    if ( ok )
                    {
                        cout << ans[0];
                        for ( int k = 1; k < 6; k++ )
                        {
                            cout << " " << ans[k];
                        }
                        cout << endl;
                    }
                }
                else
                {
                    DFS(i+1);
                }
    
                isSelect[j] = 0;
            }
        }
    }
    
    int main()
    {
        int flag = 1;
        
        cin >> n;
        while ( n != 0 )
        {
            if ( flag == 0 )
            {
                cout << endl;
            }
            else
            {
                flag = 0;
            }
            
            for ( int i = 0; i < n; i++ )
            {
                cin >> num[i];
            }
            
           
            for(int i=0;i<14;i++)
    			isSelect[i] = 0;
            DFS(0);
            
            cin >> n;
        }
        
        return 0;
    }
    
    
    • 1

    Information

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