본문 바로가기

백준

23083 꿀벌 승연이 신난다 노타빌리티에 육각 노트 써봤다 예전에 정사각형 개수 구하는 문제랑 비슷했다. 재귀로 n, m부터 한 칸씩 돌아가면서 구했다. 1, 1부터 n, m까지 경로를 구해야 하므로, 1, 1 위치만 1로 지정해서 더하게끔 했다. 참고로 y가 짝수냐 홀수냐 따라서 움직일 수 있는 좌표가 달라진다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(),.. 더보기
1242 소풍 아 정말 너무너무 어렵다. 처음에 나이브하게 풀었더니 시간초과가 났다. (예상했다) 시간을 줄이기 위해 삭제 할 때마다 상대적인 좌표를 사용해서 풀려고 했다. 그런데 틀렸다..... 뭔가 생각이 꼬여서 틀린 것 같다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 1000000007 using na.. 더보기
13019 A를 B로 - 순서가 올바르지 않으면 무조건 옮겨야 한다 - 어떤 것들을 옮길지가 중요하지 어떤 순서로 옮겨야 하는지는 중요하지 않다 - 그래서 뒤에서부터 올바르지 않은 알파벳들의 개수를 세어주었다 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 987654321 using namespace std; using i64 = lo.. 더보기
12915 대회 개최 가장 간단한 해결책을 생각해본다면 x와 y를 모두 다 구하는 건데 그럼 시간 복잡도가 초과된다. 10^5 * 10^5 ... 이제 y의 시간복잡도를 줄이도록 노력해야 하는데... b와 c가 같아지고, 최대한 큰 값이 되게 하는 y를 구하면된다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 987654321 usi.. 더보기
6503번 망가진 키보드 푸는 중 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAXV 987654321 using namespace std; using i64 = long long int; using ii = pair; using iis = pair; using ii64 = pair; using iii = tuple; int _arr[400]; int* arr = _a.. 더보기
14217 그래프 탐색 음 수도와의 거리를 구해야 하고, 수도는 고정되어 있어서 수도 기준으로 bfs를 돌리면 되겠다 싶었다. bfs는 최대 500번 방문하고, q도 500번 걸리고, vector erase도 최대 500정도 걸려서 잘하면 통과할 것 같았다. (그런데 그럼 O(n^3) 정도일텐데 통과한게 신기하다) 풀이는 간단하다. 간선이 업데이트 될때마다 bfs를 돌린다.. 그리고 높이 값도 같이 계산한 다음 높이를 출력한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first.. 더보기
2992 크면서 작은 수 여행중이라 노트랑 펜이 없어서 어려운 문제는 못 풀고 쉬운 백트레킹 문제로 넘어갔다. 백트레킹 너무 안 풀어서 낯설고 두렵다.. 그래도 문제집 풀면서 적응해야지 싶었는데 백트레킹으로 안 풀었다ㅎ 딱 보니 next_permutation 사용하면 끝날 문제라 간단히 넘어갔다. 하지만 만약 백트레킹을 사용한다면? 모르겠다. 다음 문제에서 마주하겠다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (.. 더보기
11995 Fenced In (Gold) [미완] ㅠㅜㅠㅜㅠㅜㅜㅠㅜㅠ 나중에 다시 봄 하....................................... #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() using namespace std; using i64 = long long int; using ii = pair; using iis = pair; using ii64 = pair; using iii.. 더보기