TOJ1002 全排序问题
2005-06-01 13:40
435 查看
/*
全排序问题
http://acm.tongji.edu.cn/people/ps/showproblem.php?problem_id=1002
Time Limit:1s Memory Limit:1000k
Total Submit:5487 Accepted:2007
#include <stdio.h>
#include <string.h>
char workarr[10];
int visited[10] = {0};
char list[10];
int num;
void DFS(int l)
{
int i;
if (l == num)
{
for (i=0; i<num; i++)
{
if (i > 0)
printf(" ");
printf("%c", workarr[i]);
}
printf("/n");
return;
}
for (i=0; i<num; i++)
if (!visited[i])
{
workarr[l] = list[i];
visited[i] = 1;
DFS(l+1);
visited[i] = 0;
}
}
int main()
{
scanf("%s", list);
num = strlen(list);
DFS(0);
return 0;
}
全排序问题
http://acm.tongji.edu.cn/people/ps/showproblem.php?problem_id=1002
Time Limit:1s Memory Limit:1000k
Total Submit:5487 Accepted:2007
Problem
将一个字符组全排序Input
一个长度小于10的字符串,该字符串由数字1~9组成。字符不会重复出现。Output
按数字在输入串中出现的次序从小到大的顺序输出该字符组的全排序Sample Input
132
Sample Output
1 3 2 1 2 3 3 1 2 3 2 1 2 1 3 2 3 1*/
#include <stdio.h>
#include <string.h>
char workarr[10];
int visited[10] = {0};
char list[10];
int num;
void DFS(int l)
{
int i;
if (l == num)
{
for (i=0; i<num; i++)
{
if (i > 0)
printf(" ");
printf("%c", workarr[i]);
}
printf("/n");
return;
}
for (i=0; i<num; i++)
if (!visited[i])
{
workarr[l] = list[i];
visited[i] = 1;
DFS(l+1);
visited[i] = 0;
}
}
int main()
{
scanf("%s", list);
num = strlen(list);
DFS(0);
return 0;
}
相关文章推荐
- c#按字符串中的数字排序问题
- datatable的排序问题
- 排序问题
- Mybatis排序无效问题解决
- Reddit评论排序新算法:解决前10楼占领优秀评论区的问题
- C语言及程序设计进阶例程-25 排序问题及其求解
- MiniUI的dataGrid排序问题
- C# 的OrderBy()函数的排序问题
- 关于NSArray 排序的问题
- c++中vector排序的问题二(转载)
- N位数排序问题的通用解决方法
- DataFrame排序sort的问题
- 关于gridview排序问题
- 对于js数组排序的问题 arr.sort()
- 线程池中的线程的排序问题
- perl的排序问题
- 字典排序问题——在value的基础上对key排序
- 排序数组循环移位后查找问题
- 解决MSSQL 无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突 问题
- "编程珠玑" 第一章 磁盘文件排序问题