#26566: 我的遞迴為啥會超時?


ryanwu (靚仔)

學校 : 國立臺灣大學
編號 : 157601
來源 : [59.125.184.211]
最後登入時間 :
2024-04-09 19:44:12
e446. 排列生成 | From: [111.241.41.165] | 發表日期 : 2021-08-13 20:36

#include <iostream>

using namespace std;

int T[11],n;

void t(int a,int m){

    for(int i=1;i<=m;i++){

        int b=1;

        for(int j=1;j<a;j++){

            if(T[j]==i){

                b=0;

                break;

            }

        }

        if(a==m){

            if(b==1){

                T[a]=i;

                for(int i=1;i<=m;i++){

                    cout << T[i] << " " ;

                }

                cout << '\n' ;

                break;

            }

            else{

                continue;

            }

        }

        else{

            if(b==1){

                T[a]=i;

                t(a+1,m);

            }

            else{

                continue;

            }

        }

 

    }

}

int main(){

    for(int i=0;i<11;i++){

        T[i]=0;

    }

    cin >> n ;

    t(1,n);

    return 0;

}

 
#26569: Re:我的遞迴為啥會超時?


linlincaleb@gmail.com (臨末之頌)

學校 : 新北市立板橋高級中學
編號 : 132772
來源 : [111.248.111.135]
最後登入時間 :
2023-04-01 22:41:13
e446. 排列生成 | From: [36.226.242.93] | 發表日期 : 2021-08-13 21:50

 

ios_base::sync_with_stdio(false);
cin.tie(0);
 
ZeroJudge Forum