DFS,BFS初步学习

7-2 输出全排列 (20 分)

#include
using namespace std;
int vis[11],a[11],n;
void dfs(int flag){
    if(flag==n+1){
        for(int i=1;i<=n;i++)
            cout<>n;
    dfs(1);

    return 0;
}

利用STL内置函数next_permutation()

#include
using namespace std;
int n,a[11];

int main(){
    cin>>n;
    for(int i=1;i<=n;i++) a[i]=i;

    sort(a+1,a+n+1);

    do{
        for(int i=1;i<=n;i++) cout<

 

 

7-1 掷骰子

#include
using namespace std;
int n,m,cnt;
void dfs(int dep,int sum){
    if(dep>=n){
        if(sum==m)
            cnt++;
        return ;
    }
    for(int i=1;i<=6;i++) dfs(dep+1,sum+i);
    return ;
}
int main(){
    cin>>n>>m;
    dfs(0,0);
    cout<

 

你可能感兴趣的:(题解,总结)