Cod sursa(job #162153)

Utilizator luana_0105Fagarasan Luana luana_0105 Data 19 martie 2008 16:12:16
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.3 kb
#include<stdio.h>
#define nmax 305

int a[nmax][nmax];
int n,ct;
typedef struct schimb{ int x,y;
                       char c;
                     };
schimb s[2*nmax];

                           
void read()
{
      int i,j;
      freopen("grazavesti.in","r",stdin);
      freopen("grozavesti.out","w",stdout);
      scanf("%d",&n);
      for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
           scanf("%d",&a[i][j]);
}


void solve()
{
     int ind,i,ind2,min,j;
     for(i=1;i<=n;i++)
     {
         ind=i;
         min=a[ind][ind];
         ind2=i;
         for(j=ind+1;j<=n;j++)
            if(a[j][j]<min)
            {
                 min=a[j][j];  //caut el minim din submatricea cu coltul stg sus in a[ind][ind]
                 ind2=j;        
            }
         if(ind2!=ind)
         {
             s[++ct].c='C';
             s[ct].x=ind;
             s[ct].y=ind2;
             s[++ct].c='L';
             s[ct].x=ind;
             s[ct].y=ind2;
         }
     }
}

void print()
{
     int i;
     printf("%d\n",ct);
     for(i=1;i<=ct;i++)
        printf("%c %d %d\n",s[i].c, s[i].x, s[i]. y);
}

int main()
{
    read();
    solve();
    print();
    return 0;
}