[BOJ] 1987번: 알파벳
https://www.acmicpc.net/problem/1987예전에 풀었는데 놀랍게도 풀이를 적지 않았나 보다..DFS에 백트래킹을 섞어주면 된다.12345678910111213141516171819202122232425262728293031#include char board[21][21];bool al[26];int R, C, count = -987654321; const int dx[] = { -1, 1, 0, 0 }, dy[] = { 0, 0, -1, 1 }; bool is_safe(int y, int x) { return (0
2018. 7. 26.
[BOJ] 14650번: 걷다보니 신천역 삼 (Small)
14650번: 걷다보니 신천역 삼 (Small) 14650번: 걷다보니 신천역 삼 (Small) 욱제는 ‘삼’이란 음절을 참 좋아한다. 인삼, 홍삼, 해삼, 삼성, 이춘삼(李春森), 삼식이, 삼시세끼, ㄴㄴ 그거 안 삼, 삼과 죽음, 알았삼, 금강삼도 식후경, 걷다보니 신천역 삼, 그리고 특히 일이삼을 좋아한다. 그래서 욱제는 3을 가지고 놀아보기로 했삼. 3개 숫자(0, 1, 2)만 가지고 N자리 3의 배수를 만들어 보삼. 만드는 배수는 자연수 이삼. 0으로 시작하는 수는 만들 수 없는 수 이삼. 3의 배수가 몇 개나 나올 수 있삼? www.acmicpc.net N의 최대 크기가 9이기 때문에 brute force를 해도 되지만 간단한 dp 문제로 풀 수 있다. 참고: 14651번: 걷다보니 신천역 삼..
2018. 7. 19.
[BOJ] 1193번: 분수찾기
1193번: 분수찾기 많이 비효율적인 코드이긴 한데... 내일 다시 풀어보도록 하자. 코드 #include using namespace std; int main() { ios_base::sync_with_stdio(false), cin.sync_with_stdio(false); int n, i; cin >> n; for (i = 1; (i * i + i) / 2 < n; ++i) { } int tmp = ((i - 1) * (i)) / 2, s, f; if (i & 1) { s = i, f = 1; while (tmp != n - 1) s--, f++, tmp++; } else { s = 1, f = i; while (tmp != n - 1) s++, f--, tmp++; } cout
2018. 7. 19.