`

poj 1256

 
阅读更多

题意:字符的全排列(顺序:'A'<'a'<'B'<'b'<...<'Z'<'z')。

思路:STL中next_permutation的运用,多写一个比较函数。

源代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
const int MAX = 15;

int val(char c)    // 按照'A'<'a'<'B'<'b'<...<'Z'<'z'的顺序,每个字母赋一个固定的权值。
{
    if(c >= 'A' && c <= 'Z') {
        return 2 * (c - 'A');
    } else {
        return 2 * (c - 'a') + 1;
    }    
}

bool cmp(char a, char b)
{
    return val(a) < val(b);
}

int main()
{
    int t;
    char str[MAX];
    cin >> t;
    while(t --)
    {
        cin >> str;
        int n = strlen(str);
        sort(str, str + n, cmp);
        do
        {
            cout << str << endl;
        }
        while(next_permutation(str, str + n, cmp));
    }
    return 0;
}

 

分享到:
评论

相关推荐

    北大POJ部分题目答案(一些基础题目)

    很多的POJ题目答案!1000~1008,1011~1014,1016,1017,1019,1028,1032,1045,1046,1047,1050,1061,1067,1068,1088,1102,1159,1163,1183,1207,1218,1226,1247,1256,1258,1298,1316,1323,...

    北京大学poj题目类型分类

    * 1256 Anagram:这是一个贪心题目,要求学习者编写一个程序来解决字母排列问题。 构造 构造是POJ题目中的一种重要题型,通常涉及构造算法的应用,如构建树、构建图等。这些题目要求学习者具备构造算法的基础知识...

    poj上算法题目分类

    根据提供的信息,我们可以将POJ(Peking Online Judge)平台上的算法题目按照不同的类别进行整理与解析。这对于希望系统性地提高自己算法能力的学习者来说非常有用。下面将基于给出的分类来详细介绍每一类算法的核心...

    poj100题解。具体题号见说明

    1000 1002 1003 1004 1005 1006 1007 1008 1011 1012 1013 1019 1028 1045 1046 1068 1080 1088 1163 1207 1218 1256 1298 1299 1316 1326 1401 1455 1477 1488 1503 1504 1517 1519 1547 1552 1565 1579 1607 1656 ...

    POJ ACM题目分类.

    在ACM(国际大学生程序设计竞赛)中,POJ(Problemset Online Judge)是一个常用的在线评判系统,提供了大量的编程题目供参赛者练习和比赛。这些题目涵盖了多种算法和编程技巧,帮助参赛者提升解决问题的能力。根据提供...

    acm poj 源代码

    1001 1002 1003 1004 1005 1006 1007 1008 1011 1012 1013 1014 1015 1017 ...1256 1258 1276 1287 1298 1306 1308 1316 1321 1322 1323 1324 1338 1354 1376 1401 1416 1423 1426 1455 1458 1477 1543 1552 1562 1565 ...

    poj pku 解题报告

    1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1011 1012 1013 1014 ...1256 1258 1260 1273 1274 1276 1283 1298 1305 1306 1308 1315 1316 1319 1321 1323 1324 1325 1328 1338 1339 1364 1389 1401 1422 1423 ...

    poj135道题的代码

    1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1011 1012 1013 1014 ...1256 1258 1273 1298 1305 1308 1319 1321 1323 1328 1339 1401 1422 1455 1458 1477 1562 1564 1565 1579 1658 1664 1700 1703 1730 1737 ...

    献给阿尔吉侬的花束——C++poj原题

    北京大学数据结构与算法课程作业代码,供广大学习c++的同学参考与学习

    poj题目类型总结(每题用到的算法)

    根据提供的信息,我们可以看出这是一份关于POJ(Peking University Online Judge)平台上部分题目的分类总结。这份总结按照不同的算法和技术对题目进行了归类,旨在帮助学习者系统地掌握和练习不同类型的算法问题。...

    北大ACM题库及解答打包下载

    题目来源:POJ 1031 解法或类型: 计算几何 作者:杨清玄 Fence Time Limit:1S Memory Limit:1000K Total Submit:103 Accepted:26 Description There is an area bounded by a fence on some flat field. The fence...

    北京大学acm题库 题目分类

    北京大学ACM题库分类是适合想做ACM题的人的题目分类,分类详细,涵盖了POJ(PKU ACM Online Judge)上的题目分类。该分类涵盖了多种算法和数据结构,包括排序、搜索、回溯、遍历、历法、枚举、数据结构的典型算法、...

Global site tag (gtag.js) - Google Analytics