🐣(75)
-
6987 c++ - 월드컵
어떻게 풀까 고민하다가. 데이터가 적어서 그냥 조합으로 풀었습니다. [C++] 순열, 조합표준 라이브러리로는 next_permutaion 과 prev_permutaion 이 있습니다.next_permutaion : "오름차순의 배열"을 기반prev_permutaion : "내림차순의 배열"을 기반#include using namespace std;template void pa(t T) { for (auto p : Tchanhhh.tistory.com가능한 모든 조합을 combi로 찾아서 matches 를 만들고, 해당 matches부터 재귀적으로 찾아 모든 게임이 끝났을때 result의 승,무,패가 0이 아닌경우를 찾아서 반환하는 경우로 처리하였습니다. #include #include using nam..
2024.11.20 -
10827 c++ - a^b
큰 수 string 계산 c++ 버전. cmath 함수인 pow를 사용하지 못하는 이유는 부동소수점 연산을 사용하여 근사값을 계산하기 때문입니다.부동소수점은 IEEE 754 표준을 따르며, C++의 double 타입은 약 15~17자리 십진수 정밀도를 제공합니다.테스트 케이스를 보면 소수점들이 들어가 있는데 이를 부동소수점으로 저장하면 이진수로 근사 처리되어 미세한 차이가 발생합니다.부동소수점 연산은 각 단계에서 오차를 누적시킵니다. 거듭제곱 연산은 반복 곱셈을 포함하므로, 결과에 포함된 오차가 더 커집니다.#include int main(void) { double s; double p; cin >> s >> p; cout.precision(20); cout 그래서 해당 문제에서는 고정 소수점..
2024.11.17 -
9414 c++ - 프로그래밍 대회 전용 부지
간단한 정렬 문제이다. (그리디)pow의 헤더를 포함 안해줘서 컴파일 에러가 났다. cmath를 이용하면 된다.두번째 틀린 이유는 sum의 오버플로우 이슈 때문이었다.long long으로 고쳐서 제출하니 통과 되었다.https://www.acmicpc.net/problem/9414#include #include #include #include #define INIT_MONEY 5 * 1000000#define FASTIO ios::sync_with_stdio(0), cin.tie(0)using namespace std;int main() { FASTIO; int t; cin >> t; for (int i = 0; i p; while (1) { cin >> m; if (m ..
2024.11.16 -
7453 c++ - 합이 0인 네 정수
이분탐색 문제입니다. 처음엔 해시로 접근했었습니다. 더보기해시 적용첫 풀이. -> 시간초과map을 사용해서 AB의 합을 먼저 구하고, 이후 CD의 합으로 unordered_map으로 접근 O(1) -> N^2 + N^2의 시간으로 풀 수 있을 거라 판단 최악의 경우 4000^2 + 4000^2으로 32,000,000번의 연산으로 충분히 풀 수 있을 거라 생각했습니다.시간초과의 이유 : 캐시히트의 시간까지 고려가 되어야함.더보기#include #include #include #define FASTIO ios::sync_with_stdio(0), cin.tie(0)using namespace std;int main() { FASTIO; int n; cin >> n; vector A(n), B(n), ..
2024.11.15 -
1655 c++ - 가운데를 말해요
우선순위 큐를 사용하는 문제.처음에는 우선순위 큐, vector의 정렬 중간값을 사용해서 풀이를 진행했는데, 시간초과가 났습니다.그래서 우선순위 큐 두개를 사용하여 최대힙, 최소힙을 사용하여 풀었습니다.더보기 더보기vector v; for (int i = 0; i > t; v.push_back(t); sort(v.begin(), v.end(), less()); cout 더보기#include #include #define FASTIO ios::sync_with_stdio(0), cin.tie(0)using namespace std;int n;int main() { FASTIO; cin >> n; priority_queue, greater> pq; queue q; for (int ..
2024.11.14