본문 바로가기

백준

(497)
[백준 10472번] 십자뒤집기 (C++) 문제링크 : https://www.acmicpc.net/problem/10472 10472번: 십자뒤집기 당신에게 3x3 크기의 보드가 주어진다. 각각의 칸은 처음에 흰색 혹은 검은색이다. 만약 당신이 어떤 칸을 클릭한다면 당신이 클릭한 칸과 그 칸에 인접한 동서남북 네 칸이 (존재한다면) 검은색 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair vectorv[9] = { {0, 1, 3}, {0, 1, 2, 4}, {1, 2, 5}, {0, 3, 4, 6}, {1, 3, 4, 5, 7}, {2, 4, 5, 8}, {3, 6, 7}, {4, 6, 7, 8}, {5, ..
[백준 13335번] 트럭 (C++) 문제링크 : https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int arr[10001]; int main() { int N, W, L; cin >> N >> W >> L; queueq; for (int i = 0; i < N; i++) {..
[백준 7894번] 큰 수 (C++) 문제링크 : https://www.acmicpc.net/problem/7894 7894번: 큰 수 많은 어플리케이션은 매우 큰 수를 사용한다. 이러한 어플리케이션은 데이터를 안전하게 전송하고, 암호화하기 위해서 수를 키로 사용한다. 수가 주어지면, 그 수의 팩토리얼의 자리수를 구하 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int main() { int T; cin >> T; while(T--) { double m, result = 0; cin >> m; for(double i=1; i
[백준 5569번] 출근 경로 (C++) 문제링크 : https://www.acmicpc.net/problem/5569 5569번: 출근 경로 상근이가 사는 도시는 남북 방향으로 도로가 w개, 동서 방향으로 도로가 h개 있다. 남북 방향 도로는 서쪽부터 순서대로 번호가 1, 2, ..., w로 매겨져 있다. 또, 동서 방향 도로는 남쪽부터 순서대 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair #define MOD 100000 int dp[101][101][4]; //방향이 총 4가지 int main() { int W, H; cin >> W >> H; for(int i=1; i 위 } for(int i=1..
[백준 16943번] 숫자 재배치 (C++) 문제링크 : https://www.acmicpc.net/problem/16943 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int A, B; string str_A; vectorv; int visited[10]; int max_V = 0, len = 0; void dfs(string s) { if(s.size() == str..
[백준 8982번] 수족관 1 (C++) 문제링크 : https://www.acmicpc.net/problem/8982 8982번: 수족관 1 입력의 첫 줄은 수족관의 경계에 있는 꼭짓점의 개수 N(1 ≤ N ≤ 5,000)이 주어진다. N은 짝수이다. 수족관의 경계는 항상 꼭짓점 (0, 0)부터 시작한다. 그리고 마지막 꼭짓점은 (A, 0)의 형태로 끝난 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair pii depth[400001]; //각 최대 깊이와 빠져나간 깊이 int main() { int N, M, result = 0; cin >> N; int x1, y1, x2, y2; cin >> x1 >..
[백준 17615번] 볼 모으기 (C++) 문제링크 : https://www.acmicpc.net/problem/17615 17615번: 볼 모으기 첫 번째 줄에는 볼의 총 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 다음 줄에는 볼의 색깔을 나타내는 문자 R(빨간색 볼) 또는 B(파란색 볼)가 공백 없이 주어진다. 문자열에는 R 또는 B 중 한 종류만 주 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int main() { int N,R_cnt=0,B_cnt=0; string s; cin>>N>>s; for(int i=0; i
[백준 15684번] 사다리 조작 (C++) 문제링크 : https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net #include using namespace std; #define ll long long #define MAX 987654321 #define pii pair int N, M, H, a, b; int result = MAX; int arr[31][11]; //H, N int max_cnt; bool check() //i번째 선이 i번째로 돌아오는가? { for (int i = 1;..