Monday, May 17, 2010

hjgj

#includeint st[50],n,k,as,ev,a[100];void init (){ st[k]=0;}void succesor(){ as=0; if(st[k]>n; for(i=1;i<=n;i++) cin>>a[i]; back(); return 0 ;}

2 comments:

  1. #include
    int st[50],n,k,as,ev,a[100];
    void init (){
    st[k]=0;}
    void succesor(){
    as=0;
    if(st[k]<a[k]){
    as=1;st[k]++;}}
    void valid(){ ev=1;}
    int solutie(){ return k==n;}
    void tipar(){int i;
    for(i=1;i<=k;i++)
    cout<<st[i]<<" ";cout<<endl;
    }
    void back(){
    k=1; init ();
    while(k){
    do {succesor();
    if(as) valid();}
    while(as&&!ev);
    if(as) if(solutie())
    tipar ();
    else {++k;
    init ();}
    else --k;}}
    int main(){
    int i;
    cout<<"n="; cin>>n;
    for(i=1;i<=n;i++)
    cin>>a[i];
    back();
    return 0 ;}

    ReplyDelete
  2. #include
    int st[100],k,as,n,ev,p;
    void init(){st[k]=0;}
    void succesor(){as=0;
    if(st[k]1)
    if(st[k]<st[k-1])ev=0;}
    int solutie(){
    return(k==p);}
    void tipar(){int i;
    for(i=1;i<=k;i++)
    cout<<st[i]<<" ";
    cout<<endl;}
    void back(){k=1;
    init();
    while (k){do{succesor();
    if(as)valid();}
    while(as&&!ev);
    if(as)if(solutie())tipar();
    else{++k;init();}
    else --k;}}
    int main(){
    cout<<"n=";cin>>n;
    cout<<"p=";cin>>p;
    back();
    return 0;}

    ReplyDelete