(백준 알고리즘 문제풀이) 4307번 개미
by 줌코딩
문제
어떻게 접근할 것인가?
- 이거는 아이디어가 중요하다.
- 개미가 부딪히고 방향을 전환할 것이므로 사실상 한쪽 끝에서 제일 먼 개미가 제일 늦게 나올 것이다.
- 그래서 끝에서 가까운 개미가 먼저 나오고 가까운 끝 말고 반대에서 가장 먼 개미가 제일 늦게 나온다.
코드
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int test_num, l, n;
cin >> test_num;
for(int i = 0; i < test_num; i++){
cin >> l >> n;
int mid = l / 2;
int shortest = 0, longest = 0, temp = 0;
for(int i = 0; i < n; i++){
cin >> temp;
if(temp > mid) {
if(shortest < l - temp) shortest = l - temp;
if(longest < temp) longest = temp;
}
else{
if(shortest < temp) shortest = temp;
if(longest < l - temp) longest = l - temp;
}
}
cout << shortest << " " << longest << endl;
}
}
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Subscribe via RSS