아스키 아트 도로와 도로를 건너는 데 걸리는 시간을 감안할 때, 과속인지 말해주십시오.
단위
거리는의 임의의 단위입니다 d
. 시간은의 임의의 단위입니다 t
.
도로
간단한 길은 다음과 같습니다.
10=====
10
수단 (10) d
에 따라 t
. 그것이 도로의 제한 속도입니다. 도로 5 가지고 =
그 그래서, S를 d
I 0.5에 해당 교차하는 경우, 따라서 5이며 t
, I (10) 간 d
당을 t
5 / 0.5 = 10 즉 도로의 제한 속도가 10이기 때문에 I 제한 속도 내에 머물도록.
그러나 0.25 에서 해당 도로를 건너면 5 / 0.25 = 20 이기 때문에 t
20 d
당 갔습니다 . 해당 도로의 제한 속도는 10이므로 제한 속도를 넘어 10을 넘었습니다.t
예와 계산
입력 1은 도로를 여행하는 데 걸린 시간이며 입력 2는 도로 자체입니다.
복잡한 길은 다음과 같습니다.
Input 1: 1.5
Input 2: 5=====10=====
첫 번째 도로 (처음 5 =
초)를 통과 할 수있는 가장 빠른 속도 는 5 d
입니다 t
. 5 (거리)를 5 (속도 제한)로 나눈 값이 1이므로 도로에서 가장 빠르게 갈 수있는 것은 1 t
입니다.
다음 도로에서 제한 속도는 10이고 거리도 5이며 교차 할 수있는 가장 빠른 속도는 0.5 (5/10)입니다. 최소 시간을 합하면 1.5가 되므로 속도 제한 에 정확히 도달했습니다.
참고 : 나는 한 길에서 정말 빨리 가고 다른 길에서는 실제로 느리고 1.5에서 여전히 교차 할 수 있지만 여기에서 가장 좋은 것으로 가정합니다.
마지막 예 :
Input 1: 3.2
Input 2: 3.0==========20===
첫 번째 도로는 길이가 10이며 속도 제한이 3이므로 최소 시간은 3.33333 ... (10/3)입니다.
두 번째 도로는 3 길이이며 제한 속도가 20이므로 최소 시간은 0.15 (3/20)입니다.
시간을 합하면 3.483333333이되는데 ... 3.2 점을 넘었으므로 어딘가에서 속도를 내야했습니다.
노트:
- 의심 할 여지없이 속도가 빠르면 하나의 고유 한 값을, 그렇지 않으면 다른 값을 출력해야합니다.
- 프로그램이나 기능에 줄 바꿈을하려면 입력 또는 출력이 필요할 수 있지만 제출시 그렇게하십시오.
- 첫 번째 입력은 나의 속도입니다. 양의 부동 소수점 또는 정수 또는 문자열입니다.
- 두 번째 입력은 길입니다. 항상 정규식과 일치합니다
^(([1-9]+[0-9]*|[0-9]+\.[0-9]+)=+)+\n?$
. 관심이 있다면 여기에서 잠재적 인 입력을 테스트 할 수 있습니다. - 함수 또는 프로그램의 두 매개 변수, 두 개의 개별 파일, STDIN에서 두 번 또는 STDIN으로 전달 된 공백으로 분리 된 문자열, 함수, 파일 또는 명령 행 매개 변수를 입력 할 수 있습니다.
- 원하는 경우 입력 순서를 변경할 수 있습니다.
- 질문 있습니까? 의견과 행복한 코드 골프 에서 아래에 물어보십시오 !
^(([1-9]+[0-9]*|(?!0\.0+\b)[0-9]+\.[0-9]+)=+)+\n?$
. (이것은 깔끔하게 정리되었지만 .Net 엔진이 필요합니다)