【POJ 1731】Orders 题解(全排列)
  VJeqq9jk2lCR 2023年11月05日 32 0

描述 商店经理按照标签的字母顺序对各种商品进行了分类。所有标签以同一字母开头的种类都存放在标有该字母的同一仓库(即在同一建筑物内)。在白天,商店经理接收并预订要从商店发货的货物订单。每个订单只需要一种货物。商店经理按照预订的顺序处理请求。 你事先知道今天商店经理必须处理的所有订单,但你不知道他们的预订订单。计算所有可能的仓库访问方式,以便门店经理在一天中逐个解决所有需求。

输入 输入包含一行所请求货物的所有标签(按随机顺序)。每种商品都由其标签的起始字母表示。只使用英文字母表中的小字母。订单数量不超过200。 输出 输出将包含商店经理可以访问其仓库的所有可能的订单。每个仓库都用英文字母表中的一个小字母表示,即货物标签的起始字母。仓库的每个订单都只在输出文件的一行中写入一次,所有包含订单的行都必须按字母顺序排序(参见示例)。输出不会超过2兆字节。

Sample Input bbjd Sample Output bbdj bbjd bdbj bdjb bjbd bjdb dbbj dbjb djbb jbbd jbdb jdbb

Source CEOI 1999

思路

先排序再输出全排列

AC代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#define AUTHOR "HEX9CF"
using namespace std;

int main()
{
    char s[200 + 5];
    cin >> s;
    int len = strlen(s);
    sort(s, s + len);
    do
    {
        cout << s << endl;
    } while (next_permutation(s, s + len));
    return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读