火车进站

来源:互联网 发布:gif文字修改软件 编辑:程序博客网 时间:2024/04/26 04:01
#include<stdio.h>#include<string.h>int temp[50];int mark[50];int b[50];int n;int count;void dfs(int level){int i, j, k = 0;if(count > 20)return;if(level == n + 1){for(i = 1; i <= n; i++){k = 0;memset(temp, 0, sizeof(temp));for(j = i + 1; j <= n; j++){//判断有没有逆序if(b[j] < b[i]){temp[k++] = b[j];/*if(b[j] > temp)return;elsetemp = b[j];*/}for(int z = 0; z < k ; z ++){if(k > 1)if(temp[z] < temp[z + 1])return;}}}if(i == n + 1){ count++;if(count <= 20){for(i = 1; i <= n; i++)printf("%d", b[i]);printf("\n");}}}else{for(i = 1; i <= n; i++){if(mark[i] == 0){mark[i] = 1;b[level] = i;dfs(level + 1);mark[i] = 0;}}}}int main(){scanf("%d", &n);dfs(1);return 0;}


	
				
		
原创粉丝点击