Metal Steak

Hard to eat

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  0 Posts :: 79 Stories :: 0 Comments :: 0 Trackbacks

公告

aaaaaaaaaaaa

常用链接

留言簿(1)

我参与的团队

搜索

  •  

最新评论

#include <iostream>
using namespace std;

const string alphabet[27= { """a""b""c""d""e""f""g""h""i""j""k""l""m",
"n""o""p""q""r""s""t""u""v""w""x""y""z" };

int
s, t, w, cnt 
= 1;
string origin;

void
__read__()
{
    cin 
>> s >> t >> w >> origin;
}

bool
flg( 
string num, int digit )
{
    
forint i = 1; i <= digit; i++ )
    {
        
if( num[i - 1< origin[i - 1] )
            
return false;
        
if( num[i - 1> origin[i - 1] )
            
return true;
    }
    
return false;
}

void
__dfs__( 
int digit, int start, string num )
{
    
if( digit <= w )
        
forint i = start + 1; i <= t; i++ )
            
if( flg( num, digit ) )
                __dfs__( digit 
+ 1, i, num + alphabet[i] );
        
else if( i >= origin[digit - 1- 'a' + 1 )
                __dfs__( digit 
+ 1, i, num + alphabet[i] );

    
if( digit > w )
    {
        
if( cnt > 1 && cnt <= 6)
            cout 
<< num << endl;
        
else if ( cnt > 6 )
            exit( 
0 );
        cnt
++;
    }
}

int
main()
{
    __read__();
    __dfs__( 
1, s - 1"" );

    
return 0;
}

posted on 2009-09-15 21:14 mad4alcohol 阅读(149) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理