STL-Anagram

source

Description

You are to write a program that has to generate all possible words from a given set of letters.
Example: Given the word "abc", your program should - by exploring all different combination of the three letters - output the words "abc", "acb", "bac", "bca", "cab" and "cba".
In the word taken from the input file, some letters may appear more than once. For a given word, your program should not produce the same word more than once, and the words should be output in alphabetically ascending order.

Input

The input consists of several words. The first line contains a number giving the number of words to follow. Each following line contains one word. A word consists of uppercase or lowercase letters from A to Z. Uppercase and lowercase letters are to be considered different. The length of each word is less than 13.

Output

For each word in the input, the output should contain all different words that can be generated with the letters of the given word. The words generated from the same input word should be output in alphabetically ascending order. An upper case letter goes before the corresponding lower case letter.

Sample Input

3
aAb
abc
acba

Sample Output

Aab
Aba
aAb
abA
bAa
baA
abc
acb
bac
bca
cab
cba
aabc
aacb
abac
abca
acab
acba
baac

baca
bcaa
caab
caba
cbaa

Hint

An upper case letter goes before the corresponding lower case letter.
So the right order of letters is 'A'<'a'<'B'<'b'<...<'Z'<'z'.

主要思路:因為'A'<'a''<...<'Z'<'z'瓢剿,所以將字母的大小值映射到一個double值上揩尸,比如,A=96.5锦针,a=97;B=97.5,b=98...然后循環(huán)用next_permutation(val,val+len)即可

#include <iostream>
#include<cstring>
#include<algorithm>
using namespace std;
char trans(double val)
{

    if((double)((int)val)==val) return (int)val;
    else return (int)(val-31.5);
}
int main()
{
int n;
cin>>n;
char *a=new char[14];
double *val;
while(n--)
{
    cin>>a;
    int len=strlen(a);
    val=new double[len];
    for(int i=0;i<len;i++)
    {
        if(('A'<=a[i])&&(a[i]<='Z')) val[i]=(int)a[i]+31.5;
        else val[i]=(int)a[i]+0.0;

    }
    sort(val,val+len);
     do {
    for(int i=0;i<len;i++)
        cout<<trans(val[i]);
    cout<<endl;
    } while (next_permutation(val,val+len));
}

}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铭拧,隨后出現(xiàn)的幾起案子像棘,更是在濱河造成了極大的恐慌咨察,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沛硅,死亡現(xiàn)場離奇詭異眼刃,居然都是意外死亡,警方通過查閱死者的電腦和手機摇肌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門擂红,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人围小,你說我怎么就攤上這事昵骤。” “怎么了肯适?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵变秦,是天一觀的道長。 經(jīng)常有香客問我框舔,道長蹦玫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任雨饺,我火速辦了婚禮钳垮,結果婚禮上惑淳,老公的妹妹穿的比我還像新娘额港。我一直安慰自己,他們只是感情好歧焦,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布移斩。 她就那樣靜靜地躺著,像睡著了一般绢馍。 火紅的嫁衣襯著肌膚如雪向瓷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天舰涌,我揣著相機與錄音猖任,去河邊找鬼。 笑死瓷耙,一個胖子當著我的面吹牛朱躺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搁痛,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼长搀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鸡典?” 一聲冷哼從身側響起源请,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谁尸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舅踪,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年症汹,在試婚紗的時候發(fā)現(xiàn)自己被綠了硫朦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡背镇,死狀恐怖咬展,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瞒斩,我是刑警寧澤破婆,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站胸囱,受9級特大地震影響祷舀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜烹笔,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一裳扯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谤职,春花似錦饰豺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至饶套,卻和暖如春漩蟆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背妓蛮。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工怠李, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蛤克。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓捺癞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親咖耘。 傳聞我的和親對象是個殘疾皇子翘簇,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • **2014真題Directions:Read the following text. Choose the be...
    又是夜半驚坐起閱讀 9,495評論 0 23
  • 早上醒來,被朋友發(fā)來的一個信息給震驚了儿倒,除夕夜B站被攻擊版保。 選擇在除夕夜爆出這個事情呜笑,想必是提前已經(jīng)規(guī)劃好了,要造...
    cool_wier閱讀 3,323評論 6 37
  • 《討鬼傳極》攻銃伐罪常夜女王與極級真淵視頻 伐罪關于象:常夜女王 武器:創(chuàng)世銃+9 NPC :速鳥 大和 櫻花 賽...
    光明神話閱讀 1,105評論 0 0
  • 很久很久以前彻犁,我們的女王還是一個小公主叫胁。 她喜歡穿著粉紅色的公主裙,頭上戴著精致的白色蕾絲頭紗汞幢,手里拿著棒棒糖蹦蹦...
    塵北閱讀 385評論 0 0
  • 我張開手驼鹅, 輕輕虛握。 想象你稚嫩的小手森篷, 與我掌紋相合输钩。 無盡的夜, 吞沒虛擬的場景仲智, 慢慢消融成买乃, 刻骨銘心的...
    紫蝶冰魄閱讀 159評論 0 0