PS/code-up2022. 4. 22. 23:59

 

 

ex1) 무식하게 풀기

import java.util.Scanner;

class Main{
	
	
	
	public static void main(String args[]) {
		
		Scanner sc = new Scanner(System.in);
		int [] dx = { 0, 1 };
		int [] dy = { 1, 0 }; 
		

		boolean flag = false;
		boolean isBlocked = false;
		
		int [][]arr = new int[11][11];
		
		for ( int i = 1 ; i <= 10; ++i)
			for ( int j = 1 ; j <= 10; ++j)
				arr[i][j]=sc.nextInt();
		int x=2;
		int y=2;
		if (arr[2][2] == 2)
			flag = true;
	
		arr[2][2]=9;
		
		while (!flag && !isBlocked) {
			for ( int i = 0 ; i < 2 ; ++i) {
				int nx = x + dx[i];
				int ny = y + dy[i];
				
				if( arr[nx][ny] != 1) {
					if (arr[nx][ny] == 2 ) flag=true;						
					arr[nx][ny] = 9;
					x=nx;
					y=ny;
					break;
				} 
				
				if (  i==1 && arr[nx][ny] == 1 )
					isBlocked=true;
					
			}
			
		}
		
		
		for (int i = 1 ;  i <= 10; ++i) {
			for ( int j = 1; j <= 10; ++j)
				System.out.print(arr[i][j] +  " ");
			System.out.println();
		}
		
		
		
	}
}

 

ex2) dfs 길찾기

import java.util.Scanner;

class Main{
	
	
	static int [] dx = { 0, 1 };
	static int [] dy = { 1, 0 }; 
	static int [][]arr = new int[11][11];
	public static void main(String args[]) {
		
		Scanner sc = new Scanner(System.in);
		
		
		Main M = new Main();

		
		
		
		
		for ( int i = 1 ; i <= 10; ++i)
			for ( int j = 1 ; j <= 10; ++j)
				arr[i][j]=sc.nextInt();
		int x=2;
		int y=2;
	
		
		M.dfs(2, 2);
		
		
		for (int i = 1 ;  i <= 10; ++i) {
			for ( int j = 1; j <= 10; ++j)
				System.out.print(arr[i][j] +  " ");
			System.out.println();
		}
		
		
		
	}

	private void dfs(int x, int y) {
		
		if( arr[x][y] == 2 ) {
			arr[x][y]=9;
			return;			
		}
		if ( arr[x][y] == 1) {
			return;
		} else {
				arr[x][y] = 9;
				if ( arr[x][y+1] != 1 )
					dfs(x, y+1);
				else
					dfs(x+1, y);
		}
			
		
	}
}

출처 : https://codeup.kr/problem.php?id=1099&rid=0 

 

'PS > code-up' 카테고리의 다른 글

설탕과자뽑기(반복문 인덱스 계산)  (0) 2022.04.22
함께 문제 푸는 날  (0) 2022.04.22
수열 3  (0) 2022.04.22
그림파일 용량 계산  (0) 2022.04.22
audio 파일 용량 계산  (0) 2022.04.22
Posted by easy16