본문 바로가기

전체 글

16114 화살표 연산자 계속 틀려서 직접 코드까지 짜봤는데 그래도 못 찾았다.. 결국 다른 분 도움 받아서 해결했다. 예외 케이스 처리 1. n이 1이고 x가 양수인 경우 -> 마이너스로 생각한다 (-3) 2. n이 1이고 z가 음수인 경우 -> - (-3)으로 생각해 양수가 된다. 이 두 케이스를 빼먹어서 틀렸다. #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 .. 더보기
16565 N포커 주간 연습때 무조건 골드 두 문제만 해치운다고 마음먹고 고민했는데 엄... 음..... 아무리해도 못 풀겠다. 그래서 머리 굴리다가 결국 다른 사람 풀이를 참고했다. 으! 수학이잖아 포함 배제의 원리를 쓴다고 한다. 찾아보니 전부 더하고 교집합 빼고 더하고 하는 그거인 것 같다. 그래서 한 종류를 4가지 모은 경우 - 두 종류를 4가지 모은 경우 + 3종류 - 4종류 ... 이렇게 푼다. n개를 뽑아 i 종류를 4가지 모은 경우의 수는 조합으로 구할 수 있다. 13종류 중 i개를 골라야 하니 13Ci 나머지 카드를 뽑는 경우는 4i개를 모아야 하니 나머지 n - 4i개는 아무렇게나 들어가도 된다. 52 - 4i C n - 4i와 같다. 그래서 경우의 수는 13Ci * 52 - 4i C n - 4i #in.. 더보기
12887 경로 게임 엇 최소 경로 구한 다음, 전체 칸 - (검은 칸 + 경로) 빼면 될 것 같았다. 최소 경로는 무조건 직진, 검은색 만나면 옆으로 비켜선 다음 직진하게 구현했다. 출발 위치가 두 가지가 있으니깐 두 가지 모든 경우 구해서 최소인 거 구했다. 쉬웠음 ~.~ #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 .. 더보기
제 3회 소프트콘 소프트콘 등 긁어주기 대회~ 운빨로 아이스크림 걸렸으면 좋겠다. 대회 시작 처음에 문제 다 훑어봤다. 훑어보다가 F번 문제를 이해 못해서 한 30분 들여다보고 있었다. 처음에는 전부 print 찍으면 되는 거 아닌가? 생각했는데 명령어의 길이가 더 짧구나.. 깨달아서 고민했다. 근데도 모르겠다. 반복문을 한번만 그것도 마지막에 쓸 수 있는데 어떻게 풀 수 있지?? 하다가 이제 스코어보드 보고 다른 사람들 많이 푼 문제부터 풀었다. 대략 한 시간 A번부터 봤다. 그냥 제곱으로 건너면서 횟수 세면 되는거 아닌가? 풀었는데 틀렸다. 짝수만 통과했다. 엥 뭐지?? 왜지?? 고민하다가 나중에 돌아오기로 하고 넘어갔다. 다음으로 D번을 많이 푼 것 같길래 D번으로 넘어갔다. 헝... 문제 이해를 잘 못했다. 변화가.. 더보기
11558 The Game of Death 이거 전에 풀어서 맞춘 것 같은데??? 왜 또 푸는 것 같지 #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 = tuple; void solve() { int n; scan.. 더보기
10158 개미 처음에는 그냥 그대로 구현하면 되지 않을까? 싶었는데 t가 엄청 큰 수라 터지고. 그 다음은 반복되는 게 있을테니 그걸 구해볼까 싶었는데 이것도 4만 * 4만이라 터진다.. 결국 고민하다가 다른 사람 풀이를 찾아봤다. 와.... x축과 y축을 나눠서 생각하는구나. 신기하다. #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 .. 더보기
3048 개미 으음 그대로 구현했다 하나의 배열로 입력 받아서 swap하고 등등 #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; using ii = pair; using ii64 = pair; int main() { int n, m; scanf("%d %d", &n, &m); vector v(n + m); for (int i = 0; i < n; i++) { scanf(" %1c", &v[i].xx);.. 더보기
2960 에라토스테네스의 체 그대로 구현하는 문제였다 처음에 착각하고 소수 제외했는데 그거 포함해서 지워지는 거였다 #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; using ii = pair; using ii64 = pair; bool check[1005]; int main() { int n, k; scanf("%d %d", &n, &k); int cnt = 0; for (int i = 2; i 더보기