> Quest.There are two kangaroos on an x-axis ready to jump in the positive direction (i.e, toward positive infinity). The first kangaroo starts at location and moves at a rate of meters per jump. The second kangaroo starts at location and moves at a rate of meters per jump. Given the starting locations and movement rates for each kangaroo, can you determine if they'll ever land at the same location at the same time?
> Input.Input Format
A single line of four space-separated integers denoting the respective values of , , , and .
> Output.Output Format
Print YES if they can land on the same location at the same time; otherwise, print NO.
Note: The two kangaroos must land at the same location after making the same number of jumps.
> solveSummary
요약하면, 캥거루 두마리는 각각 시작 위치 x1, x2 에서 움직입니다. 각각 속도는 v1, v2 의 속도를 갖습니다. 둘은 만날 수 있는가 하는 문제입니다.
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
bool fn_sameloc(int x1, int v1, int x2, int v2){
bool item = (x1+v1 > x2+v2 ? true : false);
int times = 0;
while(true){
if(x1 == (v2 - v1) * times + x2){
return true;
}
times++;
if((item && x2+v2*times > x1+v1*times) || (!item && x2+v2*times < x1+v1*times)){
return false;
}
}
}
int main(){
int x1;
int v1;
int x2;
int v2;
scanf("%d %d %d %d",&x1,&v1,&x2,&v2);
printf("%s", (fn_sameloc(x1,v1, x2,v2) ? "YES" : "NO"));
return 0;
}'programming > algorithm 공부' 카테고리의 다른 글
| [Algorithm] Connecting Towns (0) | 2017.10.09 |
|---|---|
| [Algorithm] Handshake / 악수 (0) | 2017.10.09 |
| [Algorithm] Divisible Sum Pairs (0) | 2017.10.09 |
| [Algorithm] 사과나무와 오렌지나무 (0) | 2017.10.09 |
| [Algorithm] Angry Professor (0) | 2017.10.09 |