Metal Steak

Hard to eat

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

公告

aaaaaaaaaaaa

常用链接

留言簿(1)

我参与的团队

搜索

  •  

最新评论

#include <iostream>     //组合
using namespace std;

int n[1001], vtd[1001], digits, nums;

void dfs(int x, int crnt);

int main()
{
    memset(n, 
0sizeof n);
    memset(vtd, 
0sizeof vtd);

    cin 
>> nums >> digits;

    dfs(
11);

    
return 0;
}

void dfs(int x, int crnt)
{
    
if(x <= digits)
    {
        
for(int j = crnt; j <= nums; j++)
            
if(!vtd[j])
            {
                vtd[j] 
= 1;
                n[x] 
= j;
                dfs(x 
+ 1, j);
                vtd[j] 
= 0;
            }
    }
    
else
    {
        
for(int i = 1; i <= digits; i++)
            cout 
<< n[i];
        cout 
<< endl;
    }
}

#include <iostream>    //排列
using namespace std;

int    n, m;
int    vst[11];
int    p[11];

void
__read__()
{
    cin 
>> n >> m;
}

void
__outp__()
{
    
forint i = 1; i <= m; i++ )
        cout 
<< p[i];
    cout 
<< endl;
}

void
__dfs__( 
int x )
{
    
if( x <= m )
        
forint i = 1; i <= n; i++ )
            
if!vst[i] )
            {
                vst[i] 
= true;
                p[x] 
= i;
                __dfs__( x 
+ 1 );
                vst[i] 
= false;
            }
    
if( x > m )
        __outp__();
}

int
main()
{
    __read__();
    __dfs__( 
1 );

    
return 0;
}


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

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