mooon๐ŸŒ™
STUDY
mooon๐ŸŒ™
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (170)
    • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (147)
      • ๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (53)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1 (13)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ž…๋ฌธ (54)
      • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] SQL ๊ณ ๋“์  Kit (27)
    • BACK (4)
      • Spring (3)
      • PHP (0)
    • FRONT (5)
    • DevOps (8)
      • Jenkins (8)
    • GitHub๐ŸŒฑ (2)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (1)
      • SQL (1)
    • Error ๐Ÿ’ฅ (0)
      • php (2)
    • ๐Ÿ˜‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • โญ ๊นƒํ—ˆ๋ธŒ
  • ๐Ÿ’• ๋ฐฉ๋ช…๋ก
  • ๐Ÿ’ฅ ํƒœ๊ทธ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • Python
  • SQL
  • SQL ๊ณ ๋“์  Kit
  • ๋ฐฑ์ค€
  • DevOps
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • c++
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ

์ตœ๊ทผ ๊ธ€

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
mooon๐ŸŒ™

STUDY

๋ฐฑ์ค€ 1520 _ ๋‚ด๋ฆฌ๋ง‰ ๊ธธ
์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฑ์ค€ 1520 _ ๋‚ด๋ฆฌ๋ง‰ ๊ธธ

2020. 8. 15. 17:03
728x90

https://www.acmicpc.net/problem/1520

 

1520๋ฒˆ: ๋‚ด๋ฆฌ๋ง‰ ๊ธธ

์—ฌํ–‰์„ ๋– ๋‚œ ์„ธ์ค€์ด๋Š” ์ง€๋„๋ฅผ ํ•˜๋‚˜ ๊ตฌํ•˜์˜€๋‹ค. ์ด ์ง€๋„๋Š” ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์ด๋ฉฐ ์—ฌ๋Ÿฌ ์นธ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋‹ค. ํ•œ ์นธ์€ ํ•œ ์ง€์ ์„ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ ๊ฐ ์นธ์—๋Š” ๊ทธ ์ง€์ ์˜ ๋†’์ด๊ฐ€ ์“ฐ์—ฌ ์žˆ์œผ๏ฟฝ

www.acmicpc.net


โœจ ๋‚ด ์†Œ์Šค ์ฝ”๋“œ

#include<iostream>
using namespace std;
int map[500][500];
int result[500][500] = { -1, };
int M, N;
int moved[4][2] = { {-1,0},{0,-1},{0,1},{1,0} };

int func(int x, int y) {
	//์ตœํ•˜๋‹จ์— ๋„์ฐฉํ–ˆ์„ ๊ฒฝ์šฐ
	if (x == M - 1 && y == N - 1) {
		return 1;
	}
    //์ด๋ฏธ ๋ฐฉ๋ฌธ์„ ํ•œ ๊ธธ์˜ ๊ฒฝ์šฐ
	if (result[x][y] != -1) {
		return result[x][y];
	}
    
    //์ด๋™ ๊ฐ€๋Šฅํ•œ 4๊ฐ€์ง€ ๊ฒฝ์šฐ๋ฅผ ํƒ์ƒ‰
	for (int i = 0; i < 4; i++) {
		int nextX = x + moved[i][0];
		int nextY = y + moved[i][1];
        //๋ฐฐ์—ด ๋ฒ”์œ„์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ณ , ํ˜„์žฌ ์œ„์น˜๋ณด๋‹ค ๋†’์ด๊ฐ€ ๋‚ฎ์€ ๋‹ค์Œ ์œ„์น˜๋ฅผ ํƒ์ƒ‰
		if (map[x][y] > map[nextX][nextY] && nextX >= 0 && nextY >= 0 && nextX < M && nextY < N) {
			//์ฒ˜์Œ ๋ฐฉ๋ฌธํ•ด๋ณด๋Š” ๊ธธ์˜ ๊ฒฝ์šฐ
            if (result[x][y] == -1) {
				result[x][y] = func(nextX, nextY);
			}
            //์ด๋ฏธ ๋ฐฉ๋ฌธํ•ด๋ณธ ๊ธธ์˜ ๊ฒฝ์šฐ
			else {
				result[x][y] += func(nextX, nextY);			
            }	
		}
	}
    //๋‹ค ํƒ์ƒ‰์„ ํ•ด๋ณด์•˜์ง€๋งŒ ์ตœํ•˜๋‹จ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธธ์ด ์—†๋Š” ๊ฒฝ์šฐ 
	if (result[x][y] == -1) {
		result[x][y] = 0;
	}
	return result[x][y];
}

int main(void) {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
    //๋ชจ๋“  ๊ธธ์„ -1๋กœ ์ดˆ๊ธฐํ™”
	fill(&result[0][0], &result[500 - 1][500], -1);
	
	cin >> M >> N;
	for (int i = 0; i < M; i++) {
		for (int j = 0; j < N; j++) {
			cin >> map[i][j];
		}
	}

	func(0, 0);
	cout << result[0][0];

	system("PAUSE");

	return 0;
}

 

๐Ÿ™ ๋ฌธ์ œ ํ’€์ด

1 -> 2 -> 3

๋‹ค์Œ์™€ ๊ฐ™์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ง„ํ–‰

์ตœํ•˜๋‹จ์— ๋„์ฐฉํ•˜์˜€์„ ๋•Œ์—๋Š” 1์ด๋ผ๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜, ์ง€๋‚˜์˜จ ๋ชจ๋“  ๊ฒฝ๋กœ์˜ ๊ฐ’ ๋˜ํ•œ ๋ฐ”๊พธ์–ด ์ค€๋‹ค

์œ„์˜ ๊ฒฝ์šฐ ์ฒ˜๋Ÿผ ๊ณ„์†ํ•ด์„œ ํƒ์ƒ‰์„ ํ•˜๋‹ค๊ฐ€ ์ด๋ฏธ ๊ฑฐ์ณ๋ณธ ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋‚  ๋•Œ๊ฐ€ ์กด์žฌ

ํ•ด๋‹น ๊ฒฝ๋กœ๋Š” ์ด๋ฏธ ํƒ์ƒ‰์„ ํ•ด๋ณด์•„์„œ ๊ฒฐ๊ณผ๋ฅผ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๊ฐ’์„ ๋”ํ•ด์ค€๋‹ค

์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋“  ๊ฒฝ๋กœ์˜ ์ˆ˜๋Š” [0][0]์— ๋“ค์–ด์žˆ๊ธฐ์— ์ด๋ฅผ ์ถœ๋ ฅ

 

์œ„์˜ ๊ฒฝ์šฐ์—๋Š” ๋‚˜ํƒ€๋‚˜์žˆ์ง€ ์•Š์ง€๋งŒ, ์ตœํ•˜๋‹จ์— ๋„์ฐฉํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋๋‚˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ

์ตœํ•˜๋‹จ์— ๋„์ฐฉํ•˜์ง€ ๋ชปํ•˜์˜€์„ ๋•Œ์—๋Š” ๊ฒฝ๋กœ์˜ ๊ฐ’์„ '0'์œผ๋กœ ๋ฐ”๊พธ์–ด ์ค€๋‹ค

์ด๋ฏธ ๋ฐฉ๋ฌธ ํ•˜์˜€์ง€๋งŒ, ์ตœํ•˜๋‹จ์—๋Š” ๋„์ฐฉํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ๋กœ๋ผ๋Š” ์˜๋ฏธ

์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํƒ์ƒ‰์„ ํ•˜๋‹ค๊ฐ€ 0์„ ๋ฐœ๊ฒฌํ•˜๋ฉด, ๋” ์ด์ƒ ๋‚˜์•„๊ฐ€๋„ ์ตœํ•˜๋‹จ์—๋Š” ๋„์ฐฉํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ๋กœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Œ€๋กœ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๋” ์ด์ƒ์˜ ํƒ์ƒ‰์„ ํ•˜์ง€ ์•Š๊ฒŒ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค

 

 

โญ ๋ฌธ์ œ ํ’€์ด ๊ฒฐ๊ณผ

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ/๋ฐฑ์ค€ ์•Œ๊ณ ๋ฆฌ์ฆ˜' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋ฐฑ์ค€ 1758 _ ์•Œ๋ฐ”์ƒ ๊ฐ•ํ˜ธ
    • ๋ฐฑ์ค€ 1302 _ ๋ฒ ์ŠคํŠธ์…€๋Ÿฌ
    • ๋ฐฑ์ค€ 1018 _ ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ
    • ๋ฐฑ์ค€ 11399 _ ATM
    mooon๐ŸŒ™
    mooon๐ŸŒ™
    ๊ฐœ๋ฐœ ๊ณต๋ถ€ ๊ธฐ๋ก

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”