본문 바로가기

prompt

[토요라운드] B. 2루수 이름이 뭐야 (17350) 이 문제도 간단했다 처음에 문제를 착각해서 문자열 중에 anj라는 단어가 있으면 뭐야;를 출력하는 줄 알았다. 알고보니 문자열 자체가 anj면 출력하는 거였음 #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #pragma warning(disable:4996) using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; int main() { int n; scanf("%d", &n);.. 더보기
[토요라운드] A. 운동장 한 바퀴(16486) 직사각형 가로 * 2 + 2 * 파이 * r #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #pragma warning(disable:4996) using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; int main() { double d1, d2; scanf("%lf %lf", &d1, &d2); printf("%.6lf\n", d1 * 2 + 2 * 3.141592 * d2.. 더보기
[토요라운드] 20/09/05 후기 첫 토요라운드! 5분 전에 시작하려고 노트북을 켰는데 꺼져버려서 헐레벌떡 아빠 노트북 들고 세팅라느라 좀 늦게 시작했다. 내 노트북이 아니어서 solved.ac 없는 상태로 풀었다. (그래서 모든 문제를 겁먹고 풀었음) A - C까지 풀었을 때는 쉬워서 그냥 넘겼는데 D에서 시간초과가 났고 E는 푸는데 좀 시간 걸렸고 F는 10분 남았을 때 풀기 시작해서 못 푼다는 걸 직감했다. 근데 쉽긴 쉬워서 2-3번 풀다가 div1 가서 고통받을 예정 더보기
[Special Round 2] C. 작업 일지 저번 주에 비슷한 문제를 푼 적 있어서 쉽게 풀 줄 알았는데 어려웠다ㅠ subtask 다 맞기를 생각했는데 나중에는 포기하고 30점만 맞추려고 호다닥 코드 짰다. 이 문제의 어려운 점은 시작구간과 끝나는 구간의 값이 1, 2, 3, 4 이렇게 변한다는 점인데, 처음에는 구간에 해당하는 개수를 구한 다음 그 개수만큼 계속 더해나갈 생각이었다. 하지만 이러면 끝나는 지점을 알 수 없어서 결국 모든 점을 다 확인하는 방식으로 구현했다. #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second using namespace std; using i64.. 더보기
[Special Round 2] A. 장난감 분류 헉..! 그룹을 두 개로 나누는데 가장 작은 것과 나머지를 and한 게 같아야 한다고...? 그룹을 어떻게 나눠야 할까 고민하다가 도저히 못 풀 것 같아서 패스했다. 이걸 조건에 맞는 그룹을 찾는게 아니라 가장 작은 거를 찾고 이 숫자와 and 한 게 같은 숫자들을 모은다. 나머지 숫자를 하나의 그룹으로 묶을 수 있다면 yes고 아니면 no를 출력하면 된다. 오... 워... 어차피 모든 숫자는 그룹에 포함되어 있어야 하니깐 가장 작은 수도 그룹에 있을 것이고 그럼 그 그룹을 기준으로 판단하면 되는구나. #include #include #include #include #include #include #include #include #include #include #include #include #incl.. 더보기
[코드포스 Round 80] C. Little Dima and Equation x의 범위는 1부터 10^9사이의 값이라 확인하기 어렵지만 s(x)값은 1부터 81까지의 수밖에 나오지 않는다. s(x)값을 전부 확인하면서 이 때의 x값을 다시 만들어보고 x와 b x s(x)^a + c의 값이 일치하는 지 확인한다. 대회 중 이 문제를 많이 틀렸고 원인을 못 찾았는데 알고보니 최댓값인 10^9를 10e^9라 표현해서 문제였다. e^9가 10^9과 같은데 여기에 10을 곱해서 10^10이 되었다. 앞으로 주의해서 풀어봐야겠다. #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define MAX 1e9 using .. 더보기
[코드포스 Round 80] B. Buying Shovels package를 하나만 고를 수 있으므로 n의 약수 package를 선택해야 하고 최소 개수 여야 하므로 약수 중 package값이 가장 큰 걸 선택해야 한다. #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; void solve() { i64 n, k; scanf("%lld %lld", &n, &k); int maxv = 1; for (int i = 1; i*i maxv && ((n/i) m.. 더보기
[코드포스 Round 80] A. Board Moves A번 문제 이해를 못해가지고 틀렸다. 칸에 있는 걸 움직여서 하나의 칸에 몰아주는 건 알겠는데 난 이동횟수만 계산해서 n^2-1인 줄 알았음. 알고보니 칸이 다른 칸으로 가는 최종 목적지와의 거리를 구해야 했다. 최소 횟수는 중간에 값을 모으면 구할 수 있다. 중간 상자를 기준으로 한 칸 떨어져 있는 상자의 이동횟수 두 칸 떨어져 있는 상자의 개수.. 이렇게 개수를 계산해서 이동 횟수를 더해주면 답이 나온다. #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #def.. 더보기