欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

10.5做题——全排列(初赛复习)

发布时间:2025/4/9 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 10.5做题——全排列(初赛复习) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1-n中取m个求全排列

#include<iostream> #include<cstring> using namespace std; const int N=25; int data[N]; bool used[N]; int i,j,n,m,k; bool flag; int main() {cin>>n>>m;memset(used,false,sizeof(used));for(i=1;i<=m;i++){data[i]=i;used[i]=true;}flag=true;while(flag){for(i=1;i<=m-1;i++)cout<<data[i]<<" ";cout<<data[m]<<endl;flag=false;for(i=m;i>=1;i--){used[data[i]]=false;for(j=data[i]+1;j<=n;j++)if(!used[j]){used[j]=true;data[i]=j;flag=true;break;}if(flag){for(k=i+1;k<=m;k++)for(j=1;j<=n;j++)if(!used[j]){data[k]=j;used[j]=true;break;}break;}}}return 0; }

转载于:https://www.cnblogs.com/wuhu-xiaoshen/p/4918641.html

总结

以上是生活随笔为你收集整理的10.5做题——全排列(初赛复习)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。