竞赛
考级
我应该是第一个发题解的吧!!吼吼! 入门深搜题,注释全部都在代码里 坑的地方就在输出的最后不能有空格,要进行判断
S
法兰西玫瑰
dfs: #include<bits/stdc++.h> using namespace std; int n,a[100],zip[100]; 哈哈抄不了!!
AK君
一坨江
AC君
赵梓涵
回来看看
#include<bits/stdc++.h> using namespace std; typedef int j; j n,a[100],vis[100]; j f(j p){ if(p==n+1){ for(j i=1;i<=n;i++){ cout<<a[i]<<" "; } cout<<endl; } for(j i=1;i<=n;i++){ if(vis[i]==0){ vis[i]=1; a[p]=i; f(p+1); vis[i]=0; } } } j main(){ cin>>n; f(1); return 0; }
#include <bits/stdc++.h> using namespace std; int a[15],n; bool vis[15]; void dfs(int t) { if(t>n){ for(int i=1;i<=n;i++) cout<<a[i]<<" "; cout<<endl; return; } for(int i=1;i<=n;i++){ if(vis[i]==false){ vis[i]=true; a[t]=i; dfs(t+1); vis[i]=false; } } } int main(){ cin>>n; dfs(1); return 0; }
Voldemort
xerography
哒烧叶
准
戚文谨
可以用next_permutation函数来遍历全排序 代码: #include <bits/stdc++.h> using namespace std; int main(){ int n,a[13]; 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<<a[i]<<' '; cout<<endl; }while(next_permutation(a+1,a+n+1)); return 0; }
林圳涵
Arena Breakout
>
Ù̜ṔD̂Ă̭T̃̆Ē̅
151****9879