728x90
반응형
문제 링크
11034번: 캥거루 세마리2
여러개의 테스트 케이스로 이루어져 있으며, 세 캥거루의 초기 위치 A, B, C가 주어진다. (0 < A < B < C < 100)
www.acmicpc.net
문제 접근
// 접근: 최대,최소 => 그리디?
문제 풀이
// 풀이: 한 캥거루의 최대 이동 횟수는 두 캥거루 사이의 거리-1 과 같다
주의
// 주의: 테스트 케이스의 갯수가 지정이 안되어있는데 이를 scanf("%d", &kang[0]) != EOF 라 해야함,scanf자체를 비교해야 함
개념
// 개념: EOF(end of file) 로 -1 값을 가진다
소스코드
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio> // c 문법 헤더파일
#include<string> // c++ 문자열 클래스
#include<vector> // 동적배열 라이브러리
#include<stack>
#include<queue>
#include<algorithm> // sort와 unique 사용
#include<cmath> // 제곱이나 루트함수 사용
#include<cstring> // memset 함수
#include <set>
// [백준 11034 c++] 캥거루 세마리2
// 접근: 최대,최소 => 그리디?
// 풀이: 한 캥거루의 최대 이동 횟수는 두 캥거루 사이의 거리-1 과 같다
// 주의: 테스트 케이스의 갯수가 지정이 안되어있는데 이를 scanf("%d", &kang[0]) != EOF 라 해야함,scanf자체를 비교해야 함
// 개념: EOF(end of file) 로 -1 값을 가진다
// 개념 :
using namespace std; // cin,cout 편하게 사용 라이브러리
int n;
int main()
{
// IO 속도 향상
//ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int dis[2];
int kang[3];
while (1)
{
//cin >> kang[0];
if (scanf("%d", &kang[0]) != EOF)
{
for (int i = 1; i < 3; i++)
{
cin >> kang[i];
}
}
else
{
return 0;
}
sort(kang, kang + 3);
dis[0] = kang[1] - kang[0];
dis[1] = kang[2] - kang[1];
sort(dis, dis + 2);
printf("%d ", dis[1] - 1);
//cout << dis[1]-1 << " ";
}
return 0;
}
반응형
'Algorithm_BOJ(백준) > 그리디(Greedy Algorithm)' 카테고리의 다른 글
[백준 11399 Python파이썬] ATM (0) | 2021.02.01 |
---|---|
[백준 11399 c++] ATM (0) | 2021.02.01 |
[백준 11047 Python파이썬] 동전 0 (0) | 2021.02.01 |
[백준 11047 c++] 동전 0 (0) | 2021.02.01 |
[백준 5585 c++] 거스름돈 (0) | 2021.01.31 |