车厢调度算法
/*
41. 車廂調度 (限1 人完成)
問題描述:假設停在鐵路調度站入口處的車廂序列的編號一次為1,2,3,4。設計一個程序,求出所有可能由此輸出的長度為4的車廂序列。
*/
#include <stdio.h>
#include<stdlib.h>
int n = 0;
//交換兩個數
void swap(int *a, int *b)
{
int m;
m = *a;
*a = *b;
*b = m;
}
//遞歸
void perm(FILE* fw,int list[], int k, int m)
{
int i;
if(k > m)
{
for(i = 0; i <= m; i++)
{
fprintf(fw,"%d ", list[i]);
printf("%d ", list[i]);
}
printf("\n");
fprintf(fw,"\n");
n++;
}
else
{
for(i = k; i <= m; i++)
{
swap(&list[k], &list[i]);
perm(fw,list, k + 1, m);
swap(&list[k], &list[i]);
}
}
}
int main()
{
FILE* fw=fopen("pailie.txt","wt");
int i;
int j=0;
//int list[100];
printf("請輸入N:");
scanf("%d",&i);
int list[i];
for(j;j<i;j++)
{
list[j]=j+1; //0-i
}
perm(fw,list,0,i-1);
printf("total:%d\n", n);
fprintf(fw,"total:%d\n",n);
fclose(fw);
return 0;
}
轉載于:https://www.cnblogs.com/dingxiaowei/p/dingxiaowei.html
總結
- 上一篇: PDO防注入原理分析以及使用PDO的注意
- 下一篇: 矫正视力眼镜多少钱