the link is http://acm.uva.es/p/v7/729.html
try the problem..
mine is giving a wrong answer...
but my output seems to be fine.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct strin
{
       char st[20];
       struct strin * next;
};
typedef struct strin stri;
void func (int k , int m , int r , int n , char *str , int count ,stri
**first);
void add(char *str,stri **first);
void prin(stri **first);
int main()
{
    stri *first=NULL;
    int i,count=0;
    int noi,ij;
    int r,n;
    char *str;
    scanf("%d",&noi);
    for(ij=0;ij<noi;ij++)
    {
           scanf("%d %d",&n,&r);
           str=(char *)malloc(sizeof(char)*(n+1));
           for(i=0;i<n;i++)
           {
                    str[i]='0';
           }
           str[n]='\0';
           func(0,n-r,r,n,str,count,&first);
           prin(&first);
           printf("\n");
           first=NULL;
    }
    system("pause");
    return 0;
}
void func (int k , int m , int r , int n , char *str,int count,stri
**first)
{
    int i,j ;
    if(count==(r-1))
    {
              for(j=k;j<n;j++)
              {
                              str[j]='1';
                              if(j!=k)
                              str[j-1]='0';
                              add(str,first);
              }
              str[j-1]= '0';
              return ;
    }
    else
    {
              for(i=k;i<=m;i++)
              {
                              str[i]='1';
                              if(i!=k)str[i-1]='0';
                              func(i+1,m+1,r,n,str,count+1,first);
              }
    }
}
void add(char *str,stri **first)
{
     static stri *p=NULL;
     if((*first)==NULL)
     {
                       *first=(stri *)malloc(sizeof(stri));
                       strcpy((*first)->st,str);
                       (*first)->next=NULL;
                       p=*first;
     }
     else
     {
         (p->next)=(stri *)malloc(sizeof(stri));
         p=p->next;
         strcpy(p->st,str);
         p->next=NULL;
     }
}
void prin(stri **first)
{
     if((*first)==NULL)
     return;
     else
     {
                       prin(&((*first)->next));
                       printf("%s\n",(*first)->st);
     }
}




On May 16, 2:16 pm, "Dhruva Sagar" <[EMAIL PROTECTED]> wrote:
> I don't know about this...Can you tell me the site where your trying to
> submit this problem?
> Is it some local (LAN) setup where you are having this submissions as a part
> of some competition or is it in the internet? If in the internet give me the
> link i'll see if i can find something...
>
> On 5/16/07, mirchi <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > u r rite..but now tht prblem is solved the problem i am facing to
> > submit the code is that it does not print the code in lexicographical
> > order...
>
> > On May 16, 1:56 pm, "Dhruva Sagar" <[EMAIL PROTECTED]> wrote:
> > > str[n]=NULL;
> > > I think it should be str[n-1]='\0'; (String null character).
> > > And the loop should run from i=0;i<n-1.
> > > The memory allocated would be of size n, i.e. 0 to n-1. str[n] would be
> > > outside the allocated memory...
>
> > > Correct me if i m wrong.
>
> > > ---------- Forwarded message ----------
> > > From: mirchi <[EMAIL PROTECTED]>
> > > Date: May 16, 2007 2:20 PM
> > > Subject: [algogeeks] Re: acm problem : i need help
> > > To: Algorithm Geeks <[email protected]>
>
> > > that problem is solved..but now the reply is "wrong answer".
> > > the problem asks for printing the strings in ascending lexicographical
> > > order.
> > > wat does this mean??
>
> > > On May 16, 12:55 pm, "Yingjie Xu" <[EMAIL PROTECTED]> wrote:
> > > > a c style string with length n needs n+1 memory space.
>
> > > > On 5/16/07, mirchi <[EMAIL PROTECTED]> wrote:
>
> > > > > hello people ,
> > > > > i am facing a problem in submission of "The Hamming Disteance "
> > > > > problem. the output seems to be fine. but the program crashes in
> > > > > between. the error says:
>
> > > > > The instruction at "0x7c93426d" referenced memory at "0x00000000" .
> > > > > The memory could not be "read" .
>
> > > > > and the acm feedback error says :
>
> > > > > Your program has died with signal 11 (SIGSEGV). Meaning:
>
> > > > >   Invalid memory reference
>
> > > > > Before crash, it ran during 0.004 seconds.
>
> > > > > the code is as below :
>
> > > > > #include<stdio.h>
> > > > > #include<stdlib.h>
> > > > > void func (int k , int m , int r , int n , char *str , int count);
> > > > > int main()
> > > > > {
> > > > >    int i,count=0;
> > > > >    int noi,ij;
> > > > >    int r,n;
> > > > >    char *str;
> > > > >    scanf("%d",&noi);
> > > > >    for(ij=0;ij<noi;ij++)
> > > > >    {
> > > > >           scanf("%d %d",&n,&r);
> > > > >           str=(char *)malloc(sizeof(char)*n);
> > > > >           for(i=0;i<n;i++)
> > > > >           {
> > > > >                    str[i]='0';
> > > > >           }
> > > > >           str[n]=NULL;
> > > > >           func(0,n-r,r,n,str,count);
> > > > >    }
> > > > >    return 0;
> > > > > }
> > > > > void func (int k , int m , int r , int n , char *str,int count)
> > > > > {
> > > > >    int i,j ;
> > > > >    if(count==(r-1))
> > > > >    {
> > > > >              for(j=k;j<n;j++)
> > > > >              {
> > > > >                              str[j]='1';
> > > > >                              if(j!=k)
> > > > >                              str[j-1]='0';
> > > > >                              printf("%s\n",str);
> > > > >              }
> > > > >              str[j-1]= '0';
> > > > >              return ;
> > > > >    }
> > > > >    else
> > > > >    {
> > > > >              for(i=k;i<=m;i++)
> > > > >              {
> > > > >                              str[i]='1';
> > > > >                              if(i!=k)str[i-1]='0';
> > > > >                              func(i+1,m+1,r,n,str,count+1);
> > > > >              }
> > > > >    }
> > > > > }
>
> > > > > thanx in advance !
>
> > > --
> > > Thanks & Regards,
> > > Dhruva Sagar.
>
> --
> Thanks & Regards,
> Dhruva Sagar.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---

Reply via email to