Cod sursa(job #1790406)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 28 octombrie 2016 10:48:44
Problema Grozavesti Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include<bits/stdc++.h>
using namespace std;
int n,a[305][305],v1[1005],v2[1005],v3[1005],imin,minim,jmin,dv;
int main()
{
    freopen("grozavesti.in","r",stdin);
    freopen("grozavesti.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(int x=1;x<=n;x++)
    {
        imin=0;
        minim=INT_MAX;
        jmin=0;
        for(int i=x;i<=n;i++)
        {
            for(int j=x;j<=n;j++)
            {
                if(a[i][j]>=a[x-1][x-1] && a[i][j]<minim)
                {
                    minim=a[i][j];
                    imin=i;
                    jmin=j;
                }
            }
        }
        if(imin!=x)
        {
            dv++;
            v1[dv]='L';
            v2[dv]=x;
            v3[dv]=imin;
            for(int i=1;i<=n;i++) swap(a[imin][i],a[x][i]);
        }
        if(jmin!=x)
        {
            dv++;
            v1[dv]='C';
            v2[dv]=x;
            v3[dv]=jmin;
            for(int i=1;i<=n;i++) swap(a[i][jmin],a[i][x]);
        }

    }
    printf("%d\n",dv);
    for(int i=1;i<=dv;i++) printf("%c %d %d\n",v1[i],v2[i],v3[i]);
    return 0;
}