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;


}