AT_maximum_2013_d 絆よりも恋人が大事
题目描述
E君是一名高一学生,正努力学习,目标是考入国立医科大学。这个夏天,他打算去补习班提升成绩。然而,他面临一个严重的问题:有几位女性朋友分别想约他出去约会,这影响了他的学习。
C是他的青梅竹马,喜欢吃肉,经常吃E君做的饭,每天都对E君表达爱意。M是他的“假情侣”,因为她太漂亮,总有不良分子接近,为了防止这些人,她让E君假扮男友。H是他的学姐,虽然有些宅,但和E君有共同的漫画和动画兴趣,对E君很积极。A是小时候定下婚约的朋友,至今还保留着幼儿园时的“结婚申请书”,总是逼迫E君结婚。
如果E君和其中一人约会,之后还得和没约会的每个人分别约会,学习时间会进一步减少。
E君反感恋爱,认为学生不该沉迷于恋爱。传说中有个叫Mr. TOKOSHI的英雄曾一天27小时都在和女生约会,但E君对此嗤之以鼻。
经过观察,E君发现:如果某个女生离他最近且只有她一人,E君就会被她拉去约会;但如果有两人或以上距离相同且最近,她们会互相牵制,E君不会被拉走。此外,在家和补习班周围半径50米内,有“淑女协定”,不会被拉走。E君决定利用这些规则,选择一条不会被女生拉走的路线去补习班。途中可能会有建筑物,但他没有能飞跃建筑的靴子,即使打扰到正在吃拉面的居民也只能无奈接受。
为了明天顺利去补习班,E君想知道自己该几点起床。但由于要走特殊路线,普通的路线搜索软件无法计算所需时间。你的任务是帮他计算一条不会被女生拉走的最短路线的距离。只要知道距离,E君就能根据自己的速度算出所需时间。
输入格式如下:
1. 第 1 行给出整数 $N$,表示女生的数量。保证 $0 \leq N \leq 20$。
2. 第 2 行给出整数 $EX, EY$,表示E君家的坐标。保证 $-1000 \leq EX, EY \leq 1000$。
3. 第 3 行给出整数 $SX, SY$,表示补习班的坐标。保证 $-1000 \leq SX, SY \leq 1000$。
4. 接下来 $N$ 行,每行给出一位女生的坐标 $GX_i, GY_i$。保证 $-1000 \leq GX_i, GY_i \leq 1000$。
5. 所有位置单位均为米。
6. 保证E君家、补习班、每位女生的位置两两不同。
请输出E君从家到补习班,不被女生拉走的最短路线距离。如果不存在这样的路线,输出 `impossible`。如果最短距离超过 $10,000$,也输出 `impossible`。如果输出的距离不超过 $10,000$,则绝对误差在 $10^{-6}$ 以内即可。如果最短距离超过 $10,000 - 10^{-6}$,输出 `impossible` 也可以。
输入格式
第 1 行:一个整数 $N$。
第 2 行:两个整数 $EX\ EY$。
第 3 行:两个整数 $SX\ SY$。
接下来 $N$ 行,每行两个整数 $GX_i\ GY_i$。
输出格式
如果存在不被女生拉走的最短路线,输出该路线的距离(绝对误差不超过 $10^{-6}$)。否则输出 `impossible`。
说明/提示
- 你可以假设所有输入数据均满足题目条件。
- 距离的计算方式为欧几里得距离。
- 只要在家和补习班周围半径50米内,不会被女生拉走。
- 如果在某点,离E君最近的女生只有一人,E君会被她拉走;如果有两人或以上距离相同且最近,则不会被拉走。
- 路线长度超过 $10,000$ 时也视为不可达。
由 ChatGPT 4.1 翻译