Where Am I? 的题解


记住只在没有思路时使用题解,不要从它复制粘贴代码。请尊重题目和题解的作者。
在解题之前提交题解的代码会导致封禁。

作者: admin

概述

本题要求根据一张照片推断拍摄地点的经纬度坐标,输出两个实数分别表示纬度和经度。核心解法是通过识别照片中的标志性建筑(纽约-纽约酒店)并借助地图工具确定精确坐标。

分析
核心观察

照片中出现了“New York”和“Las Vegas”两种标志,说明拍摄地点并非纽约,而是位于拉斯维加斯的“纽约-纽约酒店”(New York-New York Hotel & Casino)。

思路

通过识别照片中的“New York-New York Hotel & Casino”标志,结合谷歌地图街景功能进行视角比对,可以确定照片拍摄位置的精确坐标为纬度 36.104300,经度 -115.172835。评测采用 Haversine 公式计算答案与实际位置的距离,允许误差不超过 100 米,因此输出该坐标即可通过。

具体示例

官方解法给出的精确坐标为 36.104300, -115.172835,该坐标与真实拍摄位置的距离在 100 米以内,满足评测要求。

算法步骤
  1. 直接输出常量坐标 36.104300 和 -115.172835。
复杂度分析

时间:O(1) 空间:O(1)

实现注意事项
  • 输出格式为两个实数,小数点后最多 6 位。
  • 纬度范围 [-90, 90],经度范围 [-180, 180]。
  • 答案只要与实际位置距离不超过 100 米即可被接受,因此无需进一步优化坐标。
  • 输出时注意保留足够的小数位数,避免因精度不足导致偏差。
源代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    cout << fixed << setprecision(6) << 36.104300 << " " << -115.172835 << endl;
    return 0;
}
print(f"{36.104300:.6f} {-115.172835:.6f}")

评论

目前没有评论。