注意可能有重复序列,所以用set先存储下来,最后输出时set会自动去重。。。

/****************************************
* author:crazy_石头
* algorithm:dfs
* date:2013/10/17
* pro:UVA 10098
*****************************************/

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include <cstdio>
#include <cstring>
#include <climits>
#include <algorithm>
#include <iostream>
#include <string>
#include <set>

using namespace std;

set<string> myset;
set<string>::iterator st;
string ans;

char str[12];
char temp[12];
bool used[12];

int len;

inline void dfs(int cur)
{
    if(cur==len)
    {
        ans=temp;
        myset.insert(ans);
        return ;
    }
    else
    {
        for(int i=0;i<len;i++)
        {
            if(!used[i])
            {
                used[i]=1;
                temp[cur]=str[i];
                dfs(cur+1);
                used[i]=0;
            }
        }
    }
}

int main()
{
    int test;
    scanf("%d",&test);
    while(test--)
    {
        scanf("%s",str);
        myset.clear();
        len=strlen(str);

sort(str,str+len);

memset(used,0,sizeof(used));
        memset(temp,0,sizeof(temp));
        dfs(0);

for(st=myset.begin();st!=myset.end();st++)
        cout<<*st<<endl;
        cout<<endl;
    }
    return 0;
}

* This source code was highlighted by YcdoiT. ( style: Default )

10098 全排列水题相关推荐

  1. 水题/poj 1852 Ants

    1 /* 2 PROBLEM:poj1852 3 AUTHER:Nicole 4 MEMO:水题 5 */ 6 #include<cstdio> 7 using namespace std ...

  2. HDU2673-shǎ崽(水题)

    如果不能够直接秒杀的题,就不算水题.又应证了那句话,有时候,如果在水题上卡住,那么此题对于你来说,也就不算是水题了额~~ 刚睡醒,迷迷糊糊. 题目的意思很简单,求一个最大的,再求一个最小的.几乎是什么 ...

  3. 图论刷水题记录(二)(最短路-----SPFA算法)

    继第一篇的后续,又来刷水题了,写的是SPFA算法,这个算法的复杂度比较玄学,感觉能不用就不用了,但是他的好处就是可以判断负圈. 3月26日: 1.POJ 1847 Tram 题意:在一个交通网络上有N ...

  4. 图论刷水题记录(一)(最短路-----dijkstra算法)

    最近实在不知道干些什么,感觉自己除了水题什么都不会做,算了去刷一刷图论的水题吧本来想合起来一起发,想了想太长的话以后看起来也不方便,题目所以今天晚上就先发了dij部分,由上到下由易变难. 1.POJ ...

  5. hdu 2041:超级楼梯(水题,递归)

    超级楼梯Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissio ...

  6. HDU2568 前进【水题】

    前进 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  7. CF Round #426 (Div. 2) The Useless Toy 思维 水题

    题目链接: http://codeforces.com/contest/834/problem/A 题目描述: 输入起始状态和结束状态和数列长度, 判断旋转方向是顺时针逆时针还是不合理 解题思路: 长 ...

  8. NUC1312 Sum【水题+数学题】

    Sum 时间限制: 1000ms 内存限制: 65536KB 通过次数: 1总提交次数: 1 问题描述 认为自然数是从1-N.将每个数和+或-联系起来,然后计算这个表达式的值我们得到一个和S.这个问题 ...

  9. Codeforces 864 A Fair Game 水题

    题目链接: http://codeforces.com/problemset/problem/864/A 题目描述: 看不是是不是一串数中只有两种数且这两种数字的数量是相同的 解题思路: 水题, 水过 ...

  10. poj1564 Sum It Up dfs水题

    题目描述: Description Given a specified total t and a list of n integers, find all distinct sums using n ...

最新文章

  1. util类中非静态方法中注入serivce,在controller层是使用util。
  2. Kubernetes Ingress 日志分析与监控的最佳实践
  3. Linux 集群的deartbeat与drbd服务
  4. docker 推送镜像到私有地址
  5. wave格式分析,wave音频文件格式分析配程序
  6. ant root环境配置_如何给root用户设置PATH环境变量
  7. Luogu P4707 重返现世 (拓展Min-Max容斥、DP)
  8. C++编译预处理:宏定义指令、文件包含指令和条件编译指令
  9. Alibaba Druid连接池接入
  10. python 量化交易_基于Python的量化交易工具清单(上)
  11. 计算机专业对口升学模拟试题,2010对口升学模拟试题计算机专理论综合
  12. 用c++自制词法分析器_编译原理笔记 02 词法分析
  13. python字符串不可改变怎么理解_python的“不可变性”代表了什么?
  14. 基于机器学习的源代码分类
  15. 查找出/tmp目录下面修改时间是7天以前,大小在50k到2M之间,并以.log结尾的文件...
  16. Landsat卫星MSS/TM/ETM数据(转自ESRI社区)(二)
  17. RAID1与RAID0的区别
  18. 记一次百度知识图谱面试经历(cold)
  19. 微信公众号开发 入手
  20. outlook中网址连接打不开解决办法

热门文章

  1. 教你如何用PS轻松制作ico图标
  2. 阿里云服务器使用不了rz、sz命令?
  3. DAO与Servlet
  4. 2009英国电子工程学专业排名
  5. 每日英语听力 Mac
  6. 概率论与数理统计——总结
  7. android 渠道排名,八大安卓渠道6月数据报告总汇
  8. 旁路电容、滤波电容、去耦电容的作用与应用原理详解
  9. 虚拟网络之Kubernetes Cilium CNI 快速部署实操
  10. InputStream.available()使用大坑