POJ - 1256 再次熟悉next_permutation

   USACO持续进不去中..好久没去POJ了~~就去随便抓了一个水题...这道题主要是又回顾了下next_permutation..原来next_permutation里可以加自写的cmp~~~

Program:

#include<iostream>
#include<algorithm>
using namespace std;
int t,l;
char s[20];
bool cmp(char a,char b)
{ 
     if (a<'a' && b>='a')
     {
           a=a-'A'+'a';
           return a<=b;          
     }else
     if (b<'a' && a>='a')
     {
           b=b-'A'+'a';
           return a<b;              
     }    
     return a<b; 
}
int main()
{
     freopen("input.txt","r",stdin);
     freopen("output.txt","w",stdout);
     scanf("%d\n",&t);
     while (t--)
     {
          gets(s);
          l=strlen(s);
          sort(s,s+l,cmp); 
          do
          {
                puts(s);        
          }
          while (next_permutation(s,s+l,cmp));
     }
     return 0;   
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值