六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

處理排列組合問題的通用算法

[摘要]很多網友發貼詢問諸如:八皇后問題、彩票問題(從m中數中選擇n(m>=n)的組合)等,其實這都可歸結為排列組合的問題。解決這類問題,用for循環嵌套是不現實的(只能對指定的m、n編程,而且程序看...
很多網友發貼詢問諸如:八皇后問題、彩票問題(從m中數中選擇n(m>=n)的組合)等,其實這都可歸結為排列組合的問題。解決這類問題,用for循環嵌套是不現實的(只能對指定的m、n編程,而且程序看上去異常繁瑣),較好的方法是回朔法。下面給出這類問題的一般算法的c/c++描述:

int combine(int a[],int sub){
//a[1..?]表示候選集,sub表示一個排列(組合)的元素個數
{
   int total=sizeof(a);
   int order[sub+1];
   int count=0;//符合條件的排列(組合)的個數
   order[0]=-1;
   for(int i=1;i<=sub;i++)
      order[i]=i;
   int k=sub;
   bool flag=true;
   while(order[0]!=-1){
      if(flag){
         for(i=1;i<=sub;i++)//輸出符合要求的組合
            printf("%d ",a[order[i]]);
         printf("\n");
         count++;
         flag=false;
      }
      order[k]++;
      if(order[k]==total+1){
         order[k--]=0;
         continue;
      }   
   ...
      //在此加入order[k]的限制條件
      //如果條件滿足,則往下執行
      //否則continue;
      if(k<sub){
         order[++k]=order[k-1];
         continue;
      }
      if(k==sub)
         flag=true;
   }
   return count;
}


主站蜘蛛池模板: 亚洲一区二区三区四区在线 | 最新版天堂中文在线官网 | 四虎永久免费地址在线观看 | 亚洲 欧美 日韩 综合 | 天天干天天射天天 | 中文字幕亚洲日本岛国片 | 日韩欧美中文在线 | 日本天堂视频 | 日韩去日本高清在线 | 伊久久| 亚洲欧美在线精品 | 亚洲自拍色 | 欧美亚洲春色系列 | 欧美视频一区二区三区 | 午夜aa| 天天毛片 | 亚洲精品高清在线观看 | 一级毛片免费毛片一级毛片免费 | 青草免费在线 | 亚洲啪啪网站 | 日本在线视频一区 | 一本天堂 | 天天插天天透天天狠 | 综合亚洲欧美 | 特一级黄色片 | 最近中文字幕无吗高清免费视频 | 日本亚欧乱色视频在线系列 | 日日干夜夜拍 | 青青青草国产 | 四虎影院在线免费观看视频 | 日本大片免a费观看视频+播放器 | 亚洲天堂久久 | 欧洲mv日韩mv国产mv | 青青青国产免费手机视频在线观看 | 亚洲成人精品 | 任我爽在线视频精品凹凸精品分类 | 日本红怡院亚洲红怡院最新 | 中文亚洲 | 一二三四影视大全免费观看电视剧 | 亚洲最大免费视频网 | 午夜精品福利视频 |