mirror of
https://github.com/theoludwig/programming-challenges.git
synced 2024-11-09 22:08:58 +01:00
56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
# defibrillators
|
||
|
||
Created by [@Divlo](https://github.com/Divlo) on 28 June 2021.
|
||
|
||
## Instructions
|
||
|
||
### Goal
|
||
|
||
The city of Montpellier has equipped its streets with defibrillators to help save victims of cardiac arrests. The data corresponding to [the position of all defibrillators](http://data.montpellier3m.fr/dataset/d%C3%A9fibrillateurs-de-montpellier) is available online.
|
||
|
||
Based on the data we provide in the tests, write a program that will allow users to find the defibrillator nearest to their location using their mobile phone.
|
||
|
||
### Rules
|
||
|
||
The input data you require for your program is provided in text format.
|
||
This data is comprised of lines, each of which represents a defibrillator. Each defibrillator is represented by the following fields:
|
||
|
||
- A number identifying the defibrillator
|
||
- Name
|
||
- Address
|
||
- Contact Phone number
|
||
- Longitude (degrees)
|
||
- Latitude (degrees)
|
||
These fields are separated by a semicolon (`;`).
|
||
|
||
**Beware:** the decimal numbers use the comma (,) as decimal separator. Remember to turn the comma (,) into dot (.) if necessary in order to use the data in your program.
|
||
|
||
### Distance
|
||
|
||
The distance `d` between two points `A` and `B` will be calculated using the following formula:
|
||
|
||
![Distance Formula](./distance-formula.png)
|
||
|
||
**Note:** In this formula, the latitudes and longitudes are expressed in radians. 6371 corresponds to the radius of the earth in km.
|
||
|
||
The program will display the name of the defibrillator located the closest to the user’s position. This position is given as input to the program.
|
||
|
||
### Input
|
||
|
||
- **Line 1:** User's longitude (in degrees)
|
||
- **Line 2:** User's latitude (in degrees)
|
||
- **Line 3:** The number `N` of defibrillators located in the streets of Montpellier
|
||
- **`N` next lines:** a description of each defibrillator
|
||
|
||
### Output
|
||
|
||
The name of the defibrillator located the closest to the user’s position.
|
||
|
||
### Constraints
|
||
|
||
0 < `N` < 10 000
|
||
|
||
## Examples
|
||
|
||
See the `test` folder for examples of input/output.
|