본문 바로가기

백준

(497)
[백준 2780번] 비밀번호 (C++) 문제링크 : https://www.acmicpc.net/problem/2780 2780번: 비밀번호 각각의 Test case에 대해서 조건을 만족하는 비밀번호의 개수를 출력하라. 단, 수가 매우 커질 수 있으므로 비밀번호의 개수를 1,234,567으로 나눈 나머지를 출력하라. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int T, N, dp[1001][10]; //가능한 숫자, 비밀번호 길이 const int MOD = 1234567; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> T..
[백준 21317번] 징검다리 건너기 (C++) 문제링크 : https://www.acmicpc.net/problem/21317 21317번: 징검다리 건너기 산삼을 얻기 위해 필요한 영재의 최소 에너지를 출력한다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, K, dp[21][2]; pii arr[21]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> N; for(int i=1; i> a >> b; arr[i] = {a, b}; } cin >> K; for(int i=0; i 작은 점프 큰 점프 -> 큰 점프 0 1 차..
[백준 1519번] 부분 문자열 뽑기 게임 (C++) 문제링크 : https://www.acmicpc.net/problem/1519 1519번: 부분 문자열 뽑기 게임 첫째 줄에 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; string N; int dp[1000001]; int func(string s) { if(s.size()==1) return -1; //패배 int n = stoi(s); if(dp[n]!=MAX) return dp[n]; bool flag = 0; //승리, 패배 체크용 for(int i=1; i N; for(i..
[백준 1354번] 무한 수열 2 (C++) 문제링크 : https://www.acmicpc.net/problem/1354 1354번: 무한 수열 2 첫째 줄에 5개의 정수 N, P, Q, X, Y가 주어진다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; ll N, P, Q, X, Y; mapdp; ll func(ll n) { if(n> N >> P >> Q >> X >> Y; cout
[백준 1495번] 기타리스트 (C++) 문제링크 : https://www.acmicpc.net/problem/1495 1495번: 기타리스트 첫째 줄에 N, S, M이 주어진다. (1 ≤ N ≤ 50, 1 ≤ M ≤ 1,000, 0 ≤ S ≤ M) 둘째 줄에는 각 곡이 시작하기 전에 줄 수 있는 볼륨의 차이가 주어진다. 이 값은 1보다 크거나 같고, M보다 작거나 같다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; int N, S, M, arr[51], dp[51][1001]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> ..
[백준 155991번] 1, 2, 3 더하기 6 (C++) 문제링크 : https://www.acmicpc.net/problem/15991 15991번: 1, 2, 3 더하기 6 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; const int MOD = 1000000009; int T, n; ll dp[100001] = {0, 1, 2, 2, 3, 3, 6}; //초기화 6까지(3, 3) int main() { ios_base::sync_with_stdio(0); cin.tie(0); ..
[백준 23815번] 똥게임 (C++) 문제링크 : https://www.acmicpc.net/problem/23815 23815번: 똥게임 이 게임은 똥냄새가 너무 나서 도저히 볼 수가 없다! 따라서 당신은 직접 똥게임을 하지 않고 프로그램한테 똥게임을 시킬 것이다. 처음에는 사람 1명으로 시작한다. 당신에게는 총 $N$번의 턴 www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; ll n, dp[100001][2]; //건너뜀(1) 체크 string s1, s2; ll func(int i, int flag, string s1, string s2) { ll tmp1 = 0, tmp2 = 0; i..
[백준 1343번] 폴리오미노 (C++) 문제링크 : https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net #include using namespace std; typedef long long ll; typedef pair pii; const int MAX = 987654321; string s, result; int cnt; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> s; for(int i=0; i