AOJ 2503 Project Management
何のことはない、有効グラフつくってクリティカルパス求めるだけ。
ワーシャルフロイド法でもなんでも解けるんじゃないかな。
int n, m; int cost[400][400]; int main(){ scanf("%d%d", &n, &m); rep(i, n) rep(j, n) cost[i][j] = 0; int a, b, c; rep(i, m){ scanf("%d%d%d", &a, &b, &c); cost[a][b] = c; } rep(k, n) rep(i, n) rep(j, n) if(cost[i][k] && cost[k][j]) cost[i][j] = max(cost[i][j], cost[i][k] + cost[k][j]); printf("%d\n", cost[0][n-1]); return 0; } >|| こんな感じ? 三重ループの後の条件式がないと、ダメらしい。昔はまった、