LoginSignup
2
2

More than 5 years have passed since last update.

BabyTree

Posted at

 今回はAOJ0191になります。いや〜なぜか分けの分からぬRuntimeError。どこが原因で起きているかわからない・・・。答えは出るのに通らない・・・・。

コード:


import java.util.*;
public class Main {
    void doIt() {
        Scanner stdIn = new Scanner(System.in);
        while(true) {
            int n = stdIn.nextInt();//肥料の種類
            int m = stdIn.nextInt();//肥料を与える回数
            if(n + m == 0) break;

            double[][] table = new double[n][n];
            for(int r = 0; r < n; r++) {
                for(int c = 0; c < n; c++) {
                    table[r][c] = stdIn.nextDouble();
                }
            }
            double[][] dp = new double[m][n];
            Arrays.fill(dp[0], 1);//最初は効果がない
            for(int k = 1; k < m; k++) {
                for(int r = 0; r < n; r++) {
                    for(int c = 0; c < m; c++) {
                        dp[k][c] = Math.max(dp[k][c], dp[k - 1][r] * table[r][c]);
                    }
                }
            }
            double ans = -1;
            for(int r = 0; r < dp[dp.length - 1].length; r++) {
                ans = Math.max(ans, dp[dp.length - 1][r]);
            }
            System.out.printf("%1.2f\n", ans);
        }
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new Main().doIt();
    }

}
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2