fjnu 1302 全排序问题
来源:互联网 发布:淘宝视频短片拍摄方案 编辑:程序博客网 时间:2024/05/29 14:37
Description
将一个字符组全排序
Input
一个长度小于10的字符串,该字符串由数字1~9组成。字符不会重复出现。
Output
按数字在输入串中出现的次序从小到大的顺序输出该字符组的全排序
Sample Input
132
Sample Output
1 3 21 2 33 1 23 2 12 1 32 3 1
KEY:本来是递归算法的经典问题,我怎么也搞不对,最后不行了……用STL……AC
Source:
#include<iostream>
#include<algorithm>
using namespace std;
int num[11];
bool compare(char a,char b)
...{
return num[a-'0']>num[b-'0'];
}
int main()
...{
char str[10];
int n,i;
cin>>str;
n=strlen(str);
for(i=0;i<n;i++)
num[(str[i]-'0')]=10-i;
sort(str,str+n,compare);
do
...{
for(i=0;i<n-1;i++)
cout<<str[i]<<" ";
cout<<str[n-1]<<endl;
}while(next_permutation(str,str+n,compare));
return 0;
}
#include<iostream>
#include<algorithm>
using namespace std;
int num[11];
bool compare(char a,char b)
...{
return num[a-'0']>num[b-'0'];
}
int main()
...{
char str[10];
int n,i;
cin>>str;
n=strlen(str);
for(i=0;i<n;i++)
num[(str[i]-'0')]=10-i;
sort(str,str+n,compare);
do
...{
for(i=0;i<n-1;i++)
cout<<str[i]<<" ";
cout<<str[n-1]<<endl;
}while(next_permutation(str,str+n,compare));
return 0;
}
- fjnu 1302 全排序问题
- fjnu 1902 排排序
- fjnu 1039 串排序
- fjnu 1160 洗牌问题
- fjnu 1422 赋值问题
- fjnu 1305 核电站问题
- fjnu 1342 等式问题
- fjnu最大区间问题
- TOJ1002 全排序问题
- 全排序问题
- 全排序问题
- 字符串全排序问题
- 字符串全排序问题
- 字典全排序问题
- fjnu 1767 相等元素问题
- fjnu 1354 小鼠迷宫问题
- fjnu 1355 半数集问题
- fjnu 1362 收集样本问题
- fjnu 1894 Niven Numbers
- 领域驱动设计,难
- CLR 错误及解决
- protues元件库中英文对照表,对初学者找不到元件的很有用
- 我在看CSDN
- fjnu 1302 全排序问题
- .Net 中的反射(序章) - Part.1
- DataTable操作
- 如何建立高效率的测试团队----人员选择和培养1
- DataTable操作中的性能问题
- SOA 新业务语言 新系统架构——SOA原则
- fjnu 1943 Gau? in Elementary School
- xml文件提示下载,IE打不开
- fjnu 1412 An Interesting Set