9Google AdSense

ACM Problem Solution : How old are you? - 11219

View Code
View Problem
-------------------------------------------------------------------------------------

#include<cstdio>
#include<iostream>

using namespace std;

int main()
{
    int day,month,year,age,t,day1,month1,year1,i;
    char ch;
    scanf("%d",&t);
    i=0;
    while(t--)
    {
        i++;
        scanf("%d%c%d%c%d",&day,&ch,&month,&ch,&year);
        scanf("%d%c%d%c%d",&day1,&ch,&month1,&ch,&year1);
        age=year-year1;
        if((month1>month)||((month==month1)&&(day<day1)))
            age=age-1;
        if(age<0)
            cout<<"Case #"<<i<<":"<<" "<<"Invalid birth date"<<endl;
        else if(age>130)
            cout<<"Case #"<<i<<":"<<" "<<"Check birth date"<<endl;
        else
            cout<<"Case #"<<i<<":"<<" "<<age<<endl;
    }
    return 0;
} 


ACM Problem Solution : Generating Fast - 10098

View Problem
View Code
-------------------------------------------------------------------------------------------------
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>

using namespace std;

int main()
{
    int t,len;
    char ch;
    char str[10000];
    scanf("%d%c",&t,&ch);
    while(t--)
    {
        gets(str);
        len=strlen(str);
        sort(str,str+len);
        do
        {
            cout<<str<<endl;
        }while(next_permutation(str,str+len));
        cout<<endl;
    }
    return 0;
}

ACM Problem Solution : Pig-Latin - 492

#include<stdio.h>
#include<ctype.h>
int isvowel(char ch)
{
   int flag =0;
   if(ch=='a'|| ch=='A'||ch=='e'|| ch=='E'||ch=='i'|| 
         ch=='I'||ch=='u'|| ch=='U'||ch=='o'|| ch=='O')
       flag = 1;
   return flag;
} 
int main()
{
    char ch,save;
    int n;
    while(1)
    {
        n=scanf("%c",&ch);
        if(n!=1)
            break;
        if(isvowel(ch))
        {
            printf("%c",ch);
            while(1)
        {
                scanf("%c",&ch);
                if(!isalpha(ch))
                    break;
                printf("%c",ch);
            }    
            printf("ay%c",ch);
        }
        else if(isalpha(ch))
        {
              save=ch;
              while(1)
              {
                scanf("%c",&ch);
                if(!isalpha(ch))
                    break;
                printf("%c",ch);
              }
              printf("%cay%c",save,ch);
        }
        else
          printf("%c",ch);
    }
    return 0;
} 

ACM Problem Solution : ID Codes - 146


View Code
view Problem
----------------------------------------------------------------------------
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
    char str[200];
    int len;
    while(gets(str)!=NULL)
    {
        if(str[0]=='#')
                 break;
        len=strlen(str);
       if(next_permutation(str,str+len)==1)
              printf("%s\n",str);
       else
             printf("No Successor\n");
   }
  return 0;
}

12554 - A Special "Happy Birthday" Song!!!

View Problem
View Code
---------------------------------------------------------------------
#include<stdio.h>
int main()
{
   int t,tt,k,p,ll,h,hh,se,st;
   char happy[20][100]={"Happy","birthday","to","you","Happy","birthday","to",
       "you","Happy","birthday","to","Rujia","Happy","birthday","to","you"};
   char inp[200][200],ch;
   scanf("%d%c",&t,&ch);
   for(k=0;k<t;k++)
          gets(inp[k]);
   if(t<16)
   {      for(p=0,ll=0;p<16;p++,ll++)
      {
        if(ll==t)
           ll=0;
         printf("%s: %s\n",inp[ll],happy[p]);
      }   }
   else
   {
      for(h=0,hh=0;h<t;h++,hh++)
      {       if(hh>15)
        hh=0;
        printf("%s: %s\n",inp[h],happy[hh]);
      }
      if(hh!=0)
      {
         for(st=hh,se=0;st<16;st++,se++)
         printf("%s: %s\n",inp[se],happy[st]);
      }
   }
   return 0;
}

424 - Integer Inquiry

View Code
View Problem
---------------------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define MAX 300
void rev(char *from,char *to)
{
    int len,i;
    len=strlen(from);
    for(i=0;i<len;i++)
    to[i]=from[len-i-1];
    to[len]='\0';
}
void add(char *first,char *sec,char *result)
{
    char F[MAX],S[MAX],R[MAX];
    int flen,slen,now,extra,sum;
    flen=strlen(first);
    slen=strlen(sec);
    rev(first,F);
    rev(sec,S);
    for(now=0,extra=0;(now<flen&&now<slen);now++)
    {
    sum=(F[now]-'0')+(S[now]-'0')+extra;
    R[now]=sum%10+'0';
    extra=sum/10;
    }
    for(;now<flen;now++)
    {
     sum=F[now]+extra-'0';
    R[now]=sum%10+'0';
    extra=sum/10;
    }
     for(;now<slen;now++)
    {
     sum=S[now]+extra-'0';
    R[now]=sum%10+'0';
    extra=sum/10;
    }
    if(extra!=0)
    R[now++]=extra+'0';
    R[now]='\0';
   if(strlen(R)==0)
    strcpy(R,"0");
    rev(R,result);
}
int main()
{
    static char f[MAX],s[MAX],r[MAX];
    int i,len,t=0;
    while(gets(f)!=NULL)
    {
    if(t==0)
    {
           t++;
           strcpy(s,f);
    }
    else if(f[0]=='0')
          break;
    else{
         add(f,s,r);
         strcpy(s,r);
          }
    }
    len=strlen(r);
    for(i=0;i<len;i++)
        printf("%c",r[i]);
    printf("\n");
    return 0;
}

10931 - Parity

View Problem
View Code

#include<stdio.h>



int main()
{
    long long int num,count,i,s,x,l;
    char  str[200000];
    long long int value[200000];
    while(scanf("%lld",&num)==1)
    {
    if(num==0)
        break;
     if(num==1)
           printf("The parity of 1 is 1 (mod 2).\n");
       else{
    count=0;
    i=0;
    while(num!=0)
    {
        if(num%2==1)
        count++;
        s=num/2;
        value[i++]=num%2;
        num=s;

    }
    x=0;
    for(l=i-1;l>=0;l--)
         str[x++]=value[l]+'0';
       str[x]='\0';
        printf("The parity of %s is %lld (mod 2).\n",str,count);
       }
    }
    return 0;
}

713 Adding Reversed Numbers

View Code
View Problem
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

#define MAX 300


void reverse(char *fnum,char *snum)
{
    int len,i;
    len=strlen(fnum);
    for(i=0;i<len;i++)
    snum[i]=fnum[len-i-1];
    snum[len]='\0';
}

void add(char *first,char *sec,char *result)
{
    char F[MAX],S[MAX],R[MAX];
    int flen,slen,now,extra,sum;
    flen=strlen(first);
    slen=strlen(sec);
    reverse(first,F);
    reverse(sec,S);
    for(now=0,extra=0;(now<flen&&now<slen);now++)
    {
    sum=(F[now]-'0')+(S[now]-'0')+extra;
    R[now]=sum%10+'0';
    extra=sum/10;
    }
    for(;now<flen;now++)
    {
     sum=F[now]+extra-'0';
    R[now]=sum%10+'0';
    extra=sum/10;

    }

     for(;now<slen;now++)
    {
     sum=S[now]+extra-'0';
    R[now]=sum%10+'0';
    extra=sum/10;

    }
    if(extra!=0)
    R[now++]=extra+'0';
    R[now]='\0';
    if(strlen(R)==0)
    strcpy(R,"0");
    reverse(R,result);

}

int main()
{
    char f[MAX],s[MAX],r[MAX],f1[MAX],s1[MAX];
    int i,len,t,flag;
    scanf("%d",&t);
    while(t--)
    {
    scanf("%s%s",&f1,&s1);
    reverse(f1,f);
    reverse(s1,s);
    add(f,s,r);
    len=strlen(r);
    flag=0;
    for(i=len-1;i>=0;i--)
    {
        if((r[i]==48)&&(flag==0));
        else
       {printf("%c",r[i]);
        flag=1;
       }
    }
    printf("\n");

    }
    return 0;
}

12478 - Hardest Problem Ever (Easy)

#include<stdio.h>
int main()
{
    printf("KABIR\n");
    return 0;
}

ACM Problem Solution : 575 Skew Binary

View Code
-------------------------------------------------------------------------
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
    char str[20000];
    long long int i,sum,len,n,power,j;
    while(gets(str)!=NULL)
    {
    if(str[0]=='0')
        break;
    else
    {
        len=strlen(str);
        sum=0;
        for(i=len,j=0;i>=1;i--,j++)
        {
          if(str[j]!='0')
          {
          power=(pow(2,i)-1);
          sum=sum+((str[j]-'0')*power);
          }
       }
    printf("%lld\n",sum);
    }
    }
    return 0;
}