ps
-
[PS] 백준 1748번: 수 이어 쓰기1문제해결 2023. 10. 25. 23:30
수 이어 쓰기1 121의 경우 한자리수가 9개 두자리수가 90개 세자리수가 121 - 100 + 1개 있을거란거 이용해서 계산해낸다. #include using namespace std; int main() { int N; cin >> N; long long ans = 0; for(int i = 0; i < int(log10(N)); i++) ans += (i + 1) * 9 * pow(10, i); ans += (int(log10(N)) + 1) * (N - pow(10, int(log10(N))) + 1); cout
-
[PS] 백준 23291번: 어항 정리문제해결 2023. 10. 25. 17:30
어항 정리 하라는 대로만 하니깐 그냥 풀렸는데 하라는게 너무 많다.... ㅡ,ㅡ 큐빙에 이어서 솔브닥에 등록된 내 두번째 플레 문제이다. 다른 유형이었으면 플레 손도 못댔을텐데, 역시 날 도와주는건 구현 유형밖에 없다. #include #define FOR(i, n) for(int i = 0; i < int(n); i++) #define FORL(e, s) for(auto &e : s) #define endl "\n" #define vi vector using namespace std; int N, K; int MAP[100][100]; int dr[4] = { -1, +0, +1, +0 }; int dc[4] = { +0, +1, +0, -1 }; #define iib(r, c) (0 0) { MAP[..
-
[PS] 백준 2448번: 별 찍기 - 11문제해결 2023. 10. 25. 17:28
별 찍기 - 11 log2값이 0일때 삼각형을 추가하고, 아닐 경우 위가운데, 왼쪽아래, 오른쪽아래 이 세곳으로 재귀적으로 함수를 부르면 끝! 삼성 구현 문제들 풀다보니 이정도 구현은 너무 쉽다! 삼성 고마워! 어제 풀었던 선물할인 문제가 훨씬 어려웠어.. #include #define FOR(i, n) for(int i = 0; i < int(n); i++) #define FORL(e, s) for(auto &e : s) #define endl "\n" using namespace std; int N; char MAP[4000][8000]; void print_map() { FOR(i, N) { FOR(j, 2 * N) cout N; draw(0, N - 1, log2(N / 3)); print_map..
-
[PS] 백준 25947번: 선물할인문제해결 2023. 10. 25. 17:27
선물할인 실버라서 쉬울줄 알았는데 너무 어려웠다. 최종적으로 a개를 할인받아 총 n개를 예산 b에 딱 맞게 샀다면, n개 중 할인받은 a개들이 가장 비싼 놈들이라는걸 생각을 못해냈다. 실버 문제들 많이 풀어봐야겠다... #include #define FOR(i, n) for(int i = 0; i < int(n); i++) #define FORL(e, s) for(auto &e : s) #define endl "\n" #define vi vector using namespace std; int N, budgets, coupons; struct Price { int p = 0; bool is_c = false; void set_c(bool b = true) { is_c = b; } int get_p() {..
-
[PS] 백준 10830번: 행렬 제곱문제해결 2023. 10. 25. 17:27
행렬 제곱 천억제곱을 하는데 어떻게 숫자를 유지해야하는지 감이 안잡혔었는데, 어차피 찾는건 마지막 세자리 숫자니 계속 모듈러 1000 연산을 하면 되는 문제였다. 알고리즘 분류를 읽어보니 분할 정복을 써야 하는 문제인 듯 했지만 미리 곱해두고 나중에 찾아서 곱하는 방식으로 풀었는데 AC 되었다. 메모리 제한이 256MB라 도대체 메모리 초과가 날 이유가 없는데, 자꾸 메모리 초과가 떠서 디버깅하는데에 한참 걸렸다. 문제는 반복문에서 i를 long long으로 안해둬서 i가 음수가 되어, for(long long i = 1; i < B; i *= 2) { vvi.push_back(move(mult(vvi.back(), vvi.back()))); } 이 부분에서 무한대로 push_back 하고 있었더라.....
-
[PS] 백준 9663번: N-Queen문제해결 2023. 10. 25. 17:26
N-Queen 삼성 코테가 끝났으니 구현 말고 다른 유형도 풀어보고자 솔브닥 Class 4부터 뽀개보기로 했다. 이름이 행렬 제곱인 문제가 있길래 이 문제부터 해볼까 하다가, 살짝 감이 안잡혀서 일단 목록중에 보이던 N-Queen부터 처리했다... 내일은 저거 해버려야지... 근데 이게 시간이 1.8초밖에 안걸린다니 서버가 얼마나 좋은걸까? #include using namespace std; #define pii pair #define endl "\n" #define FOR(i, N) for (int i = 0; i < int(N); i++) #define FORL(e, S) for (auto& e : S) #define iib(r, c) (0 = N) { ans += 1; return; } int n..
-
[PS] 코드트리: 왕실의 기사 대결문제해결 2023. 10. 25. 17:25
왕실의 기사 대결 10월 15일 오전, 고사장에 가서 푼 문제이다. 기출 중 메이즈러너 이 문제가 가장 최신 기출이었는데, 이것 보다는 풀만해서 다행이었다. 그래도 코드트리가 메이즈러너랑 왕실의 기사 대결가 같은 골드3 티어라고 해주니 기분이 좋다. #include #include using namespace std; #define pii pair #define endl "\n" #define FOR(i, N) for (int i = 0; i h = h, this->w = w, this->k = k; } bool can_push(int dir, ..
-
[PS] 코드트리: 싸움땅문제해결 2023. 10. 25. 17:24
싸움땅 memset(PMAP, -1, sizeof(int) * 20 * 20); 이걸 memset(PMAP, -1, 20 * 20); 이렇게 써버려서 자꾸 오답처리됐다. 애먼 알고리즘만 자꾸 검토하다가 시간을 얼마나 날렸는지... #include using namespace std; #define pii pair #define endl "\n" #define FOR(i, N) for (int i = 0; i > M >> K; FOR(i, N) FOR(j, N) { int atk; cin >> atk; GMAP[i][j].push(atk); } memset(PMAP, -1, sizeof(int) * 20 * 20); FOR(i, M) {..