문제 풀이
개미가 부딪혔을 경우, 개미의 방향이 반대가 된다는 조건에 의해 개미를 각각으로 생각하여 풀이할 수도 있습니다. 그러나 1차원의 경우 부딪혀서 반대가 되어도 결국 교차한 것과 같게 되므로 단순히 개미의 진행방향만 고려하여 문제를 풀이하면 쉽게 문제를 풀 수 있습니다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int l, n, x;
cin >> l >> n;
int mn = -1, mx = -1;
while (n--) {
cin >> x;
mn = max(mn, min(x, l-x));
mx = max(mx, max(x, l-x));
}
cout << mn << ' ' << mx << '\n';
}
return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
|
제출 결과
문제 출처
https://www.acmicpc.net/problem/4307
4307번: 개미
문제 개미 여러 마리가 길이가 lcm인 막대 위에 있다. 각 개미의 이동 속도는 모두 일정하며, 1cm/s이다. 개미가 막대의 마지막까지 걸어간다면, 개미는 그 즉시 떨어지게 된다. 또, 두 개미가 만나게 된다면, 방향을 반대로 바꾸어 걸어가게 된다. 가장 처음에 막대 상에서 개미의 위치를 알고 있다. 하지만, 개미가 어느 방향으로 움직이는 지는 알 수가 없다. 이때, 모든 개미가 땅으로 떨어질 때까지 가능한 시간 중 가장 빠른 시간과 느린 시간을 구하는
www.acmicpc.net
'algorithm codes > baekjoon online judge' 카테고리의 다른 글
10866번: 덱 (백준 온라인 저지, C++) (0) | 2019.04.20 |
---|---|
2902번: KMP는 왜 KMP일까? (백준 온라인 저지, C++) (0) | 2019.04.20 |
1874번: 스택 수열 (0) | 2019.04.16 |
10828번: 스택 (백준 온라인 저지, C++) (0) | 2019.04.15 |
4948번: 베르트랑 공준 (0) | 2019.04.15 |