[C++] 브루트 포슀(Brute Force)

2020. 4. 29. 18:35Β·πŸ“ Computer Science/✏ Algorithm

브루트 포슀(Brute Force)

연산이 1μ–΅νšŒκ°€ μ•ˆ λ„˜μ–΄κ°ˆ λ•Œ λͺ¨λ“  경우의 수λ₯Ό κ²€μ‚¬ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ μ™„μ „ 탐색이라고도 ν•œλ‹€.

 

문제

 

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

 

1018번: 체슀판 λ‹€μ‹œ μΉ ν•˜κΈ°

첫째 쀄에 Nκ³Ό M이 μ£Όμ–΄μ§„λ‹€. Nκ³Ό M은 8보닀 ν¬κ±°λ‚˜ κ°™κ³ , 50보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. λ‘˜μ§Έ 쀄뢀터 N개의 μ€„μ—λŠ” λ³΄λ“œμ˜ 각 ν–‰μ˜ μƒνƒœκ°€ μ£Όμ–΄μ§„λ‹€. BλŠ” 검은색이며, WλŠ” 흰색이닀.

www.acmicpc.net

#include <iostream>
#include <algorithm>
using namespace std;

bool board[50][50];

int compare(int x, int y, bool white)
{
	int cnt = 0;
	for (int i = 0; i < 8; i++) {
		for (int j = 0; j < 8; j++) {
			if (white != board[x + i][y + j])
				cnt++;
			white = !white;
		}
		white = !white;
	}
	return cnt;
}

int main(void)
{
	int n, m;
	cin >> n >> m;

	for (int i = 0; i < n; ++i)
		for (int j = 0; j < m; ++j) {
			char c;
			cin >> c;

			if (c == 'W')
				board[i][j] = true;
		}

	int ans = 64;
	for (int i = 0; i < n - 7; ++i)
		for (int j = 0; j < m - 7; ++j)
			ans = min(ans, min(compare(i, j, true), compare(i, j, false)));

	cout << ans;
	return 0;
}

 

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

 

1436번: μ˜ν™”κ°λ… 숌

666은 쒅말을 λ‚˜νƒ€λ‚΄λŠ” 숫자라고 ν•œλ‹€. λ”°λΌμ„œ, λ§Žμ€ λΈ”λ‘λ²„μŠ€ν„° μ˜ν™”μ—μ„œλŠ” 666이 λ“€μ–΄κ°„ 제λͺ©μ„ 많이 μ‚¬μš©ν•œλ‹€. μ˜ν™”κ°λ… μˆŒμ€ μ„Έμƒμ˜ 쒅말 μ΄λΌλŠ” μ‹œλ¦¬μ¦ˆ μ˜ν™”μ˜ 감독이닀. μ‘°μ§€ λ£¨μΉ΄μŠ€λŠ” μŠ€νƒ€μ›Œμ¦ˆλ₯Ό λ§Œλ“€ λ•Œ, μŠ€νƒ€μ›Œμ¦ˆ 1, μŠ€νƒ€μ›Œμ¦ˆ 2, μŠ€νƒ€μ›Œμ¦ˆ 3, μŠ€νƒ€μ›Œμ¦ˆ 4, μŠ€νƒ€μ›Œμ¦ˆ 5, μŠ€νƒ€μ›Œμ¦ˆ 6κ³Ό 같이 이름을 μ§€μ—ˆκ³ , ν”Όν„° μž­μŠ¨μ€ λ°˜μ§€μ˜ μ œμ™•μ„ λ§Œλ“€ λ•Œ, λ°˜μ§€μ˜ μ œμ™• 1, λ°˜μ§€μ˜ μ œμ™• 2, λ°˜μ§€μ˜ μ œμ™• 3κ³Ό 같이 μ˜ν™” 제λͺ©μ„ μ§€μ—ˆλ‹€. ν•˜μ§€λ§Œ μˆŒμ€ μžμ‹ μ΄ μ‘°

www.acmicpc.net

#include <iostream>
#include <string>
using namespace std;

int main(void)
{
	int n;
	cin >> n;

	int ans = 666, cnt = 0;
	while (n != 0) {
		string value = to_string(ans++);
		for (int j = 0; j < value.length() - 2; j++)
			if (value.substr(j, 3) == "666") {
				n--;
				if (n == 0)
					ans--;
				break;
			}
	}

	cout << ans;
	return 0;
}
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Computer Science/✏ Algorithm' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [C++] 그리디(Greedy)
  • [C++] λ°± νŠΈλž˜ν‚Ή(Back Tracking)
  • [C++] ν•΄μ‹œ(Hash)
  • [C++] μ •λ ¬(Sort)
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
[C++] 브루트 포슀(Brute Force)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”