Cod sursa(job #1376685)

Utilizator retrogradLucian Bicsi retrograd Data 5 martie 2015 18:19:01
Problema Obiective Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>

using namespace std;
typedef int var;

ifstream fin("obiective.in");
ofstream fout("obiective.out");

#define INF (1<<29)
#define MAXN 2001

var C[MAXN][MAXN];
var n, m, a, b;

int main() {
    fin>>n>>m;
    for(var i=1; i<=n; i++) {
        for(var j=i+1; j<=n; j++) {
            C[i][j] = C[j][i] = INF;
        }
    }
    while(m--) {
        fin>>a>>b;
        C[a][b] = 0;
        C[b][a] = min(C[b][a], 1);
    }

    for(var k=1; k<=n; k++) {
        for(var i=1; i<=n; i++) {
            for(var j=1; j<=n; j++) {
                C[i][j] = min(C[i][j] , C[i][k] + C[k][j]);
            }
        }
    }

    fin>>m;
    while(m--) {
        fin>>a>>b;
        fout<<C[a][b]<<'\n';
    }

    return 0;
}