9Google AdSense

10327 FLIPSORT

#include<stdio.h>

int main()
{
    int n,ary[1010],i,count,a,k;

    while(scanf("%d",&n)!=EOF)
    {

        for(a=1;a<=n;a++)
            scanf("%d",&ary[a]);
        count=0;
        for(i=1;i<=n;i++)
        {
            for(k=i+1;k<=n;k++)
                if(ary[i]>ary[k])
                    count++;
        }

        printf("Minimum exchange operations : %d\n",count);

    }
    return 0;


}

Longest common subsequence

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

char x[20],y[20];

int b[100][100],c[100][100],m,n;

int length();

void print_lcs(int i, int j);

int main()
{
    clrscr();
    printf("First  String : ");
    gets(x);
    printf("\n");
    printf("Second String : ");
    gets(y);
    printf("\n");
    length();
    printf("\nLongest Common Subsequence : ");
    print_lcs(m,n);
    getch();
    return 0;
}
int length()
{
       int i,j;
    m=strlen(x);
    n=strlen(y);
    for(i=1;i<=m;i++)
        c[i][0]=0;
    for(j=0;j<=n;j++)
        c[0][j]=0;
    for(i=0;i<=m;i++)
        for(j=0;j<=n;j++)
        {
            if(x[i]==y[j])
            {
                c[i][j]=c[i-1][j-1]+1;
                b[i][j]=1;
            }
            else if(c[i-1][j]>=c[i][j-1])
            {
                c[i][j]=c[i-1][j];
                b[i][j]=2;
            }
            else
            {
                c[i][j]=c[i][j-1];
                b[i][j]=3;
            }
        }
    return c[m][n];

}

void print_lcs(int i, int j)
{
    if((i==-1)||(j==-1))
        return;
    if(b[i][j]==1)
    {
        print_lcs(i-1,j-1);
        printf("%c",x[i]);

    }
    else if(b[i][j]==2)
        print_lcs(i-1,j);
    else
        print_lcs(i,j-1);
}



Merge sort

#include<stdio.h>
#include<conio.h>
int mergesort(int a[],int p,int r);
int merge(int a[],int p,int q,int r);

int main()
{
    int a[200],n,l,i,j,p,r;
    clrscr();
    printf("N : ");
    scanf("%d", &n);
    printf("\nEnter the number  : ");
    for(i=1;i<=n;i++)
        scanf("%d",&a[i]); // Enter the numbers.
    p=1;
    r=n;
    mergesort(a,p,r);
    printf("\nThe Sorted number : ");
    for(i=1;i<=n;i++)
        printf("%d ",a[i]);
    getch();

  return 0;

}
int mergesort(int a[],int p,int r)
{
    int q;
    if(p<r)
    {
        q=(p+r)/2;
        mergesort(a,p,q);
        mergesort(a,q+1,r);
        merge(a,p,q,r);
    }
    return 0;
}
int merge(int a[],int p,int q,int r)
{
    int n1,n2,i,j,left[20],right[20],k;
    n1=q-p+1;
    n2=r-q;
    for(i=1;i<=n1;i++)
        left[i]=a[p+i-1];
    for(j=1;j<=n2;j++)
        right[j]=a[q+j];
    left[n1+1]=9999;
    right[n2+1]=9999;
    i=1;
    j=1;
    for(k=p;k<=r;k++)
    {
        if(left[i]<=right[j])
        {
            a[k]=left[i];
            i=i+1;
        }
        else
        {
            a[k]=right[j];
            j++;
        }
    }
    return 0;
}




Quicksort

#include<stdio.h>
#include<conio.h>

void quicksort(int a[20],int p,int r);
int partition(int a[20],int p,int r);

int main()
{
    int a[20],n,op,p,r,at;
    printf("N : ");
    scanf("%d",&n);
    printf("\nEnter the number  : ");
    for(op=1;op<=n;op++)
        scanf("%d",&a[op]);   // Enter the number.
    p=1;
    r=n;
    quicksort(a,p,r);

    printf("\nThe Sorted number : ");
    for(at=1;at<=n;at++)
        printf("%d ",a[at]);
    getch();

    return 0;
}


void quicksort(int a[20],int p,int r)
{       int q;
    if(p<r)
    {
        q=partition(a,p,r);
        quicksort(a,p,q-1);
        quicksort(a,q+1,r);
    }
}
int partition(int a[20],int p,int r)
{
    int x,i,j,temp,count;
    x=a[r];
    i=p-1;
    for(j=p;j<=r-1;j++)
    {
        if(a[j]<=x)
        {
            i=i+1;
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
        }
    }
    count=a[i+1];
    a[i+1]=a[r];
    a[r]=count;


    return i+1;
}

Heapsort

#include<stdio.h>
#include<conio.h>
#include<MATH.H>

void max_heapify(int A[],int i);
void build_max_heap(int A[]);
void heapsort(int A[]);
int left(int i);
int right(int i);

int length,A[30],heap_size;

int main()
{
    int p,lp;
    clrscr();
    printf("N : ");
    scanf("%d",&length);
    printf("\nEnter the number  : ");
    for(p=1;p<=length;p++)
        scanf("%d",&A[p]);
    heapsort(A);
    printf("\nThe Sorted number : ");
    for(lp=1;lp<=length;lp++)
        printf("%d ",A[lp]);
    getch();
    return 0;
}

int left(int i)
{
    return (2*i);
}
int right(int i)
{
    return ((2*i)+1);
}
void max_heapify(int A[],int i)
{
    int largest,l,r,temp;
    l=left(i);
    r=right(i);
    if((l<=heap_size)&&(A[l]>A[i]))
        largest=l;
    else
        largest=i;
    if((r<=heap_size)&&(A[r]>A[largest]))
        largest=r;
    if(largest!=i)
    {
        temp=A[i];
        A[i]=A[largest];
        A[largest]=temp;
        max_heapify(A,largest);
    }
}

void build_max_heap(int A[])
{
    int i;
    heap_size=length;
    for(i=(length/2);i>=1;i--) // be careful about this loop.
        max_heapify(A,i);
}
void heapsort(int A[])
{
    int i,temp1;
    build_max_heap(A);

    for(i=length;i>=2;i--)   // be careful about this loop.
    {
        temp1=A[1];
        A[1]=A[i];
        A[i]=temp1;
        heap_size=heap_size-1;
        max_heapify(A,1);
    }

}













11530 SMS Typing



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

int main()
{
    char str[100],ch;
    int count,i,p,test,l;
    scanf("%d",&test);
    getchar();
    for(l=1;l<=test;l++)
    {
        count=0;
        gets(str);
        i=strlen(str);
        for(p=0;p<=i;p++)
        {
            if((str[p]=='a')||(str[p]=='d')||(str[p]=='g')||(str[p]=='j')||(str[p]=='m')||(str[p]=='p')||(str[p]=='t')||(str[p]=='w')||(str[p]==' '))
                count=count+1;
            else if((str[p]=='b')||(str[p]=='e')||(str[p]=='h')||(str[p]=='k')||(str[p]=='n')||(str[p]=='q')||(str[p]=='u')||(str[p]=='x'))
                count=count+2;
            else if((str[p]=='c')||(str[p]=='f')||(str[p]=='i')||(str[p]=='l')||(str[p]=='o') ||(str[p]=='r')||(str[p]=='v')||(str[p]=='y'))
                count=count+3;
            else if((str[p]=='s')||(str[p]=='z'))
                count=count+4;
        }
        printf("Case #%d: %d\n",l,count);
    }
    return 0;
}

11805 Bafana Bafana

#include<stdio.h>

int main()
{
    int t,i,n,k,p,l;
    scanf("%d",&t);
    for(i=1;i<=t;i++)
    {
        scanf("%d%d%d",&n,&k,&p);
        for(l=1;l<=p;l++)
        {          if(k==n)
                k=1;
            else
                k++;
        }
        printf("Case %d: %d\n",i,k);


       }

    return 0;
}

10783 Odd Sum

http://uva.onlinejudge.org/external/107/10783.html

#include<stdio.h>

int main()
{

    int n,sum,a,b,l,p;
    scanf("%d",&n);
    {
        for(p=1;p<=n;p++)
        {
            scanf("%d%d",&a,&b);
            sum=0;
            for(l=a;l<=b;l++)
            {
                if(l%2!=0)
                sum=sum+l;
            }
            printf("Case %d: %d\n",p,sum);
        }
    }
    return 0;
}

102 Ecological Bin Packing

#include<stdio.h>

int main()
{
    long int ary[100][100],count[100],i,j,small,p,q,z;
    int flag;
    while(1)
    {    flag=1;
        for(i=1;i<=3;i++)
        {
            for(j=1;j<=3;j++)
            {
                z=scanf("%ld",&ary[i][j]);
                if(z==EOF)
                {
                    flag=0;
                    break;
                }
            }
        }
        if(flag==0)
            break;


        count[1]=ary[1][2]+ary[1][3]+ary[2][1]+ary[2][2]+ary[3][1]+ary[3][3];
        count[2]=ary[1][2]+ary[1][3]+ary[2][1]+ary[2][3]+ary[3][1]+ary[3][2];
        count[3]=ary[1][1]+ary[1][2]+ary[2][2]+ary[2][3]+ary[3][1]+ary[3][3];
        count[4]=ary[1][1]+ary[1][2]+ary[2][1]+ary[2][3]+ary[3][2]+ary[3][3];
        count[5]=ary[1][1]+ary[1][3]+ary[2][2]+ary[2][3]+ary[3][1]+ary[3][2];
        count[6]=ary[1][1]+ary[1][3]+ary[2][1]+ary[2][2]+ary[3][2]+ary[3][3];

        small=count[1];
        p=1;
        for(q=2;q<=6;q++)
        {
            if(small>count[q])
            {
                small=count[q];
                p=q;
            }

        }
        if (p==1)
            printf("BCG %ld\n",small);
        else if(p==2)
            printf("BGC %ld\n",small);
        else if (p==3)
            printf("CBG %ld\n",small);
        else if (p==4)
            printf("CGB %ld\n",small);
        else if (p==5)
            printf("GBC %ld\n",small);
        else if (p==6)
            printf("GCB %ld\n",small);

    }
    return 0;


}

11498_division of nlogonia

#include<stdio.h>

int main()
{
    int k,m,n,t,x,y;
    while(scanf("%d",&k)==1)
    {
        if(k==0)
            break;
        scanf("%d%d",&m,&n);
        for(t=1;t<=k;t++)
        {
            scanf("%d%d",&x,&y);
            if(x>m&&y>n)
                printf("NE\n");
            else if(x<m&&y>n)
                printf("NO\n");
            else if(x<m&&y<n)
                printf("SO\n");
            else if(x>m&&y<n)
                printf("SE\n");
            else
                printf("divisa\n");
        }
    }
    return 0;

}

Problem

10222_Decode the mad man

#include<stdio.h>

#define max 50000

int main()
{
    int key[255]={0},i;
    char str[max];
    key['q']='.';
    key['w']='/';
    key['e']='q';
    key['r']='w';
    key['t']='e';
    key['y']='r';
    key['u']='t';
    key['i']='y';
    key['o']='u';
    key['p']='i';
    key['[']='o';
    key[']']='p';
    key['a']='[';
    key['s']=']';
    key['d']='a';
    key['f']='s';
    key['g']='d';
    key['h']='f';
    key['j']='g';
    key['k']='h';
    key['l']='j';
    key[';']='k';
    key[39]='l';
    key['z']=';';
    key['x']=39;
    key['c']='z';
    key['v']='x';
    key['b']='c';
    key['n']='v';
    key['m']='b';
    key[',']='n';
    key['.']='m';
    key['/']=',';
    key[' ']=' ';

    key['Q']='.';
    key['W']='/';
    key['E']='q';
    key['R']='w';
    key['T']='e';
    key['Y']='r';
    key['U']='t';
    key['I']='y';
    key['O']='u';
    key['P']='i';
    key['[']='o';
    key[']']='p';
    key['A']='[';
    key['S']=']';
    key['D']='a';
    key['F']='s';
    key['G']='d';
    key['H']='f';
    key['J']='g';
    key['K']='h';
    key['L']='j';
    key['Z']=';';
    key['X']=39;
    key['C']='z';
    key['V']='x';
    key['B']='c';
    key['N']='v';
    key['M']='b';


    gets(str);
    i=0;
    while(str[i])
        printf("%c",key[str[i++]]);
    printf("\n");

    return 0;
}

11727 Cost cutting

Problem ----------------------------------------------------
 #include<stdio.h>
 int main()
{
    long int n,p,a,b,c,mid,ary[10000],q,temp,ptr,k;
    scanf("%ld",&n);
    if(n<20)
    {
    for(p=1;p<=n;p++)
    {
        scanf("%ld%ld%ld",&a,&b,&c);
        if((a>=1000&&a<=10000)&&(b>=1000&&b<=10000)&&(c>=1000&&a<=10000))
        {
            ary[1]=a;
            ary[2]=b;
            ary[3]=c;
            for(k=1;k<=3;k++)
            {
                ptr=1;
                while(ptr<=3-k)
                {
                    if(ary[ptr]>ary[ptr+1])
                    {
                        temp=ary[ptr];
                        ary[ptr]=ary[ptr+1];
                        ary[ptr+1]=temp;
                    }
                    ptr=ptr+1;
                }
            }
            printf("Case %ld: %ld\n",p,ary[2]);
         }
    }
    }
    return 0;
}

11185_Ternary

Problem
-------------------------------------------------------
#include<stdio.h>

int main()
{

    long int n,a[2000],j,i;
    while(scanf("%ld",&n)==1)
    {
        if(n<0)
            break;
        i=0;
        if(n==0)
            printf("0");
        while(n!=0)
        {
            a[i]=n%3;
            n=n/3;
            i++;
        }

        for(j=i-1;j>=0;j--)
            printf("%ld",a[j]);
        printf("\n");
    }
    return 0;}