當前位置:
首頁 >
C语言编程蛟龙转身,[蓝桥杯][2014年第五届真题]排列序数-题解(C语言代码)
發布時間:2025/3/17
28
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C语言编程蛟龙转身,[蓝桥杯][2014年第五届真题]排列序数-题解(C语言代码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#include?
#include
#include?
#include
using?namespace?std;
int?b[11],cou1=-1,ans=0;
char?a[11],c[11],d[11];
void?dfs(int?cou)//cou表示安排第幾個字符
{
if(cou==strlen(a))//若果字符數達到,是一種全排列(0開始),和目標進行比較,相同記錄結果跳出
{cou1++;
//printf("%s??%d\n",c,cou1);
if(strcmp(d,c)==0)//比較
{
ans=cou1;//保存結果,返回
return?;
}
}
else?{
int?i;
for(i=0;i
{
if(b[i]==0)//未被選擇過
{
c[cou]=a[i];//添加到某種全排列
b[i]=1;//標記
dfs(cou+1);?//找下一個字符,回溯
b[i]=0;
}
}
}
}
int?main()
{
scanf("%s",&a);//輸入目標態
int?i,j;
strcpy(d,a);//保存
sort(a,a+strlen(a));//對出現的字母進行排序,然后按照深搜全排列
dfs(0);//深搜,全排列
printf("%d",ans);
return?0;
}
總結
以上是生活随笔為你收集整理的C语言编程蛟龙转身,[蓝桥杯][2014年第五届真题]排列序数-题解(C语言代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse mysql jdbc驱动
- 下一篇: 猪场管理网站php,某养猪场网站整站 v