• 题意: 一个人在雪地上滑雪,每次可以向上下左右四个方向移动一个单位,如果这条路径没有被访问过,则需要5秒的时间,如果被访问过,则需要1秒(注意:判断的是两点之间的距离,不是单纯的点).给你他的行动轨迹,求消耗的时间.

  • 题解:我们用两个pair来维护边,用map来对边进行标记,每次更新map记得双向更新即可(e.g:(1,2)和(2,1)两个方向都要标记).

  • 代码:

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <cmath>
    #include <algorithm>
    #include <stack>
    #include <queue>
    #include <vector>
    #include <map>
    #include <set>
    #include <unordered_set>
    #include <unordered_map>
    #define ll long long
    #define fi first
    #define se second
    #define pb push_back
    #define me memset
    const int N = 1e6 + 10;
    const int mod = 1e9 + 7;
    using namespace std;
    typedef pair<int,int> PII;
    typedef pair<long,long> PLL;
    typedef pair<PII,PII> PP; int t;
    string s;
    int cnt;
    PII o,p;
    PP S1,S2;
    map<PP,bool> mp; int main() {
    ios::sync_with_stdio(false);
    cin>>t;
    while(t--){
    p=o={0,0};
    cnt=0;
    cin>>s;
    mp.clear();
    for(char c:s){
    if(c=='N') p.se++;
    else if(c=='S') p.se--;
    else if(c=='W') p.fi--;
    else if(c=='E') p.fi++;
    S1={o,p};
    S2={p,o};
    if(mp[S1]) cnt++;
    else{
    cnt+=5;
    mp[S1]=mp[S2]=true;
    }
    o=p;
    }
    printf("%d\n",cnt);
    }
    return 0;
    }

最新文章

  1. &ldquo;会&rdquo;和 &quot;好&rdquo;纯粹是两个概念
  2. C#正则表达式匹配字符串
  3. 使用Vs2012开发Metro时在另一台win8平板上调试的步骤
  4. Memcached Java Client API详解
  5. Android ActionBar与ViewPager合用
  6. BZOJ3105: [cqoi2013]新Nim游戏
  7. iwpriv工具通过ioctl动态获取相应无线网卡驱动的private_args所有扩展参数
  8. javascript笔记——正则表达式学习笔记
  9. SQL Server查询所有的表名/空间占用量/行数
  10. About Interface
  11. Xcode4.4中,代码无法高亮、无法自动补全
  12. Eclipse 实现关键字自动补全功能 (转)
  13. 创建Sdcard
  14. 如何提升 CSS 选择器性能
  15. ignite通过注解配置查询
  16. @Resource @Autowired 区别
  17. JDK自带的Timer类
  18. [c/c++] programming之路(26)、结构体
  19. 2018-2019-2 20165205《网络对抗技术》Exp4 恶意代码分析
  20. PHPNow升级PHP版本

热门文章

  1. pyi文件是干嘛的?(一文读懂Python的存根文件和类型检查)
  2. 【Linux】snmp在message中报错: /etc/snmp/snmpd.conf: line 311: Error: ERROR: This output format has been de
  3. SSTI
  4. fsutil比较有用的几个命令
  5. Java运算符及包机制
  6. python中json模块的使用
  7. 手把手做一个基于vue-cli的组件库(上篇)
  8. nothreading use single threaded
  9. 作为一款内存数据库,为什么断电后Redis数据不会丢失
  10. P5858 Golden Swold