Cod sursa(job #1489058)

Utilizator tiby10Tibi P tiby10 Data 20 septembrie 2015 15:30:42
Problema Algoritmul lui Dijkstra Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<cstdio>
#include<algorithm>
using namespace std;
#define MAX (int)1e7
#define MAXN 805
int person[MAX][2],an[MAXN];
bool used[MAXN];

int main(){
    #ifndef ONLINE_JUDGE
    freopen("in.txt","r",stdin);
    #endif
    int n, best=0;
    scanf("%d",&n);
    n*=2;
    for(int i=1;i<=n;i++)
        for(int j=1;j<i;j++){
            int x;
            scanf("%d",&x);
            person[x][0]=i;
            person[x][1]=j;
            best=max(best, x);
        }
    used[0]=1;
    for(int i=best;i>0;i--){
        if(!used[person[i][0]]&&!used[person[i][1]]){
            used[person[i][0]]=1;
            used[person[i][1]]=1;
            an[person[i][0]]=person[i][1];
            an[person[i][1]]=person[i][0];
        }
    }
    for(int i=1;i<=n;i++){
        if(i>1) printf(" ");
        printf("%d",an[i]);
    }
    return 0;
}