반응형

공부/백준(C++) - 2022~ 33

백준 2798번: 블랙잭 [C++]

https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 코드 #include #include using namespace std; int sum_triple(vector v, int index) { return v[index] + v[index+1] + v[index+2]; } int main() { int n, m, answer = -1; vector cards; cin >> n >> m; for(int i=0; i>..

백준 1002번: 터렛 [C++]

https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 코드 #include #include using namespace std; void hanoi(int n, int start, int mid, int end) { if(n == 1) { printf("%d %d\n", start, end); } else { hanoi(n - 1, start, end, mid); printf("%d %d\n", start, end); hanoi(n - ..

백준 2447번: 별 찍기-10 [C++]

https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 코드 #include using namespace std; char pattern[2187][2187]; void init(int n) { for(int i=0; i

백준 10870번: 피보나치 수 5 [C++]

https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 코드 #include #include using namespace std; int main() { vector fibo; fibo.push_back(0); fibo.push_back(1); fibo.push_back(1); int n; cin >> n; for(int i=3; i

백준 1002번: 터렛 [C++]

https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 코드 #include #include using namespace std; class turret { public : double x; double y; double r; turret(double _x, double _y, double _r) { x = _x; y = _y; r = _r; } void change_value(double _x, double _y, double _r) { x = _x; y = _y; r = _r; } }; double ..

백준 3053번: 택시 기하학[C++]

https://www.acmicpc.net/problem/3053 3053번: 택시 기하학 첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다. www.acmicpc.net 코드 #include #include using namespace std; int main() { double r, u_circle, t_circle; cin >> r; u_circle = M_PI * r * r; t_circle = r * r * 2; printf("%.6f\n", u_circle); printf("%.6f", t_circle); } 설명 생소해 보이는 택시 기하학에서 원의 정의를 이해하면 되는 문제이..

백준 4153번: 직각삼각형[C++]

https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 코드 #include #include using namespace std; void big_num(int* n1, int* n2) { int temp; if(*n1 > *n2) { temp = *n1; *n1 = *n2; *n2 = temp; } } int main() { int a, b, c; cin >> a >> b >> c; while(a + b + c != 0) { big_num(&a, &b); big_nu..

반응형