Cod sursa(job #1674075)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 4 aprilie 2016 12:48:38
Problema Grozavesti Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <cstdio>
#include <algorithm>

using namespace std;
int v[305];
pair <int,int> s[100000];
int main()
{
    FILE *fin=fopen ("grozavesti.in","r");
    FILE *fout=fopen ("grozavesti.out","w");
    int n,i,j,x,sol,mini,poz;
    fscanf (fin,"%d",&n);
    for (i=1;i<=n;i++){
        for (j=1;j<=n;j++){
            fscanf (fin,"%d",&x);
            if (i==j)
                v[i]=x;
        }
    }
    sol=0;
    for (i=1;i<=n;i++){
        mini=v[i];
        poz=i;
        for (j=i+1;j<=n;j++){
            if (mini>v[j]){
                mini=v[j];
                poz=j;
            }
        }
        // trb sa interschimbam pe v[i] cu mini
        if (i!=poz){
            sol++;
            s[sol].first=i;
            s[sol].second=poz;
        }
    }
    fprintf (fout,"%d\n",sol*2);
    for (i=1;i<=sol;i++){
        fprintf (fout,"L %d %d\n",s[i].first,s[i].second);
        fprintf (fout,"C %d %d\n",s[i].first,s[i].second);
    }
    return 0;
}