... HAVE U TRIED .... AT LEAST 3 TIMES ... OK U CAN SEE THIS ...

Tuesday, December 31, 2013

UVA-10036 :: Divisibility

// Problem link >> http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=977

#include <bits/stdc++.h>
using namespace std ;

int a[10001] , t , i , k , n ,x ,dp[105][10001] ;

int cal (int sum, int pos)
{
    sum=( (sum%k)+k)%k ;
    if (pos>n)
    {
        if (sum==0) return 1 ;
        else return 0 ;
    }

    int  &dos=dp[sum][pos] ;
    if ( dos != -1)  return dos ;

    int rez=0 ;
    rez=rez | cal(sum+a[pos] , pos+1) ;
    rez=rez | cal(sum-a[pos] , pos+1) ;

    dos=rez ;
    return dos ;
}

int main ()
{
    cin>>t ;
    while (t--)
    {
        memset(dp,-1,sizeof (dp)) ;
        cin>>n>>k ;
        for (i=1; i<=n ; i++) cin>>a[i] ;

        x= cal (0,1) ;
        if (x==1) cout<<"Divisible"<<endl ;
        else cout<<"Not divisible"<<endl ;
    }

    return 0 ;
}

UVA-11137 :: Ingenuous Cubrency

//Problem link >> http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2078

#include <bits/stdc++.h>
#define lli long long int
using namespace std ;

int main ()
{
     lli  i , j , coin[100] , n ,dp[10005] ,take ;
    for (i=1 ; i<=21 ; i++) coin[i]=i*i*i ;

   while(cin>>n)
   {
       memset(dp,0,sizeof (dp)) ;
       dp[0]=1 ;
       for (i=1 ; i<=21 ; i++)
       {
           take=coin[i] ;

          for (j=1 ; j<=n; j++)
          {
              if (j-take>=0) dp[j]=dp[j]+dp[j-take] ;
          }

       }
       cout<<dp[n]<<endl ;
   }

    return 0 ;
}

UVA-10550 :: Combination Lock

//Problem link >> http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1491

#include <bits/stdc++.h>
using namespace std ;

int cal (int a ,int b ,int op )
{
    int x =0 ;
    if (op==1)
    {
        if (b>a) x=40+a-b ;
        else x= a-b ;
    }

    if (op==0)
       {
           if (b>a) x= b-a ;
           else x=40+b-a ;
       }

    return  x*9 ;
}

int main ()
{
    int n , a,b ,c ,x ,p ;
    while (cin>>n>>a>>b>>c && n || a || b || c )
    {
            x=9*40*2+9*40 ;
            p=cal(n,a,1) ;
            x=x+p ;

            p=cal(a,b,0) ;
            x=x+p ;

            p=cal(b,c,1) ;
            x=x+p ;

            cout<<x<<endl ;
    }

    return 0 ;
}

LOJ-1043 :: Triangle Partitioning

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int  t ,it ;
    cin>>t ;
    for (it=1 ; it<=t ; it++)
    {
        double a,b,c, r ,s ,R,p,q ,d ;
        cin>>a>>b>>c>>r ;

        s=(a+b+c)/2 ;
        p=sqrt(s*(s-a)*(s-b)*(s-c)) ;
        q= (p*r)/(1+r)  ;
        d= sqrt( (q/p)*a*a) ;
 
       printf ("Case %d: %.10lf\n",it , d) ;

    }

    return 0 ;
}

LOJ-1433 :: Minimum Arc Distance

#include <iostream>
#include <cmath>
#include <cstdio>
using namespace std;
int main ()
{
    double x1,x2,x3,y1,y2,y3 ,a,b,c ,C ,s ;
    int i ,t ;
    cin>>t;

    for (i=1 ; i<=t ; i++)
    {
        cin>>x1>>y1>>x2>>y2>>x3>>y3 ;
        a=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3) ) ;
        b=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) ) ;
        c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3) ) ;

       C=acos( (a*a+b*b-c*c)/(2.0*a*b) ) ;
       s=b*C ;
       printf ("Case %d: %.10lf\n",i,s) ;
    }

    return 0 ;
}

LOJ-1331 :: Agent J

#include <iostream>
#include <math.h>
#include <cstdio>
using namespace std ;
int main ()
{
     double r1,r2,r3 ,a,b,c ,A,B,C ,p ,s ,s1,a1,a2,a3 ,rs  ;
    int i , t , it ;
    cin>>t ;

    for (it=1 ; it<=t ; it++)
    {
        cin>>r1>>r2>>r3 ;
        a=r1 + r2 ;
        b=r2+ r3 ;
        c=r3 + r1 ;

        A=acos((b*b+c*c-a*a)/(2.0*b*c)) ;
        B=acos((a*a+c*c-b*b)/(2.0*a*c)) ;
        C=acos((a*a+b*b-c*c)/(2.0*a*b)) ;

        a1=(0.5)*r1*r1*B ;
        a2=(0.5)*r2*r2*C ;
        a3=(0.5)*r3*r3*A ;
        s1=a1+a2+a3 ;

        s=(a+b+c)/2.0 ;
        p=sqrt(s*(s-a)*(s-b)*(s-c)) ;

        rs=p-s1 ;
     printf ("Case %d: %0.10lf\n",it,rs) ;

    }

    return 0 ;
}

LOJ-1305 :: Area of a Parallelogram

#include <iostream>
#include <cstdio>
#include <math.h>
using namespace std ;
int main ()
{
     double h,k , x1,x2,x3,x4,y1,y2,y3,y4,s,n,a,c ,b ;
     int t,i ,it=1;
    cin>>t ;

    while (it<=t )
    {
        cin>>x1>>y1>>x2>>y2>>x3>>y3 ;

        h=(x1+x3)/2.00 ;
        k=(y1+y3)/2.00 ;

        x4=2.00*h-x2 ;
        y4=2.00*k-y2 ;

        a= 1.0*sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) ) ;
        b= 1.0*sqrt((x1-x3)*(x1-x3) + (y1-y3)*(y1-y3) ) ;
        c=1.0* sqrt((x2-x3)*(x2-x3) + (y2-y3)*(y2-y3) ) ;

        s= (a+b+c)/2.00 ;
        n=2.0*sqrt(s*(s-a)*(s-b)*(s-c) ) ;
        if (n<0) n=(-1.0)*n ;

        printf ("Case %d: %.0lf %.0lf %.0lf\n",it,x4,y4,n) ;
        it++ ;
    }

    return 0 ;
}

LOJ-1006 :: Hex-a-bonacci

#include <iostream>
#include <bits/stdc++.h>
using namespace std ;

 long long int dp[10002] ,vis[10002] ;
int a, b, c, d, e, f ,i ;

long long int fn( int n )
{
    if( n == 0 ) return a;
    if( n == 1 ) return b;
    if( n == 2 )  return c;
    if( n == 3 ) return d;
    if( n == 4 ) return e;
    if( n == 5 ) return f;

    if (vis[n] != -1) return dp[n] ;
    else vis[n]=1 ;

     return dp[n]=( ( (fn(n-1) % 10000007) + (fn(n-2)%10000007) + (fn(n-3)%10000007) + (fn(n-4)%10000007)+(fn(n-5)%10000007)+(fn(n-6)%10000007) )%10000007 ) ;
   }

int main()
 {
    int n, caseno = 0, cases;
    scanf("%d", &cases);

    while( cases-- )
        {
                 memset (vis,-1,sizeof (vis)) ;

        scanf("%d %d %d %d %d %d %d", &a, &b, &c, &d, &e, &f, &n);
        printf("Case %d: %lld\n", ++caseno,   fn(n)% 10000007);
    }
    return 0;
}

LOJ-1374 :: Confusion in the Problemset

#include <bits/stdc++.h>
using namespace std ;
int a[1000009] ;
int main ()
{
    int t , n , i , j  ,p ;
    cin>>t ;
    for (j=1 ; j<=t ;j++)
    {
        memset(a,0,sizeof (a)) ;
        cin>>n ;
        for (i=1 ; i<=n ; i++)
        {
             cin>>p ;
             a[p]++ ;
        }

        int flag =0 ;
        for (i=1 ; i<=n ; i++)
        {
           int  rem=n-i ;
          int  prv=i-1 ;
           if (a[rem]==0 && a[prv]==0)
           {
               flag=1 ;break ;
           }
           else if (a[rem]>0) a[rem]-- ;
           else if (a[prv]>0) a[prv]-- ;

        }
        cout<<"Case "<<j<<": " ;
        if (flag==1) cout<<"no"<<endl ;
        else cout<<"yes"<<endl ;

    }

    return 0 ;
}

LOJ-1231 :: Coin Change (I)

#include<bits/stdc++.h>
using namespace std ;

int coin[55] , no[55] ,n ,k;
long long int dp[55][1005] ;
int mod=100000007  ;

long long int call (int i , int amount)
{
    int j ;
      if (i==n)
    {
        if (amount==0) return 1 ;
        else return 0 ;
    }
     long long int &res =dp[i][amount] ;

      if (res != -1) return res ;
      res=0 ;
    for (j=0 ; j<=no[i] ; j++)
    {
        if (amount-(coin[i]*j)>=0)
            res+= call(i+1,amount-(coin[i]*j))%mod ;
        else  break ;
    }
    res=res%mod ;
   return res ;
}


int main ()
{
    int t ,j ,it ;
    cin>>t ;
    for (it=1 ; it<=t ; it++)
    {
        cin>>n>>k ;
        memset(dp,-1,sizeof (dp)) ;
        for(j=0 ; j<n ; j++) cin>>coin[j] ;
        for (j=0 ; j<n ;j++) cin>>no[j] ;

        printf ("Case %d: %lld\n",it,call(0,k) ) ;

    }

    return 0 ;
}

Monday, December 30, 2013

UVA-12667 :: Last Blood

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int  i , n ,t ,m , tim ,id , tmar[1000]= {0} , idar[100]= {0} ;
    string vedt="" ;
    char prb ;
    int check[1000][150]={0} ;

    cin>>n>>t>>m ;
    for (i=1 ; i<=m ; i++)
    {
        cin>>tim>>id>>prb>>vedt ;
        if (vedt=="Yes")
        {
            int idx=prb-64 ;

            if ( check[id][idx]==1) continue ;
            else
            {
                check[id][idx]=1 ;
                   tmar[idx]=tim ;
                 idar[idx]=id ;
            }

        }
    }

    char ch ;
    for (i=1 ; i<=n ; i++)
    {
        ch=i+64 ;
        if (idar[i]==0) cout<<ch<<" - -"<<endl ;
       else  cout<<ch<<" "<<tmar[i]<<" "<<idar[i]<<endl ;
    }

    return 0 ;
}

UVA-10176 :: Ocean Deep ! - Make it shallow

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int i ,a=131071, n=0 ;
    char ch ;
    while ( (ch=getchar() )!=EOF )
    {
         if (ch=='#')
        {
             if (n==0) printf ("YES\n")  ;
             else printf ("NO\n") ;
             n=0 ;
        }

       else if (ch!='\n') n=(n*2+ (ch-'0') ) % a;

    }
   
    return 0 ;
}

UVA-713 :: Adding Reversed Number

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int n ,i ,it ,op ;
    cin>>n ;
    for (it=1 ; it<=n ; it++)
    {
        string a="" , b="" , na="" ,nb="" ;
        cin>>a>>b ;
        int l1=a.size() ;
        int l2=b.size() ;
        op=0 ;
        for (i=0 ; i<l1 ; i++)
        {
            if (a[i]=='0' && op==0) continue ;
            else
            {
                op=1 ;
                na=na+a[i] ;
            }
        }
        op=0 ;
        for (i=0 ; i<l2 ; i++)
        {
            if (b[i]=='0' && op==0) continue ;
            else
            {
                op=1 ;
                nb=nb+b[i] ;
            }
        }
 
        reverse (na.begin(),na.end()) ;
        reverse (nb.begin(),nb.end()) ;

        l1=na.size() ;
        l2=nb.size() ;

        if (l1>l2)  nb.insert(0,l1-l2 ,'0') ;
        else if (l1<l2)  na.insert(0,l2-l1 ,'0') ;
     
        l1=max(l1,l2) ;

        int sum=0 ,carry=0  ;
        string res="" ;
        for (i=l1-1 ; i>=0 ; i--)
        {
            sum= (na[i]-'0')+(nb[i]-'0')+carry ;
            if (sum>9)
            {
                carry=1 ;
                sum=sum%10 ;
            }
            else carry=0 ;
            res+= (sum+'0') ;
        }
        if (carry==1) res+='1' ;
   
        char fin[10000]={0} ;
        int j ;
        op=0;
        for (i=0 ,j=0 ; i<=l1 ; i++)
        {
            if (res[i]=='0' && op==0) continue ;
            else
            {
                fin[j]=res[i] ;
                j++ ;
                op=1 ;
            }
        }
        cout<<fin<<endl ;
    }

    return 0 ;
}

UVA-11984 :: A Change in Thermal Unit

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int t , i ;
    cin>>t ;
    for (i=1 ; i<=t ; i++)
    {
        double c , d ,f ,x;
        cin>>c>>d ;
        f=(9*c)/5 + d ;
        x=(f*5)/9 ;
       printf ("Case %d: %.2lf\n",i,x) ;
    }

    return 0;
}

UVA-11498 :: Division of Nlogonia

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int m , n ,x,y,t ,i ;
    while (cin>>t && t!=0)
    {
        cin>>m>>n ;
        for (i=1 ; i<=t ; i++)
        {
            cin>>x>>y ;
            x=x-m ;
            y=y-n ;
            if (x>0 && y>0) cout<<"NE"<<endl ;
            else if (x>0 && y<0) cout<<"SE"<<endl ;
            else if (x<0 && y>0) cout<<"NO"<<endl ;
            else if (x<0 && y<0) cout<<"SO"<<endl ;
            else cout<<"divisa"<<endl ;
        }
    }

    return 0 ;
}

UVA-12614 :: Earn For Future

#include <bits/stdc++.h>
using namespace std ;

int a[100000] , n ,ret ;

int call (int p ,int q )
{
    if (p>q) return ret ;
    ret=max(ret,a[p]) ;

    return call (p+1,q) ;
}

int main()
{
    int t , i ,j ;
    cin>>t ;
    for (i=1 ; i<=t ; i++)
    {
         ret=0 ;
        cin>>n ;
        for (j=1 ; j<=n ; j++) cin>>a[j] ;
        cout<<"Case "<<i<<": "<<call(1,n)<<endl ;
    }

    return 0 ;
}

Tuesday, December 24, 2013

UVA-357 :: Let Me Count The Ways

#include <iostream>
#include <bits/stdc++.h>
using namespace std ;
#define max 30010

int main ()
{
       long long int n, i ,x,j ,a[max] ,coin[50] ={0,1,5,10,25,50};

        while (cin>>n)
        {
            for (i=0 ; i<max ; i++) a[i]=0 ;
            a[0]=1 ;

            for (i=1 ; i<=5 ; i++)
            {
                x=coin[i] ;
                for (j=x ; j<=n ; j++)
                {
                    if (a[j]>=0)  a[j]=a[j]+a[j-x] ;
                }

            }   if(a[n]>1) printf ("There are %lld ways to produce %lld cents change.\n",a[n],n);

            else printf ("There is only 1 way to produce %lld cents change.\n",n) ;
        }

    return 0 ;
}

UVA-11462 :: Age Sort

#include <stdio.h>

int  a[1000000] ,b[1000000] ;

int main ()
{
    int t , i ,m ,j,x  , p ;

    while (scanf ("%d",&t) ==1 && t!=0)
    {
        memset (a,0,sizeof a) ;
        memset (b,0,sizeof b) ;
        for (i=0 ; i<t ; i++)
        {
            scanf ("%d",&m) ;
            a[m] ++ ;
        }

        for (i=1; i<=99 ; i++)
        {
            a[i] = a[i-1] + a[i] ;
        }
        int f=0;
        for (i=1 ; i<=99 ; i++)
        {
            if (a[i] != a[i-1])
            {
                x= a[i] - a[i-1] ;

                p=0;
                for (j=0 ; j<x ; j++)
                {
                    b[p] = i ;
                    if(f) printf(" ");
                    printf ("%d",b[p]) ;
                    f=1;
                    p++ ;
                }

            }
        }

        printf ("\n") ;

    }

    return 0 ;
}

UVA-11364 :: Parking

#include <stdio.h>
int main ()
{
     int t , n , i ,a[100000] ,max  ,j , min ,x ;

     scanf ("%d",&t) ;
     for (i=1; i<=t ; i++)
     {
          max =0 ;
          min =99 ;
          scanf ("%d",&n) ;

          for (j=0 ; j<n ;j++)
          {
               scanf ("%d",&a[j]) ;
               if (max<=a[j])  max = a[j] ;
               if (min>= a[j]) min = a[j] ;
          }

          x= max-min ;
          printf ("%d\n",x*2) ;
     }

return 0 ;
}

UVA-458 :: The Decoder

#include <stdio.h>
#include <string.h>

int main ()
{
    char str [1000] , s  ;
    int  i ;

    while (gets (str))
    {
        for (i=0 ; i<strlen(str) ; i++)
        {
            s= str[i] - 7 ;
            str [i] = s ;
        }

        puts (str) ;
    }

     return 0 ;
}

UVA-10945 :: Mother bear

#include <stdio.h>
#include <string.h>

int main ()
{
     char ar [200000] ,s [200000] ;
     int i , p ,op ,j ,x ;

    while (gets (ar))
    {
        op=0 ;
         x = strcmp (ar , "DONE" ) ;
         if (x == 0) break ;

         for (i=0 ,p=0 ;  i<strlen (ar) ;  i++)
         {
              if (ar[i] >= 'A' && ar[i] <= 'Z')
                   ar[i] = 97 + (ar[i] - 'A') ;

              if (ar[i] >='a' && ar[i] <= 'z' )
                   {
                        s[p] = ar [i] ;
                         p ++ ;
                   }

         }
          for (i=0 ,j = p-1 ; i <j ; i++,j-- )
          {
                if (s[i] != s[j])
               {
                    op=1 ;
                    printf ("Uh oh..\n") ;
                    break ;
               }
            else op=0 ;
          }

     if (op==0) printf ("You won't be eaten!\n") ;

     }
return 0 ;
}

UVA-12592 :: Slogan Learning of Prince

#include<bits/stdc++.h>
#include <iostream>
#include <string>
#include <cstring>
#include <map>
using namespace std;
int main ()
{

     map<string,string>mp;
     string s1,s2;
    int n,q,m,i,j,k;
     cin>>n;
     getchar();
     for(i=0;i<n;i++)
{
     getline(cin,s1);
     getline(cin,s2);
     mp[s1]=s2;

}
cin>>q;
getchar();
while(q--)
{
     cin>>s1;
     cout<<mp[s1]<<endl;
}

return 0 ;
}

UVA-483 :: Word Scramble

#include <iostream>
#include <string>
#include <cstdio>
using namespace std ;

int main ()
{
    string  s ;
    int len ,i ;
    char ch ;

    while ( (cin>>s) !='\0' )
    {
           len= s.size() ;
           ch= getchar () ;
           for (i=len-1 ; i>=0 ; i--)
           {
               cout<<s[i] ;
           }

           putchar (ch) ;
    }

    return 0 ;
}

UVA-11934 :: Magic Formula

#include <iostream>
#include <cstdio>
using namespace std ;
int main ()
{
    int a ,b ,c ,d ,l ,t ,i ,x ,cnt ;

    while (scanf ("%d %d %d %d %d",&a,&b,&c,&d,&l) == 5)
    {
        if (a==0 && b==0 && c==0 && d==0 && l==0) break ;
        cnt=0 ;
        for (i=0 ; i<=l ; i++)
        {
            x= a*i*i + b*i + c ;
            if (x%d==0) cnt++;
        }

        cout<<cnt <<endl  ;
    }

    return 0 ;
}

UVA-10432 :: Polygon Inside A Circle

#include <bits/stdc++.h>
using namespace std;

int main ()
{
    double  r , x ,y ,a ,s ,v ,d  ,pi=acos(-1) ;
    int n ;
    while (scanf ("%lf %d",&r,&n) == 2)
    {
        d=360/n ;
        d=(d*pi)/180.0 ;

        x=r*sqrt(2.0-2.0*cos(d)) ;
        s=0.5*(r+r+x) ;

        v=sqrt(s*(s-r)*(s-r)*(s-x)) ;
        v=v*n ;
        printf ("%.3lf\n",v) ;

    }
    return 0 ;
}

UVA-11646 :: Athletics Track

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int i=0 ,cas ;
     double r , d ,angl ,s ,ratio ,l,w ;
    char ch ;
    cin>>cas ;
    while (cas--)
    {
        i++ ;
        cin>>l>>ch>>w ;
       angl=atan((w/2)/(l/2)) ;
       r=sqrt((w/2)*(w/2)+(l/2)*(l/2)) ;
       s=r*angl*2.0 ;

      d=2.0*l+2.0*s ;
      ratio=400.0/d ;
      printf ("Case %d: %.10lf %.10lf\n",i,l*ratio , w*ratio) ;

    }
    return 0 ;
}

UVA-12015 :: Google is Feeling Lucky

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int t ,it, i ,n[105] ,pos[105] ,mx ;
    char s[15][103] ;
    cin>>t ;
    for (it=1 ; it<=t ; it++)
    {
        mx=0 ;
        int p=1 ;
        for (i=1 ; i<=10 ; i++)
        {
             cin>>s[i] ;
            getchar() ;
            cin>>n[i] ;
            if (mx<=n[i])
            {
               if (mx==n[i]) p++ ;
               else p=1 ;
                mx=n[i] ;
                  pos[p]=i ;
            }
        }
        cout<<"Case #"<<it<<":"<<endl ;
        for (i=1 ; i<=p ; i++) cout<<s[pos[i]]<<endl ;
    }

    return 0 ;
}

UVA-11850 :: Alaska

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int n , a[1000000] ,i ;
    while (cin>>n && n !=0)
    {
        int p=0 ,c =0 ,op=0  ;
        for (i=1 ; i<=n ; i++) cin>>a[i] ;
        sort(a,a+i) ;

        for (i=1 ; i<=n ; i++)      
        {
             if (a[1]!=0) {op=1 ;break ;}

           if (i!=1) c= p-a[i] ;
            if (c<0) c=c*-1 ;
            if (c>200) {op=1; break ;}
            p=a[i] ;
       
           if (i==n)
           {
               p=1422-a[i] ;
                 if (p>100) op=1 ;
           }
        }

        if (op==1) cout<<"IMPOSSIBLE"<<endl ;
        else  cout<<"POSSIBLE"<<endl ;
    }

    return 0 ;
}

UVA-10221 :: Satellites

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    double s, r=6440.0 ,d ,x ,arc ,cord ,pi ;
    string sr ;int a ;
    pi=2.0*acos(0.0) ;

    while (cin>>d>>a>>sr)
    {
        if (a>180) a=360-a ;
        s=d+r ;
        if (sr=="deg")   x= (a*pi)/180.0 ;
        else if (sr=="min")  x=(a*pi)/(60.0*180.0) ;
        arc=s*x ;

        cord=sqrt ((s*s+s*s) - 2.0*s*s*cos(x) );

       printf ("%.6lf %.6lf\n",arc,cord) ;
    }

    return 0 ;
}

UVA-847 :: A Multiplication Game

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
   long long int n , p , i ,op ;
    while (cin>>n)
    {
        p=1 ; op=0;
        while (p<n)
        {
            if (op%2==0) p=p*9 ;
            else p=p*2 ;
            op++ ;
        }
       
        if (op%2==1) cout<<"Stan wins."<<endl ;
        else cout<<"Ollie wins."<<endl ;
    }

    return 0 ;
}

UVA-12503 :: Robot Instructions

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int t , n , p ,it ,ir ,x ,q ,i ,a[10000] ,b ,c ;
     string  s ;
    cin>>t ;

    for (it=1 ; it<=t ; it++)
    {
        cin>>n ;
        getchar () ;
        q=1 ;p=0 ;

        for (ir=1 ; ir<=n ; ir++)
        {
            getline(cin,s) ;

            b=0 ;
            if (s[0]=='L')
            {
                a[q]= -1 ;
                p=p+a[q] ;

                q++;
            }
            else if (s[0]=='R')
            {
                a[q]=1 ;
                p=p+a[q] ;
                q++;
            }
            else if (s[0]=='S')
            {
                for (i=0 ; i<s.size() ; i++)
                {
                    if (s[i]>='0' && s[i]<='9')  b=(s[i]-'0') + b*10 ;
                }
                c=a[b] ;
                a[q]=c ;
                p=p+a[q] ;
                q++ ;
            }
        }
        cout<<p<<endl ;
    }
    return 0 ;
}

UVA-382 :: Perfection

#include <iostream>
#include <cstdio>
using namespace std ;

int main ()
{
    int n , i , a ,p=0  ;
    while (scanf ("%d",&a) ==1 && a!= 0)
    {
        n=0 ;p++ ;
        for (i=1 ; i<=a/2 ; i++)
        {
            if (a%i==0) n=n+i ;
        }

    if (p==1)  cout<<"PERFECTION OUTPUT"<<endl ;
    if (n==a)  printf ("%5d  PERFECT\n",a) ;
   else if (n>a)  printf ("%5d  ABUNDANT\n",a) ;
   else if (n<a)  printf ("%5d  DEFICIENT\n",a) ;

    }

      if (a==0) cout<<"END OF OUTPUT"<<endl ;

    return 0 ;
}

UVA-12289 :: One-Two-Three

#include <iostream>
#include <string>
#include <cstdio>

using namespace std ;

int main ()
{
    string  s ;
    int len , t , cnt ;

    cin>>t ;
    while (t--)
    {
        cin>>s ;
        getchar () ;

        len=s.size() ;
        cnt=0 ;

        if (len==5) cout<<"3"<<endl ;
        else
        {
            if (s[0]=='t' ) cnt++ ;
            if (s[1]=='w' ) cnt++ ;
            if (s[2]=='o' ) cnt++ ;
            if (cnt>=2) cout<<"2"<<endl ;
        else cout<<"1"<<endl ;

        }

    }

    return 0 ;
}

UVA-10424 :: Love Calculator

#include <iostream>
#include <cstdio>
#include <string>
using namespace std ;

int task (string a  )
{
    int i ,x=0 ,m ,l ;
    l=a.size() ;

    for (i=0 ; i<l ; i++)
    {
        if (a[i]>='a' && a[i]<='z')  x=x+(a[i]-96) ;
        else if (a[i]>='A' && a[i]<='Z') x=x+(a[i]-64) ;
       }
    m=0 ;
    while (x>0)
    {
        m= m+x%10 ;
        x=x/10 ;
    }

       if (m>9)
    {
        x=m ;
        m=0 ;
        while (x>0)
        {
            m=m+x%10 ;
            x=x/10 ;
        }
    }
return m ;
}

int main ()
{
    double m ,x,y ;
    string a ,b  ;

    while (getline(cin,a))
    {
       getline(cin,b) ;

      x=  task ( a ) ;
      y= task (b) ;

     if (x>y) m=(y*100.0)/x ;
     else  m = (x*100.0)/y ;
       printf ("%0.2lf %%\n",m) ;
    }

    return 0 ;
}

UVA-10130 :: SuperSale

#include <iostream>
#include <bits/stdc++.h>
using namespace std ;
int price[1005] , weight[1005] ,mx ,n ,dp[1005][35] ;

int func(int i , int w)
{
    if (i>n) return 0 ;
    if (dp[i][w] != -1) return dp[i][w] ;

     int prft1=0 , prft2=0 ;
    if (w+weight[i]<=mx) prft1=price[i]+func(i+1,w+weight[i]) ;
    else prft1=0 ;
    prft2=func(i+1,w) ;

    dp[i][w]=max(prft1,prft2) ;

    return  dp[i][w] ;
}
int main ()
{
    int t ,i ,it ,g ;
    cin>>t ;

    for (it=1 ; it<=t ; it++)
    {
        cin>>n ;
       for (i=1 ; i<=n ; i++)  cin>>price[i]>>weight[i] ;

        cin>>g ;
        int sum=0 ;
        for (i=1 ; i<=g ; i++)
        {
             memset(dp,-1,sizeof(dp)) ;
            cin>>mx ;
            sum=sum+func(1,0) ;
        }
         cout<<sum<<endl ;
    }
    return 0 ;
}

UVA-494 :: Kindergarten Counting Game

#include <cstdio>
#include <cstring>
using namespace std ;
int main ()
{
    int i ,n , j ,cnt ,op ,p ;
     char  s[10000] ,a[10000] ;

    while (gets(s))
    {
        cnt=0 ;op=0 ; p=0 ;
        for (i=0 ; i<=strlen(s) ; i++)
        {
            if (s[i]>='A' && s[i]<='Z' || s[i]>='a' && s[i]<='z')
            {
                if (op==0)
                {
                    op=1 ;
                    a[p]=s[i] ;
                    p++;
                }
                else a[p++]=s[i] ;
            }

            else
            {
                if (op==1)
                {
                    op=0 ;
                    cnt++ ;
                    a[p]='\0' ;
                    p=0 ;
                }
            }

        }
        printf ("%d\n",cnt) ;

    }
    return 0 ;
}

UVA-12626 :: I Love Pizza

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int t , i , it ,ar[1000] ,x,y , z,k,l,m ;
    char c ;
    string s ;

    cin>>t ;
    getchar () ;

    for (it=1 ; it<=t ; it++)
    {
        memset (ar,0,sizeof (ar)) ;
        int min =600 ;
        getline(cin,s) ;
 
        for (i=0 ; i<s.size() ; i++)
        {
            c=s[i] ;
            ar[c]++ ;
        }

        x= ar['A']/3 ;
        y= ar['R']/2 ;
        z=ar['M'] ;
        k=ar['G'] ;
        l=ar['I'] ;
        m=ar['T'] ;
       
        if (min>=x) min=x ;
        if (min>=y) min=y ;
        if (min>=z) min=z ;
        if (min>=k) min=k ;
        if (min>=l) min=l ;
        if (min>=m) min=m ;

       cout<<min<<endl ;

    }

    return  0 ;
}

UVA-12527 :: Different Digits

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std ;

int check (int n)
{
    char s[10000] ;
    int i , j ,len ;
    sprintf (s ,"%d", n) ;

    len= strlen (s) ;
    for (i=0 ; i<len-1 ; i++)
        for (j=i+1 ; j<len ; j++)
        {
            if (s[i] == s[j])  return 1 ;
        }

return 0 ;
}

int main ()
{
    int n , m , i ,x ,cnt ;

    while (scanf ("%d %d",&n,&m)==2)
    {
        cnt=0 ;
        for (i=n ; i<=m ; i++)
        {
            x= check(i) ;
            if (x==0) cnt++ ;
        }
        cout << cnt <<endl ;
    }

    return 0 ;
}

UVA-11777 :: Automate the Grades

#include <bits/stdc++.h>
using namespace std ;

int main ()
{
    int a[100] , j ,i ,t ,x ,b ,min ;
    double v ,sum ;

    cin>>t ;
      for (i=1 ; i<=t ; i++)
    {
        sum=0 ;
        min=20 ;
        x =0 ;
        for (j=0 ; j<7  ; j++)
        {
            cin>>b ;
            a[j] = b ;
            if (j<4) sum=sum+a[j] ;

            if (j>3)
            {
                x=x+a[j] ;
                if (min>=a[j]) min=a[j] ;
            }
        }

        x=x-min ;
        v= x/2.00 ;
        sum = sum+v ;

       if (sum>=90.0) cout<<"Case"<<" "<<i<<":"<<" "<<"A"<<endl;
       else  if (sum>=80.0 && sum<90.0) cout<<"Case"<<" "<<i<<":"<<" "<<"B"<<endl;
       else  if (sum>=70.0 && sum<80.0) cout<<"Case"<<" "<<i<<":"<<" "<<"C"<<endl;
       else  if (sum>=60.0 && sum<70.0) cout<<"Case"<<" "<<i<<":"<<" "<<"D"<<endl;
       else  if ( sum<60.0) cout<<"Case"<<" "<<i<<":"<<" "<<"F"<<endl;

    }

    return 0 ;
}

UVA-11854 :: Egypt

#include <iostream>
using namespace std ;
int main ()
{
    int a,b,c ,x ,i ,y ,z ;
    while (cin>>a>>b>>c )
    {
        if (a==0 && b==0 && c==0) break ;
        if (a>b)
        {
            if (a>c)
            {
                x= a ;
                z=c*c ;
            }
            else
            {
                x= c ;
                z=a*a ;
            }

            y=b*b + z ;
        }

        else
        {
            if (b>c)
            {
                x=b ;
                z=c*c ;
            }
            else
            {
                x=c ;
                z=b*b ;
            }
            y=a*a + z ;
        }

      if (y==x*x)   cout<<"right"<<endl ;
      else cout<<"wrong"<<endl ;
    }

    return 0 ;
}

UVA-12250 :: Language Detection

#include <iostream>
#include <cstring>
#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    string a ;
    int t=0 ;
    while (cin>>a && a!="#")
    {
        t++ ;
        if (a=="HELLO") printf ("Case %d: ENGLISH\n",t) ;
        else if (a=="HOLA") printf ("Case %d: SPANISH\n",t) ;
        else if (a=="HALLO") printf ("Case %d: GERMAN\n",t) ;
        else if (a=="BONJOUR") printf ("Case %d: FRENCH\n",t) ;
        else if (a=="CIAO") printf ("Case %d: ITALIAN\n",t) ;
        else if (a=="ZDRAVSTVUJTE") printf ("Case %d: RUSSIAN\n",t) ;
        else  printf ("Case %d: UNKNOWN\n",t) ;

    }
    return 0 ;
}

UVA-11743 :: Credit Check

#include <iostream>
#include <string>
#include <cstdio>
using namespace std ;

int add (int x)
{
    if (x==0) return 0 ;
    return(x%10+add(x/10) ) ;
}

int main ()
{
    int i , t ,j ,a ,x ,y ,len ,z ,p ,b ,it=1 ;
    string s="" , sr="";

    cin>>t ;
    getchar () ;

        while (getline(cin,s) != '\0')
        {
            for (j=0 ; j<s.size() ; j++)
            {
                if (s[j] ==' ') continue ;
                else sr=sr+s[j] ;
            }

            y=0 ;
            len=s.size()  ;
            z=0 ;

            for (j=0, p=1 ; j<len-2 , p<len-2 ; j=j+2 , p=p+2)
            {
                x=(sr[j]-'0') *2 ;
                if (x>9) y=y+add(x) ;
                else y=y+x ;
                z=z+(sr[p]-'0') ;

            }

            b=y+z ;
                if (b%10==0) cout<<"Valid"<<endl ;
                else cout<<"Invalid"<<endl ;

              sr="" ;s="" ;
              it++ ;
              if (it>t) break ;
        }

return 0 ;
}

UVA-11958 :: Coming Home

#include <iostream>
using namespace std ;

int main ()
{
    int t, i , k ,h1,m1 ,x ,h2,m2,m3,y ,j ,min ,z;
    char ch ,ch2  ;

    cin>>t ;
    for (i=1 ; i<=t ; i++)
    {
        cin>>k>>h1>>ch>>m1 ;

        x=(h1*60)+m1 ;

        min=2500 ;
        for (j=1 ; j<=k ; j++)
        {
            cin>>h2>>ch2>>m2 >>m3;

            y=(h2*60)+m2 ;
            if (y<x) y= y+1440 ;

            z=y-x+m3 ;
            if (z<=min) min=z ;
        }
        cout<<"Case "<<i<<": "<<min<<endl ;
    }

    return 0 ;
}

UVA-674 :: Coin Change

#include <iostream>
#include <bits/stdc++.h>
using namespace std ;
int coin[7]={1,5,10,25,50} , make ,dp[6][7500] ;
int func(int i , int p)
{
    if (i>=5)
    {
        if (p==0) return 1 ;
        else return 0 ;
    }
    if (dp[i][p] != -1) return dp[i][p] ;
    int w1=0 , w2=0 ;
    if (p-coin[i]>=0) w1=func(i,p-coin[i]) ;
    else w1=0 ;
    w2=func(i+1,p) ;
    dp[i][p]=w1+w2 ;
    return dp[i][p] ;
}

int main ()
{
      memset(dp,-1,sizeof (dp)) ;
    while (cin>>make)
    {
        cout<<func(0,make)<<endl ;
    }

    return 0 ;
}

UVA-12459 :: Bees' ancestors

#include <iostream>
#include <bits/stdc++.h>
using namespace std ;

long long int dp[85] ;
long long int func (int x)
{
    if (x==0) return 1 ;
    if (x==1) return 1 ;
    if (dp[x] != -1) return dp[x] ;
    else  dp[x]=1 ;

    return dp[x]= (func(x-1)+func(x-2)) ;
}

int main ()
{
    long long  int p ,x ;
    memset(dp,-1,sizeof (dp)) ;

    while (cin>>p && p!=0)
    {
        x=func(p) ;
        cout<<x<<endl ;
    }

    return 0 ;
}

UVA-12611 :: Beautiful Flag

#include <iostream>
#include <math.h>
#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    int r ,t ,it ,i ;
    double l ,w ,lt ,rt ,p ;
    cin>>t ;
    for (it=1 ;it<=t ; it++)
    {
        cin>>r ;
        l=(r*5) ;
        w=ceil((3*l)/5) ;
        lt=ceil((9*l)/20) ;
        rt=ceil((11*l)/20) ;
        p= ceil (w/2.0) ;
     
       cout<<"Case "<<it<<":"<<endl;
       cout<<lt*-1<<" "<<p<<endl ;
       cout<<rt<<" "<<p<<endl ;
       cout<<rt<<" "<<p*-1<<endl ;
       cout<<lt*-1<<" "<<p*-1<<endl ;

    }

    return 0 ;
}

UVA-11900 :: Boiled Eggs

#include <iostream>
#include <vector>

using namespace std ;

int main ()
{
    int m , n , q ,t , i , x ,a ,k, v[10000] ,it ;
    cin>>t ;
    it=1 ;
    while (it<=t)
    {
        cin>>n>>m>>q ;
        for (i=1 ; i<= n ; i++)
        {
            cin>>a ;
            v[i]=a ;
        }

        x=0 ; k=0 ;
        for (i=1 ; i<=n && i<=m ; i++)
        {
            x=x+v[i] ;
            if (x>q) break ;
            k++ ;
        }

        cout <<"Case "<<it<<": "<<k<<endl ;
        it++ ;
    }

    return 0 ;
}

UVA-573 :: The Snail

#include <bits/stdc++.h>
using namespace std ;
int main ()
{
    double x ,a ,b ,h ,d ,u , f ;
    while (cin>>h>>u>>d>>f )
    {
        if (h==0) break ;
            a=u-d ;
        if (u>h) printf ("success on day 1\n") ;
        else if (a<0) printf ("failure on day 1\n") ;
        else
        {
            int da =1 ;
            x=(f*u)/100.0 ;

                int op=0 ;
                while (1)
                {
                    da++ ;
                    u=u-x ;
                    if (u<0) u=0 ;
                    b= a+u ;// cout<<a<<" "<<u<<" "<<b<<endl ;
                    if (b<h)  b=b-d ;
                    else  { op=1 ;  break ;}

                        a=b ;
                        if (a<0) break ;
                }
                  if (op==1) printf ("success on day %d\n",da) ;
                else  printf ("failure on day %d\n",da) ;
        }
    }

    return 0 ;
}

UVA-10921 :: Find the Telephone

#include <iostream>
#include <cstdio>
using namespace std ;

int main ()
{
    int i , j ,len ;
    string s ;

    while (getline(cin,s) )
    {
       len= s.size() ;
       for (i=0 ; i<len ; i++)
       {
           if (s[i]>='A' && s[i]<='Z')
           {
               if (s[i]=='A' || s[i]=='B' || s[i]=='C' ) s[i]= '2' ;
               else if (s[i]=='D' || s[i]=='E' || s[i]=='F') s[i] ='3' ;
               else if (s[i]=='G' || s[i]=='H' || s[i]=='I') s[i] ='4' ;
               else if (s[i]=='J' || s[i]=='K' || s[i]=='L') s[i] ='5' ;
               else if (s[i]=='M' || s[i]=='N' || s[i]=='O') s[i] ='6' ;
               else if (s[i]=='P' || s[i]=='Q' || s[i]=='R' || s[i]=='S') s[i] ='7' ;
               else if (s[i]=='W' || s[i]=='X' || s[i]=='Y' || s[i]=='Z') s[i] ='9' ;
               else if (s[i]=='T' || s[i]=='U' || s[i]=='V') s[i] ='8' ;
           }
       }

       cout<<s <<endl ;

    }

    return 0 ;
}

UVA-12157 :: Tariff Plan

#include <iostream>
using namespace std ;
int main ()
{
    int t , n , i ,it ,x,y,m,k ,a ;
    cin>>t ;
    for (it=1 ; it<=t ; it++)
    {
        cin>>n ;
        int cx=0 , cy=0 ;
        for (i=1 ; i<=n ; i++)
        {
            cin>>a ;
            x=a/30 ;
            y=a/60 ;
            m=a%30 ;
            k= a%60 ;

            if( m == 0 || m !=0) x++ ;
            if (k !=0 || k == 0) y++ ;
          //  cout<<x<<" "<<y<<endl ;

              cx=cx+x*10 ;
             cy=cy+y*15 ;

        }
        //  cout<<cx<<" "<<cy<<endl ;
        if (cx==cy) cout<<"Case "<<it<<": Mile Juice "<<cx<<endl ;
        else if (cx<cy) cout<<"Case "<<it<<": Mile "<<cx<<endl ;
        else if (cx>cy) cout<<"Case "<<it<<": Juice "<<cy<<endl ;
    }

    return 0 ;
}

UVA-11650 :: Mirror Clock

#include <stdio.h>
int main ()
{
     int h , m , i ,n ,x ,a ,b ,y  ;
     scanf ("%d",&n) ;

    for (i=1 ; i<=n ;i++)
          {
     scanf ("%d:%d",&h ,&m) ;

     x = h * 60 + m ;
     y = 1440 - x ;

     a = y / 60  ;
     b = y % 60 ;
     if (a>12)  a = a -12 ;

     printf ("%02d:%02d\n",a ,b) ;

          }
return 0 ;
}

UVA-11219 :: How old are you?

#include <stdio.h>
int main ()
{
    int t  ,cd ,cm , cy , bd, bm ,by ,x ,i  ;

    scanf ("%d",&t) ;
    for (i=1 ; i<=t ; i++)
    {

        scanf ("%d/%d/%d",&cd ,&cm ,&cy) ;
        scanf ("%d/%d/%d",&bd ,&bm ,&by) ;

        if (cd < bd)
        {
            cd = cd +30 ;
            cm-- ;
        }

        if (cm <bm)
        {
            cm = cm+ 12 ;
            cy-- ;
        }

        x = cy - by ;

        if (x < 0) printf ("Case #%d: Invalid birth date\n",i) ;
        else if (x > 130) printf ("Case #%d: Check birth date\n",i) ;
        else  printf ("Case #%d: %d\n",i ,x) ;

    }

    return 0 ;
}

UVA-10038 :: Jolly Jumpers

#include <stdio.h>

int main ()
{
     int x [ 3050] , n , a [3050] , i  ,p ,m ,cnt,cnt2 ;
   while (  scanf ("%d",&n) ==1 && n > 0 )
     {
            for (i= 1 ; i <= n ;i++)
          {
               scanf ("%d",&a [i]) ;
          }

     for (i =1 ; i <= n-1 ; i++)
               {
                    if (a [i] > a [i+1])
                         {
                              x [ i] = a[i] - a[i+1] ;
                         }

                    else
                         {
                              x [i] =a[i+1] - a[i] ;
                         }
               }

                    cnt=0 ; cnt2 =0 ;
            for (p =1 ;p <= n-1 ;p++)
               {
                    cnt2 ++  ;
                    for (m=1 ; m <= n-1 ; m++)
                         {
                              if (p == x [m] )
                              {
                                   cnt ++ ;
                                   break ;
                              }
                         }
               }

          if (cnt == cnt2 ) printf ("Jolly\n") ;
      else printf ("Not jolly\n") ;

     }
return 0 ;

}

UVA-11764 :: Jumping Mario

#include <stdio.h>
int main ()
{
     int n ,i ,a[ 55] ,w ,j ;
     scanf ("%d",&n) ;
     for (i=1 ; i<=n ;i++)
          {
               scanf ("%d",&w) ;
               for (j=1 ;j <=w ; j++)
                    {
                         scanf ("%d",&a[j] ) ;
                    }

                    int cnt1 = 0 ,cnt2 =0  ;
               for (j=1; j<=w -1 ; j++)
                    {
                         if (a [j] < a[j+1] ) cnt1 ++ ;
                         else if (a [j] > a [j+1] )  cnt2 ++ ;
                    }

                    printf ("Case %d: %d %d\n",i ,cnt1 ,cnt2) ;
          }

     return 0 ;
}

UVA-11936 :: The Lazy Lumberjacks

#include <stdio.h>
int main ()
{
     int n ,i ,a,b,c ;
     scanf ("%d",&n) ;
     for (i=1 ; i<=n ;i++)
          {
               scanf ("%d %d %d",&a, &b ,&c) ;
               if (a+b >c ) printf ("OK\n") ;
               else printf ("Wrong!!\n") ;
          }
}

UVA-10110 :: Light, more light

#include <stdio.h>
int main ()
{
     long long int n ,cnt ;
     while (scanf ("%lld",&n) ==1 && n !=0)
     {
         cnt = sqrt (n) ;
         if (cnt *cnt == n) printf ("yes\n") ;
         else  printf ("no\n") ;
     }

return 0 ;
}

UVA-10035 :: Primary Arithmetic

#include <stdio.h>
int main ()
{
    unsigned int   a , b , x[ 1000 ] ,y [1000 ]  ;
    int cnt ,cnt2  , mx = 0 ,i ,z ,m , p ,q ;


    while (scanf ("%u %u",&a , &b) == 2 )
    {
        p = 0 ;
        while (a >0)
        {
            p++ ;
            x [p] = a%10  ;
            m = a/10 ;
            a= m ;
        }

      q = 0 ;
        while (b>0)
        {
            q++ ;
            y [q] = b%10  ;
            m = b/10 ;
            b= m ;
        }

          if (q<p) mx = p ;
          else mx = q ;

          cnt= 0 ; cnt2 =0 ;z=0 ;
          for (i=1 ; i<= mx ; i++)
               {
                    if (i>p) x[i] = 0 ;
                    if (i>q) y[i] = 0 ;

                    a= x[i] + y [i] +z ;

                         z=0 ;
                    if (a > 9)
                         {
                             z++ ;
                              cnt ++ ;
                         }

                    else cnt2 ++ ;
               }

      if (a == 0 && b == 0) break ;
      else  if (cnt2 == mx) printf ("No carry operation.\n") ;
     else if (cnt == 1) printf ("%d carry operation.\n",cnt) ;
     else  printf ("%d carry operations.\n",cnt) ;

    }

return 0 ;
}

UVA-11879 :: Multiple of 17

#include <stdio.h>
#include <string.h>

int main ()
{
     int n , i, x,b ,a ,sum ;
     char str [120] ;

      while ( gets (str) )
      {
          i =0 ; x =0 ; b = strlen (str) ;

          if (str[0] == '0' && b == 1 )  break  ;

          sum =0 ;
     for (i =0 ; i<= b -1 ; i++)
          {
               sum = x *10 + (str [i] - '0') ;
               x = sum %17 ;
          }

           if (x == 0) printf ("1\n") ;
          else printf ("0\n") ;

      }

return 0 ;
}

UVA-10783 :: Odd Sum

#include <stdio.h>
int main ()
{
     int a,b ,n ,i, x , j ;

     scanf ("%d",&n) ;

     for (i=1; i<=n ;i++)
          {
               int sum =0 ;
               scanf ("%d %d",&a , &b) ;
               for (j =a ; j<=b ; j++)
                    {
                         x = j % 2 ;
                         if (x == 1)
                              {
                                   sum = sum + j ;
                              }
                    }

               printf ("Case %d: %d\n",i , sum) ;
          }

      return 0 ;
}

UVA-10931 :: Parity

#include <stdio.h>
int main ()
{
     int n , i ,a[1000] ,b[1000] , j ,p ,sum ;

     while (scanf ("%d",&n) ==1 && n!=0)
     {
          i=0 ;
          sum=0 ;
          while (n>0)
          {
               a[i] = n%2 ;
               n= n/2 ;
               i++ ;
          }

           for (j=i-1 ,p=0 ; j>=0 ; j--)
           {
                b[p] = a[j] ;

                if (b[p] == 1) sum = sum+b[p] ;
                p++ ;

           }

           printf ("The parity of ") ;
           for (i=0 ; i<p ; i++) printf ("%d",b[i]) ;
           printf (" is %d (mod 2).\n",sum) ;

     }

return 0 ;
}

UVA-10346 :: Peter's Smokes

#include <stdio.h>
int main ()
{
     int n ,k ,sum ;

     while (scanf ("%d %d",&n ,&k) == 2 )
          {
               sum = n ;
               while (n>= k)
                    {
                         sum =sum + n/k ;
                         n = n/k + n%k ;

                    }
               printf ("%d\n",sum) ;

          }

          return 0 ;
}

UVA-10079 :: Pizza Cutting

#include <stdio.h>
int main ()
{
     long long n ,i ,sum  ;

     while (scanf ("%lld",&n) == 1 && n>= 0 )
          {
               sum =1 ;
               for (i =1 ;i<=n ;i++)
                    {
                          sum = sum + i ;
                    }

               printf ("%lld\n",sum) ;
          }
     return 0 ;
}

UVA-11530 :: SMS Typing

#include <stdio.h>
int main ()
{
    int t , i ,r ,c ,p ,cnt ,cnt3 ,cnt2 ,cnt4 ,j ,x ;
    char  s [100],ch ;

    scanf ("%d\n",&t) ;

    for (i=1 ; i<=t ; i++)
    {
        // getchar () ;
        p=0 ;
        scanf("%c",&ch);
        //printf("%c ",ch);
        while (ch!='\n')
        {
            s [p] = ch ;
            scanf("%c",&ch);
            //printf("%c ",s[p]);
            p++ ;

        }
//printf("%c ",ch);
        cnt=0 ;
        cnt2 =0 ;
        cnt3 =0 ;
        cnt4 =0 ;
        for (j=0 ; j<= p ; j++)
        {
            if (s[j] == 'a' || s[j] == 'd'||s[j] == 'g' || s[j] == 'j'||s[j] == 'm' || s[j] == 'p'||s[j] == 't' || s[j] == 'w' ||s[j] == ' ') cnt ++ ;
            if (s[j] == 'b' || s[j] == 'e'||s[j] == 'h' || s[j] == 'k'||s[j] == 'n' || s[j] == 'q'||s[j] == 'u' || s[j] == 'x' ) cnt2 += 2 ;
            if  (s[j] == 'c' || s[j] == 'f'||s[j] == 'i' || s[j] == 'l'||s[j] == 'o' || s[j] == 'r'||s[j] == 'v' || s[j] == 'y' ) cnt3 += 3 ;
            if (s[j] == 's' || s[j] == 'z' ) cnt4 += 4 ;
        }

        x= cnt + cnt2 +cnt3 +cnt4 ;
        printf ("%d \n",x) ;

    }

}

UVA-10018 :: Reverse and Add

#include <stdio.h>
int main ()
{
    long long int n ,rev , temp , i , t ,cnt ;

     scanf ("%lld",&n) ;
     for (i =1 ; i<= n ;i++)
          {
               rev =0;
                cnt =0 ;
               scanf ("%lld",&t) ;

          while (t != rev)
               {
                    t = t + rev ;
                    rev =0 ;
                    temp =  t ;

               cnt ++ ;
               while (temp >0)
                    {
                         rev = rev * 10 ;
                         rev = rev + (temp % 10) ;
                         temp = temp /10 ;
                    }


               }

                 printf ("%lld %lld\n",cnt-1 ,rev) ;

          }
return 0 ;

}

UVA-10195 :: The Knights Of The Round Table

#include <stdio.h>
#include <math.h>

int main ()
{
     double a,b, c , r ,at ,k ,x,y,z ;

     while (scanf ("%lf %lf %lf",&a,&b ,&c) == 3 )
     {
          k =  (a+b+c)/2.00 ;

          if (k>a) x= k-a ;
          else  x = a-k ;

          if (k>b) y= k-b ;
          else  y = b-k ;

          if (k>c) z = k-c ;
          else z = c-k ;

          at = sqrt (k*x *y * z) ;

          r = at /  k ;

          if (at == 0 && k==0) r= 0 ;
          printf ("The radius of the round table is: %.3lf\n",r) ;

     }

return 0 ;
}

UVA-12403 :: Save Setu

#include <stdio.h>
int main ()
{
     int t , k ,i ;
     char ch ,s1 [100] = "donate" , s2[100] = "report" , s[100]  ;
     int cnt =0 ,cnt2 =0 ;

     scanf ("%d",&t) ;

     for (i=1 ; i<=t ; i++)
     {
        scanf ("%s",s) ;

        if (s[0] == s1[0] )
        {
             scanf ("%d",&k) ;
             if (k >= 100 && k <= 100000) cnt = cnt + k ;
             else cnt2 = cnt2 + k ;
        }

        else if (s[0] == s2[0] )  printf ("%d\n",cnt+cnt2) ;

     }

return 0 ;
}

UVA-11461 :: Square Numbers

#include <stdio.h>
#include <math.h>
int main ()
{
     int a,b,n,i ,cnt  ;
     while (scanf ("%d %d",&a,&b) == 2 && a!=0 && b!=0)
     {
          cnt = 0 ;
          for (i=a ; i<=b ; i++)
          {
               n = sqrt (i) ;
               if (n*n == i) cnt++ ;
          }

          printf ("%d\n",cnt) ;
     }

     return 0 ;
}

UVA-11332 :: Summing Digits

#include <stdio.h>

int main ()
{
    int n ,p,x,y ,sum ;

    while (scanf ("%d",&n) == 1 && n !=0)
    {
        sum =0 ;

        while (n>0)
        {
            x = n % 10 ;
            y= n /10 ;
            sum = sum + x ;
            n = y ;
        }

lebel :
        if (sum<10)  printf ("%d\n",sum) ;
        else
        {
            n =sum ;
            sum =0 ;

            while (n>0)
            {
                x = n % 10 ;
                y= n /10 ;
                sum = sum + x ;
                n = y ;
            }

     goto lebel ;
        }

    }
return 0 ;
}

UVA-299 :: Train Swapping

 #include <stdio.h>

 int main ()
{
     int l ,p , x, n ,i  ,j ,a[55] ;


     scanf ("%d",&n) ;
     for (x =1 ; x <=n ; x++)
          {
               scanf ("%d",&l) ;
               for (i =0 ; i< l ;i++)
                    {
                         scanf ("%d",&a [i] ) ;

                    }

                  int cnt =0 ;
     int r = l-1 ;

          for (i =0 ; i < r ; i++)
               {
                    for (j =0 ; j< r -i ; j++)
                         {
                              if (a [j] > a [j+1] )
                                   {
                                        cnt ++ ;
                                        p = a [j] ;
                                        a [ j] = a [j +1] ;
                                        a [j+1] = p ;
                                   }
                         }
               }
               printf ("Optimal train swapping takes %d swaps.\n",cnt) ;

          }

          return 0 ;
}