程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度OJ 教程91 回溯算法之《全排列》

九度OJ 教程91 回溯算法之《全排列》

編輯:C++入門知識

  [cpp] v  //九度OJ 教程91 回溯算法之《全排列》     #include <stdio.h>   #include<string.h>   #define MAXS 8   int mark[MAXS],count,lenth;   char ans[MAXS],h[MAXS];   void huisu(int k)   {       if(k==lenth){puts(ans);return;}       for(int i=0;i<lenth;i++)       {           if(mark[i])           {               mark[i]=0;               ans[count++]=h[i];               huisu(count);               mark[i]=1;               count--;           }       }   }   int main()   {       while(~scanf("%s",h))       {           lenth=strlen(h);           memset(mark,1,MAXS*sizeof(int));           memset(ans,0,MAXS*sizeof(char));           huisu(count=0);           printf("\n");       }       return 0;   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved