목록PS (101)
The Way
거의 2달만에 푸는 백준이다. 컴퓨터 환경 세팅을 오랫동안 하고(...) 간단히 워밍업 느낌으로 안 푼 문제 중 쉬운 문제들 몇 개만 풀어보았다. 백준 14502번: 연구소처음에 보고 당황했는데, 다행히 n이 작았다. 모든 조합을 다 해보면서 DFS/BFS를 돌리면 간단하게 풀 수 있다.만약 n이 크다면? 유량으로 풀어야 할 것 같은데 정확히 모르겠다. #include #include using namespace std; typedef pair ii; int n, m, cnt, ans; int map[8][8], temp[8][8]; int loc[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; vector two; void dfs(int i, int j) { if (i <..
올해의 사실상 마지막 프로그래밍 대회가 될 ACM-ICPC에 참가하였다.놀랍게도 우리 학교(DGIST)에서는 첫 출전이었다. 때문에 등록할 때부터 학교를 추가하는 데에 굉장히 고생을 많이 했다.다행히 어찌어찌 예선을 뚫고 본선에 진출하였다. 팀원들과 나름 준비를 하긴 했지만, 그리 열심히 하지도 않았고 객관적으로 보아도 우리 팀은 실력이 많이 부족했다.팀원들끼리도 그냥 참가에 의의를 두기로 하고, 즐겜하기로 마음먹고 서울로 올라왔다. 11/2(금)이번 ACM-ICPC가 열리는 곳은 서울의 세종대. 지금까지 대전에서 진행되었는데 올해부터는 서울이다.등록 때문에 11/2(금) 아침에 올라갔다. 세종대의 시계탑이 참 예뻤다. 마치 버클리에 있는 시계탑을 보는 것 같았다.1시에 등록을 마치고 나니 3시까지 할 ..
10/18~10/19 AtCoder 연습/*수업시간에 몰래 풀어서 시간을 안쟀다.약간의 실력 차이가 있다 보니 스터디가 실력 향상에 도움이 그다지 되는 것 같지 않다..그래도 많은 문제를 접할 수 있다는 점은 좋다.*/ AtCoder Regular Contest 081 C - Make a Rectangle큰 수부터 2개/4개 이상 있는지 확인해주면 된다. D - Coloring Dominoesstring을 한 줄만 읽어도 된다.맨 처음에 오는 세로 타일은 3가지, 가로 타일은 6가지 경우가 있으며그 이후는 직전것에 따라 달라지는데,가로->가로: x3가로->세로: x1세로->가로: x2세로->세로: x2를 해주면 된다. 무작정 곱하기가 성립할 수 있는 이유는 색깔에 따른 특수성이 없기 때문. E - Don..
10/15~10/16 Atcoder 연습 /* 원래 하루에 5시간씩 PS 연습을 하려고 했는데.. 장난이 아니고 말 그대로 시간이 없다. 자는 시간을 빼면 하루종일 뭔가 일을 하고 있는데, 해야 할 일의 큐가 점점 쌓인다... 수강 과목이 너무 많은가 ㅠㅠ 친구들과 Atcoder regular contest를 한 세트씩 풀어가려고 했는데, 이마저도 시간이 없어서 제대로 준비를 하지 못했다. 그래도 모임을 하니 나름의 소득이 있다. 시간이 없긴 하지만 계속 짬을 내서 공부를 해야겠다. */ AtCoder Regular Contest 095 C – Many Medians (9:42) 간단한 문제. 모든 원소에 대해 그 원소를 뺐을 때 중간값을 출력해주면 된다. 원소 갯수가 짝수라서 안그래도 쉬운 문제가 더 ..
문제 코드 * div1과 div2는 문제를 공유하므로 혹시 없는 문제는 같은 Round의 다른 division을 찾아보시기 바랍니다 총평: 맞왜틀의 향연... 이건 순전히 실력부족이다. A. Polycarp's Pockets최대 횟수로 출현하는 숫자를 찾는 문제. B. Binary String Constructing0 a개, 1 b개로 구성된 string을 만들어야되는데, 숫자가 바뀌는 경우가 정확히 x번인 것.많은 답이 존재할 수 있지만, 이런 문제의 경우 극단적인 케이스를 만드는 것이 경험상 편합니다. 총 x번 바뀔 때, 마지막 바뀌는 것만 빼고 숫자 하나씩 쓰면서 바꿔주다가,맨 마지막 바뀔 때는 남은 숫자를 몽땅 다 사용하는 것도 간단한 답이 될 수 있습니다. 예를 들어서 a = 8, b = 7, ..
문제 코드 * div1과 div2는 문제를 공유하므로 혹시 없는 문제는 같은 Round의 다른 division을 찾아보시기 바랍니다 A. Infinity Gauntlet생략. 저는 map 만들어놓고 하나씩 지웠습니다. B. High School: Become Human예상 외의 킬러 문제였습니다. 저를 포함한 많은 분들이 실수 다루는 데에 익숙하지 않다는 것을 잘 알 수 있었습니다. $x^y$와 $y^x$을 직접 계산하려는 분들은 없을것이고, 보통 생각하는게 "양변에 로그를 씌우자!" 일 것입니다. double x, y; cin >> x >> y; double t1 = y * log(x); double t2 = x * log(y); if (t1 > t2) cout > y; double t1 = y * l..
* 코드는 맨 아래에 있습니다 쉬운 문제는 거의 다 푼 것 같다. 이제 난이도 있는 문제들이 슬슬 나올.. 것 같다. # 백준 1406번: 트리의 지름# 백준 1967번: 트리의 지름트리의 지름을 구하는 좋은 알고리즘이 있다.http://blog.myungwoo.kr/112여기에 잘 설명되어 있음 # 백준 11650번: 좌표 정렬하기# 백준 11651번: 좌표 정렬하기 2pair은 문제의 조건대로 비교 연산자가 잘 정의되어 있으므로 사용하면 된다11651번의 경우 연산자 정의를 새로 하기보단 순서를 바꾸어주면 된다. # 백준 10814번: 나이순 정렬stable_sort 문제이다.그런데 한쪽이 string이라 약간 번거로운 면도 있고, swap시 시간도 오래 걸릴 것 같아서string은 따로 저장하고, ..
* 코드는 맨 아래에 있습니다 울 학교 학생분께 ACM-ICPC 같이 나가자고 연락이 왔다나랑 같은 휴학생이고 되게 열심히하실 것 같고 성격도 완전 천사같다앞으로 더 열심히 해야겠다 # 백준 10799번: 쇠막대기간단한 스택 문제. 스택에 막대 n개가 쌓여 있을 때 레이저가 자르면 n개의 조각이 더 생긴다. # 백준 1406번: 에디터특이하게 list를 사용하는 문제이다.list에서 insert와 erase할 때 iterator 위치가 약간 헷갈릴 수 있으니 주의 # 백준 10820번: 문자열 분석맨 마지막줄이 엔터가 있는지 없는지 참 아리까리하다..이것 때문에 틀림 ㅠ # 백준 11655번: ROT13뭐... 엄청 많이 접해봤을법한 카이사르 암호이다.오버플로우가 일어날 수 있으니 편하게 unsigned..
* 코드는 맨 아래에 있습니다 문제야 다 덤벼라 이얍 # 백준 7576번: 토마토BFS 문제 # 백준 2309번: 일곱 난쟁이재귀를 써야 예쁜 코드지만, 사실 7개정도면 노가다 코드가 코딩이나 성능 면에서 더 빠르다. # 백준 11403번: 경로 찾기플로이드-와샬 알고리즘이다. 알고리즘 자체는 되게 간단하기는 한데 아직 마음깊이 이해가 되지 않은 기분이다. 활용이 나오면 못 풀 것 같다. # 백준 13458번: 시험 감독디버그할 때 오류나서 배열 크기를 살짝 줄이는데, 다시 늘리는 걸 깜빡해서 자꾸 틀린다.진짜 실수하지 말자 이런 기본적인건... # 백준 1652번: 누울 자리를 찾아라구현 문제.문제가 약간 표현이 모호하다고 느낄 수도 있는데, 2칸 이상 빈칸이 이어지면 2개든 3개든 100개든 (.....
* 코드는 맨 아래에 있습니다 갑자기 머리가 나빠진 것 같다.. : 아래 5문제이다. 너무 쉬워서 당황했다.. 초심자용인가 # 백준 15733번: 나는 누구인가생략 # 백준 15734번: 명장 남정훈하.. 쪽팔리게 틀린 첫 사람이 되었다. 양발잡이끼리도 남겨줄 수 있다는 것에 주의ㅠㅠ # 백준 15739번: 매직스퀘어마방진 문제. 가로, 세로, 대각선을 체크하고 숫자가 한번씩 쓰였는지도 체크해주어야 한다.사족으로 첫 틀왜맞의 경험이었다. 실수로 세로 체크를 안했는데도 맞았다는... # 백준 15735번: 삼각약간 까다로운 문제이다.나 같은 경우 제대로 된 방향과 뒤집힌 삼각형을 따로 세주었는데,갯수는 정방향의 경우(1 + ... + n) + ... + (1 + 2) + (1)역방향의 경우(1 + ... ..