728x90
반응형
문제는 다음과 같습니다.
https://www.acmicpc.net/problem/1915
import java.util.Scanner; public class Test1915{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); String[] num = new String[1001]; int dp[][] = new int[1001][1001]; int map[][] = new int[1001][1001]; for(int i=1; i<=n; i++) { num[i] = sc.next(); for(int j=1; j<=m; j++) { map[i][j] = num[i].charAt(j-1)-'0'; } } int answer=0; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ if(map[i][j] != 0){ int imsi = Math.min(dp[i-1][j], dp[i-1][j-1]); dp[i][j] = Math.min(dp[i][j-1], imsi) + 1; answer = Math.max(answer, dp[i][j]); } } } System.out.println(answer*answer); } }
결과입니다.
728x90
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 2667번 단지번호붙이기!! (0) | 2017.10.19 |
---|---|
백준 알고리즘 11403번 경로 찾기(DFS문제) !! (0) | 2017.10.18 |
백준 알고리즘 11724번 연결 요소의 개수(DFS문제) !! (0) | 2017.10.17 |
백준 알고리즘 1260번 DFS와 BFS (0) | 2017.10.16 |
백준 알고리즘 2566번 최댓값!! (0) | 2017.10.16 |