본문 바로가기

전체 글

22880 봉화대 이전에 잘랐던 내용 포함해서 계산해야 하기 때문에 DP를 사용해서 풀었다. #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 printVector(v.. 더보기
UCPC 2021 본선 후기 허.. 힘들었다.. 어렵다... 우리 팀은 5문제를 풀었다. 시작하고 D랑 H번 풀고 -> A번 풀고 -> J번 -> E번 -> F번 고민하다가 종료,, 쉬운 난이도 문제를 작년보다 편하게 푼 것 같아서 본인은 만족합니다 ㅎㅎ,, 혹시나 제출했다가 실수할까봐 최대한 꼼꼼히 확인하고 풀이가 딱 나왔을 때 코드 짰다. 한번에 통과했다 야호. 이번에도 작년처럼 5솔을 했다. 36등 야호! 세상에는 정말 잘하는 사람이 많구나를 느꼈다. 뭔가 실력차이가 나니 각자 문제를 푸는 것보다 서포트를 하는게 효율이 더 좋을 것 같았다. (다시 ucpc에 참가는 못하지만) 문제 풀 때 같이 문제 이해하고 브루드포스로 반례 빠르게 찾는 거 짜고? 문제 생겼을 때 말리지 않도록 도와주는 것도 괜찮을 것 같음. 암튼 끝났고 후련.. 더보기
1907 탄소 화합물 아 처음에 조금 실수 한 것들이 있었다. 무조건 계수가 있는 줄 알았는데 아니었음. 그리고 문자열이라 파이썬으로 풀었는데 그래서 더 애먹었다. 낯설어 낯설다 구현은 처음에 C, H, O 개수 센 다음 1, 1, 1, ... 10, 10, 10까지 모든 경우 확인하면서 맞는 걸 확인해주면 된다. 파이썬으로 구현하면서 새로 배운 거 - int a[10] 이런 식으로 배열을 처음부터 할당받지 못하는 것 같다. [0 for i in range(10)] 이거나 아님 [0] * 3 이런 방법으로 해줘야 한다. - 전역변수는 함수 안에서 읽기는 되지만 쓰기는 안 된다. global로 미리 선언해줘야 쓰기도 가능하다. 헷갈리는구만 checknum = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] select.. 더보기
1783 병든 나이트 모든 경우를 다 구했다.. #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; int main() { i64 n, m; scanf("%lld %lld", &n,.. 더보기
14881 물통 문제 음.. 최대공약수 같은데..? 왜인지는 증명을 못하겠고..? 때려맞췄는데 맞았고...? 댓글로 증명해주신 분이 계셨습니다! 야호 a,b,c가 정수일 때 ax+by=c인 정수 x, y가 존재할 필요충분조건은 c % gcd(a,b)==0가 돼서 최대공약수를 구하면 된다.... 오..... 이걸 베주 항등식이라고 하는데... a, b가 정수이고 d가 a, b의 최대공약수중 하나라고 하면 ma + mb = d가 성립한다.... 오.. 수학.. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first .. 더보기
1676 팩토리얼 0의 개수 처음에 그냥 보고 어 N이 500이니 그대로 풀면 되지 않을까? 싶었는데 펙토리얼이었다. 어마어마한 길이의 문자열이 될 것이다. 흠 0의 개수를 구해야 하니 2랑 5랑 10을 적절히 잘 생각해주면 될 것 같다. 그런데 10도 생각해보면 2와 5라 이 두 숫자만 생각하면 될 것 같다. 아 아 그런데 또 2와 5는 무조건 2가 많기 때문에 5의 개수로만 확인해주면 된다. 이거 옛날에 북님한테서 들은 것 같은데..? 아주 옛날의 가르침이 갑자기 떠오른다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define x.. 더보기
1002 터렛 ㅋㅋㅋㅋㅋㅋㅠ 미치겠다 저기 사람 있었구나 저걸 누가 아냐고ㅋㅋㅋㅋㅋㅋㅋ 터렛 안에 사람 있어요 (???????) 아 자꾸 피식하게 됨 문제 파악해보니 두 원이 주어졌을 때 원의 교점을 구하는 문제였다. 허어어... 퇴근하고 운동하고 플젝하고 푸는거라 개피곤하다... 내일 아침에 풀겠음 --- 아침에 풀었음! 처음에 착각해서 무한인 경우가 이런 건 줄 알았다. 그런데 예시가 0이어서 고민하다가 두 개가 똑같은 원인 경우 무한이라는 걸 알았다. #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x).. 더보기
1015 수열 정렬 아 뭔가 잘못 이해한 듯? 출근시간 다와가서 내일 오전에 다시 보겠음 #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; int main() { int n; scanf("%d".. 더보기