您的位置:首页 > 编程语言 > Go语言

ZOJ 2855 Google Map

2016-02-19 20:21 465 查看
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2855

#include <iostream>
#include <queue>
#include <set>
#include <vector>
#include <cstring>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <string.h>
#include <cmath>
using namespace std;
#define PI acos(-1)
double getX(double longitude){
return longitude * PI / 180;
}
double getY(double latitude){
return log(tan(PI / 4.0 + (latitude * PI / 180.0) / 2));
}
int main()
{
double lo, la , t;
while (cin >> lo >> la >> t){
cout << "t";
double up = getY(85);
double down = getY(-85);
double left = getX(-180);
double right = getX(180);
double x = getX(lo);
double y = getY(la);
while (t--){
if (x < (left+right) / 2){ //确定左右,左
right = (left + right) / 2;
if (y > (up+down) / 2){ //在上面
cout << "q";
down = (up + down) / 2;

}
else{
cout << "t";
up = (up + down) / 2;
}
}
else{ //右边
left = (left + right) / 2;
if (y > (up + down) / 2){
cout << "r";
down = (up + down) / 2;
}
else
{
cout << "s";
up = (up + down) / 2;
}
}
}
cout << endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: