1 条题解

  • 0
    @ 2026-5-3 15:43:10

    题目背景

    正如题目名称“Where am I?”(我在哪里?)所言,你需要找出一张照片的拍摄位置。

    从输出格式(两个实数,第一个在 [90,90][-90, 90] 之间,第二个在 [180,180][-180, 180] 之间)可以推断,题目要求的是地点的纬度经度。评测系统会根据你提供的答案,利用 Haversine 公式 计算与真实位置的距离,如果距离小于 100 米,则判定为正确。

    解题思路

    1. 图像分析

    最简单的方法就是直接观察题目给定的照片。首先映入眼帘的是 “New York” 标志,但注意,照片并不在纽约。仔细观察可以发现 “Las Vegas” 的标志,通过快速搜索可以锁定这是位于拉斯维加斯的纽约纽约酒店及赌场(New York-New York Hotel & Casino)

    2. 确定精确坐标

    了解大致地点后,我们可以借助 Google 地图的街景功能,结合照片的拍摄角度,找到精确的拍摄位置。通过这种方法,可以确定坐标为 36.104300° N, -115.172835° W(即纬度 36.104300,经度 -115.172835)。当然,由于评测系统允许 100 米的误差,附近的其他坐标同样可以通过。

    3. 另一种方法:利用评测反馈

    有趣的是,即便不看照片,也可以解出这道题。因为每次提交后,评测系统会返回答案与真实位置的距离,你可以采用类似二分搜索梯度下降的策略,不断修正经纬度,直到距离小于 100 米。不过这种方法需要多次提交,且不如直接观察照片来得高效。欢迎在评论区分享你的独特解法。

    标准程序

    #include <bits/stdc++.h>
     
    using namespace std;
     
    int main(){
        cout << "36.104300 -115.172835";
    }
    

    关键点总结

    • 输出格式:纬度在前,范围 [90,90][-90, 90];经度在后,范围 [180,180][-180, 180],小数点后最多 6 位。
    • 判题规则:计算 Haversine 距离,小于 100 米即 Accepted。
    • 核心答案:拉斯维加斯纽约纽约酒店附近,坐标约为 (36.104300,115.172835)(36.104300, -115.172835)
    • 其他解法:利用反馈距离进行数值逼近。
    • 1

    信息

    ID
    6749
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    1
    已通过
    1
    上传者