1050 To the Max

「1050 To the Max」の編集履歴(バックアップ)一覧はこちら

1050 To the Max」(2006/05/13 (土) 23:50:25) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**1050 To the Max **解答例 import java.util.*; public class Main { public static void main(String args[]){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] a = new int[n+1][n+1]; a[0][0] = 0; for(int j=1;j<=n;j++) a[0][j] = 0; for(int i=1;i<=n;i++) a[i][0] = 0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ a[i][j] = sc.nextInt(); } } int[][] b = new int[n+1][n+1]; b[0][0] = 0; for(int j=1;j<=n;j++) b[0][j] = 0; for(int i=1;i<=n;i++) b[i][0] = 0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ b[i][j] = b[i-1][j] + b[i][j-1] - b[i-1][j-1] + a[i][j]; //System.out.print(b[i][j]+" "); } //System.out.println(); } int max = Integer.MIN_VALUE; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ for(int k=i;k<=n;k++){ for(int l=j;l<=n;l++){ max = Math.max(max, b[i-1][j-1]+b[k][l]-b[i-1][l]-b[k][j-1]); } } } } System.out.println(max); } }

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。