zoukankan      html  css  js  c++  java
  • POJ 1473 There's Treasure Everywhere!

    题目链接

    小小的模拟一下。

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <string>
     4 #include <cmath>
     5 #include <algorithm>
     6 using namespace std;
     7 char str[1000];
     8 double a[10];
     9 double b[10];
    10 void CL()
    11 {
    12     a[0] = a[2] = 0.0;
    13     a[4] = a[5] = sqrt(2.0)/2.0;
    14     a[1] = 1.0;
    15     a[3] = -1.0;
    16     a[6] = a[7] = -sqrt(2.0)/2.0;
    17     b[0] = 1.0;
    18     b[2] = -1.0;
    19     b[4] = b[7] = sqrt(2.0)/2.0;
    20     b[3] = b[1] = 0.0;
    21     b[5] = b[6] = -sqrt(2.0)/2.0;
    22 }
    23 int judge(int x)
    24 {
    25     if(str[x+1] == ','||str[x+1] == '.')
    26     {
    27         if(str[x] == 'N')
    28             return 0;
    29         else if(str[x] == 'E')
    30             return 1;
    31         else if(str[x] == 'S')
    32             return 2;
    33         else if(str[x] == 'W')
    34             return 3;
    35     }
    36     else
    37     {
    38         if(str[x] == 'N'&&str[x+1] == 'E')
    39             return 4;
    40         else if(str[x] == 'S'&&str[x+1] == 'E')
    41             return 5;
    42         else if(str[x] == 'S'&&str[x+1] == 'W')
    43             return 6;
    44         else if(str[x] == 'N'&&str[x+1] == 'W')
    45             return 7;
    46     }
    47     return 0;
    48 }
    49 int main()
    50 {
    51     int len,i,cas = 1,pre,j,temp;
    52     double x,y;
    53     CL();
    54     while(scanf("%s",str)!=EOF)
    55     {
    56         if(strcmp(str,"END") == 0) break;
    57         len = strlen(str);
    58         pre = 0;
    59         x = y = 0;
    60         for(i = 0; i < len; i ++)
    61         {
    62             if(str[i] == ','||str[i] == '.')
    63             {
    64                 temp = 0;
    65                 for(j = pre; j < i; j ++)
    66                 {
    67                     if(str[j] <= '9'&&str[j] >= '0')
    68                         temp = temp*10 + str[j] - '0';
    69                     else
    70                         break;
    71                 }
    72                 x += temp*a[judge(j)];
    73                 y += temp*b[judge(j)];
    74                 pre = i+1;
    75             }
    76         }
    77         printf("Map #%d
    ",cas++);
    78         printf("The treasure is located at (%.3f,%.3f).
    ",x,y);
    79         printf("The distance to the treasure is %.3f.
    
    ",sqrt(x*x+y*y));
    80     }
    81     return 0;
    82 }
  • 相关阅读:
    Samba 基础搭建
    HBuilder 打包流程和遇到的坑
    js 字符串查找相同字母最长子串
    web前端简单的H5本地存储
    rem响应式JS
    JS洗牌算法
    Js 常用正则表达式
    JS_DOM_鼠标、键盘事件合集
    SE 2014年4月3日
    SE 2014年4月2日
  • 原文地址:https://www.cnblogs.com/naix-x/p/3370478.html
Copyright © 2011-2022 走看看