ACM - 기 하 – 원 – 각 속도 -- HDOJ 1593 -- find a way to escape

HDOJ 제목 주소: 전송 문
find a way to escape
Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1886    Accepted Submission(s): 725
Problem Description
하루 는 0068 과 * * * 배 를 타고 호수 에 올 랐 다 고 합 니 다.갑자기 해안 가 에 그의 큰 적 엘 니 엘 이 나타 나 는 것 을 보 았 다.0068 은 당연히 엘 닐 의 마수 에 빠 지고 싶 지 않 기 때문에 그 는 탈출 할 방법 을 생각해 야 한다.
이 호 수 는 매우 규칙 적 인 원형 으로 반경 이 R 이다.이때 0068 은 원심 위치 에 있 었 다.작은 배의 호수 속 속 도 는 V1, 0068, 엘 닐 의 해안 속 도 는 모두 V2 이다.0068 이 처음 해안 에 올 랐 을 때 잡 히 지 않 으 면 탈출 할 수 있다 는 얘 기다.임의의 시간 에 0068 과 엘 니 엘 은 어느 방향 으로 든 이동 할 수 있 지만 0068 은 배 에 계속 있 을 수 없다 (굶 어 죽 을 것 이다). 엘 니 엘 은 물 에 들 어 갈 수 없다 (그 는 수영 을 할 줄 모른다).0068 과 엘 니 엘 이 모두 똑똑 하 다 고 가정 하면 자신 에 게 가장 유리 한 일 을 할 수 있 고 두 사람의 체력 은 무한 하 다.
0068 은 결국 엘 닐 의 마수 에서 벗 어 날 수 있 을 까?
 
Input
이 문 제 는 여러 그룹의 테스트 를 포함한다.파일 이 끝 날 때 까지 처리 해 주세요.
각 조 의 테스트 는 세 개의 정수, R, V1, V2 를 포함한다.
 
Output
각 그룹의 데이터 에 대해 0068 이 안전하게 탈출 할 수 있다 면 Yes 를 출력 하고 그렇지 않 으 면 No 를 출력 합 니 다.
데이터 가 딱 잡 힌 상황 은 없 으 니 임계 점 을 너무 고려 할 필요 가 없다.
 
Sample Input

   
   
   
   
100 10 20 100 10 50

 
Sample Output

   
   
   
   
Yes No

순수한 기하학:
       우선, 우 리 는 각 속도 가 속도 로 반지름 을 나 누 는 것 과 같다 는 것 을 안다. 즉, w = v / r 이다.       또 호수의 반지름 이 변 하지 않 고 해안 가 사람들 이 항상 가장 좋 은 전략 을 취하 기 때문에 그의 각 속 도 는 반드시 W2 = V2 / R        호수 속 사람들 이 탈출 하려 면 그 는 틀림없이 하나의 전략 을 취 할 것 이다. 바로 네가 호수 중심 으로 몇 각 도 를 돌 면 나 도 몇 각 도 를 돌 릴 것 이다.       즉, 당신 의 기슭 에 있 는 사람 은 나의 뿔 속도 가 당신 의 것 과 같다 면 당신 은 나 와, 그리고 호수 중심, 세 개의 점 이 한 직선 에 있 을 것 입 니 다. 그러나 나 는 이 상 태 를 유지 하기 만 하면 됩 니 다.
       그리고 앞으로 그 어 주시 면 됩 니 다.
       기슭 에 있 는 사람 은 호수 중심 에 비해 반경 이 R 이 고 호수 에 있 는 사람 은 처음에 반경 이 0 이기 때문에 처음에 출발 할 때 호수 에 있 는 사람 이 잘 파악 하면 그의 각 속 도 는 일정 하 다.
       해안 가 사람들 처럼
       해안 가 사람들 을 제자리 에 서 있 는 것 처럼 만 들 수 있 었 고 자신 은 호수 중심 을 떠 났 다 는 것 이다.       그러나 우리 도 이런 상 태 를 유지 할 수 있 을 때 조건 이 있다 는 것 을 알 고 있다. 그것 은 바로 호수 에 있 는 사람들의 뿔 속도 가 해안 사람과 같은 것 보다 크다 는 것 이다.       이 조건 의 경 계 는 바로 그들 두 사람의 각 속도 가 같다 는 것 이다.즉:       W1 = W2 ==>  V1 / r = V2 / R  ==>  r =V1 * R / V2        여기 서 우 리 는 경계 상태 에 있 을 때 호수 사람들 은 이미 호수 중심 r 의 거 리 를 떠 났 다 는 것 을 알 수 있다. 해안 가 사람들 은 그 와 호수 중심 이 있 고 세 시 에 일 직선 이 된다.       그럼, 만약 R < r 그럼 이 쯤 되면 탈출 할 수 있 을 거 야.그 가 기슭 에 올 랐 기 때문에 해안 가 사람들 이 아직 오지 못 하고 속도 가 똑 같이 빠 른 상황 에서 그 는 틀림없이 도망 갈 수 있 을 것 이다.       만일 R> r   그럼 배의 속도 와 사람의 속 도 를 봐 야 지.       즉: 하면, 만약, 만약... R-r   배 를 저어 가 는 시간 은? (R-r )/ V1  pi * V2 / R 즉 해안 가 사람들 이 그의 맞은편 기슭 까지 돌진 하 는 데 걸 리 는 시간 보다 작 아야 한다.       그렇다면 호수 에 있 는 사람들 은 분명 도망 갈 수 있 을 것 이다.      만약 크다 면, 그럼 못 도망 가 겠 네.
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
double PI=3.1415926;
int main(){
    double r,v1,v2;
    while(scanf("%lf%lf%lf",&r,&v1,&v2)!=EOF){
        if((r-v1*r/v2)/v1<(PI*r)/v2){
              printf("Yes
"); }else{ printf("No
"); } } }

참고 블 로그:http://blog.csdn.net/ljd4305/article/details/8057645

좋은 웹페이지 즐겨찾기