nyoj19 全排列
生活随笔
收集整理的這篇文章主要介紹了
nyoj19 全排列
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
http://acm.nyist.net/JudgeOnline/status.php?pid=19
1 #include<stdio.h> 2 #include<stdlib.h> 3 int n,a[10]; 4 bool vis[10];//標(biāo)示數(shù)字是否被用過 5 void f(int k,int m)//k用來給a中第k個(gè)元素賦值,m表示還需要尋找的數(shù)字個(gè)數(shù) 6 { 7 for(int i=1;i<=n;++i) 8 { 9 if(!vis[i]) 10 a[k]=i; 11 else 12 continue;//用過的 話找下個(gè)數(shù)字 13 vis[i]=1;//標(biāo)志為1,下層遞歸不再使用 14 if(m>1)//m>1繼續(xù)尋找 15 f(k+1,m-1); 16 else 17 { 18 for(int j=1;j<=a[0];++j)//否則尋找完畢,輸出 19 printf("%d",a[j]); 20 printf("\n"); 21 } 22 vis[i]=0;//這點(diǎn)很重要,因?yàn)楹竺娴难h(huán)還需要再用,否則就只輸出一個(gè)遞增的序列就完了,為此我貢獻(xiàn)了好幾個(gè)TE,納悶的是為什么不是WA呢? 23 } //剛開始在這加了一個(gè)memset(),結(jié)果一直不對(duì),因?yàn)檫@樣后面會(huì)出現(xiàn)重復(fù)的數(shù)字,所以不行 24 } 25 int main() 26 { 27 int N; 28 scanf("%d",&N); 29 while(N--) 30 { 31 scanf("%d%d",&n,&a[0]);//n表示數(shù)字界限,用全局變量a[0]存放待輸出的數(shù)字個(gè)數(shù) 32 f(1,a[0]); 33 } 34 //system("pause"); 35 return 0; 36 }View Code
?
轉(zhuǎn)載于:https://www.cnblogs.com/zeze/p/nyoj19.html
總結(jié)
以上是生活随笔為你收集整理的nyoj19 全排列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个qq网名女生超拽。
- 下一篇: 生蚝多少钱啊?