题目描述:

Viewsetting又看了一部哈利波特系列电影:Harry Potter and the Prisoner of Azkaban(哈利·波特与阿兹卡班的囚徒)。电影里出现了一个魔法道具:活点地图。乍看之下,这张地图只是一张空白的羊皮纸;但是当使用者说出“我庄严宣誓我没干好事”(“我庄严宣誓我不怀好意”I solemnly swear that I am up to no good) ,墨线就会开始延伸,浮现出一张霍格沃茨的地图(包括秘密通道)。地图上有霍格沃茨里每个人所在的位置,并指示打开秘密通道的方法。使用完毕之后,只要说“恶作剧完毕”(Mischief managed),就可以将地图复原成空白的状态,以防止其他不知道地图口令的人使用。活点地图是莱姆斯·卢平、小矮星彼得、小天狼星布莱克以及詹姆·波特(哈利的爸爸)共同发明的,专门用来达成恶作剧。他们在就寝时间后,常常化身为动物四处探险,使得他们对霍格沃茨的地下通道有很多了解(布莱克,小矮星和波特是阿尼马格斯,而卢平是狼人。)他们将所发现的秘密通道,制作成活点地图。地图上写著这几位创造者的名字,他们采用仅限彼此所知的昵称(代表他们幻化成的动物):月亮脸(指身为狼人的卢平),虫尾巴(指小矮星,化身成老鼠),大脚板(布莱克,化身成狗),以及尖头叉子(波特,化身为雄鹿)。而这也是活点地图标题的由来。
哈利波特用这张地图可以说是开了外挂,游戏体验++,然而斯内普发现了哈利有这张地图,并且试图找出其中的秘密,但却被地图羞辱了一顿。卢平教授表示他会调查,就将地图带走了。可是现在哈利波特特别需要这张地图,于是他找到了你,帮他完成这个魔法地图。但是你只是一个麻瓜(不会膜法的普通人类),那里会这些骚操作?但是你可是会计算机的大手子啊!你就拥有那些魔法师眼中的“黑魔法”!请你编写一个程序,同样也能实现这个地图的功能。

输入:

多组输入,以EOF结束 每组第一行输入一个n(n<=999),代表记录中有n个魔法师。接下来n行,每行依次输入魔法师的名字,起始坐标和编号。其中坐标(x,y)意义是x坐标代表东西方向,x正方向为东。类似的,y是北正南负且坐标都是整数有序对。编号是三位的,如有前导零则要补足,编号不超过999。 接下来输入一个正整数k。然后接下来k行对应这地图的记录,如果这个魔法师移动了,依次输入其编号,方向(N为北,S为南,W为西,E为东),步数(正整数)。如果这个魔法师没有移动,格式是编号和”stay”。

输出:

和输入格式一样,按照序号从小到大的顺序换行输出魔法师的名字,当前坐标和编号。

样例输入

5
Harry (1,1) 231
Hermione (2,2) 402
Ron (1,0) 311
Dumbledore (10,10) 000
Snape (-1,-1) 007
3
231 E 1
402 S 1
007 stay

样例输出

Dumbledore (10,10) 000
Snape (-1,-1) 007
Harry (2,1) 231
Ron (1,0) 311
Hermione (2,1) 402


#include <iostream>
#include <cstring>
#include <string>
#include <cstdio>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
struct node//建立结构体存储每个人的姓名位置编号
{char name[100];int x,y;int num;
};
bool cmp(node a,node b)//排序以编号从小到大排列
{return a.num<b.num;
}
int main()
{int n;struct node p[1000+5];while(scanf("%d",&n)!=EOF){memset(p,0,sizeof(p));for(int i=1; i<=n; i++){//暴力输入scanf("%s",&p[i].name);getchar();//读空格getchar();//读括号scanf("%d",&p[i].x);getchar();读','scanf("%d",&p[i].y);getchar();//括号getchar();//空格scanf("%03d",&p[i].num);}int k;scanf("%d",&k);int tmp_num;char dir[4];int step;for(int ii=0; ii<k; ii++){scanf("%03d",&tmp_num);cin>>dir;if(dir[0]!='s'){scanf("%d",&step);}bool flag=false;//int tmp=0;for(int i=1; i<=n; i++){if(tmp_num==p[i].num){if(dir[0]=='W'){p[i].x-=step;}else if(dir[0]=='E'){p[i].x+=step;}else if(dir[0]=='N'){p[i].y+=step;}else if(dir[0]=='S'){p[i].y-=step;}}else{continue;}}}sort(p+1,p+1+n,cmp);for(int i=1; i<=n; i++){printf("%s (%d,%d) %03d",p[i].name,p[i].x,p[i].y,p[i].num);//cout<<"("<<p[i].x<<","<<p[i].y<<")"<<" ";//printf("%03d",p[i].num);cout<<endl;}}return 0;
}

//感觉是卡输入的问题emmm 用了麻烦的方法输入

NEUQOJ 1869: Harry Potter and the Prisoner of Azkaban相关推荐

  1. Harry Potter and the Prisoner of Azkaban

    称号:Harry Potter and the Prisoner of Azkaban 作者:J.K. Rowling 篇幅: 448页 蓝思值:880L 用时:    11天 工具:  有道词典 [ ...

  2. 【机器学习】使用 Python 构建电影推荐系统

    本文将余弦相似度与 KNN.Seaborn.Scikit-learn 和 Pandas 结合使用,创建一个使用用户评分数据的电影推荐系统. 在日常数据挖掘工作中,除了会涉及到使用Python处理分类或 ...

  3. 用python分析小说_用Python对哈利波特系列小说进行情感分析

    原标题:用Python对哈利波特系列小说进行情感分析 准备数据 现有的数据是一部小说放在一个txt里,我们想按照章节(列表中第一个就是章节1的内容,列表中第二个是章节2的内容)进行分析,这就需要用到正 ...

  4. 超级简洁的xml解析框架:TBXML

    就xml解析来讲,目前用过的最简洁,速度最快的当属tbxml,是基于C框架的所以直接拿在iPhone上用了. 先说下用法,把tbxml的4个文件拖入class,然后为工程添加libz.dylib框架即 ...

  5. 大数据正式京淘附加爬虫

    大数据正式京淘附加爬虫 爬虫技术 httpClient:抓取整个页面 htmlUnit:可以二次提交 jsoup:可以获取以上两个技术的所有内容 jsoup 爬取整个页面 爬取整个网站 爬取页面中的某 ...

  6. 50部不可不看的时空/穿越电影

    http://img1.guokr.com/gkimage/ui/f7/1o/uif71o.png 50.<蝴蝶效应> The Butterfly Effect (2004) http:/ ...

  7. IMAX [生活时尚]

    目录[隐藏] [IMAX是什么] [技术标准] [IMAX的历史] [IMAX公司简介] [IMAX在中国] [IMAX资料大全] [著名的IMAX影院] [中国的IMAX影院] 商业化IMAX影厅: ...

  8. 机器学习工程师 — Udacity 电影评分的 k 均值聚类

    电影评分的 k 均值聚类 假设你是 Netflix 的一名数据分析师,你想要根据用户对不同电影的评分研究用户在电影品位上的相似和不同之处.了解这些评分对用户电影推荐系统有帮助吗?我们来研究下这方面的数 ...

  9. 第77届奥斯卡金像奖完全获奖名单 [附完全提名名单]

    第77届奥斯卡金像奖完全获奖名单 [附完全提名名单] 最佳影片 (BEST PICTURE) <百万美元宝贝>(MILLION DOLLAR BABY) 最佳导演 (DIRECTING) ...

最新文章

  1. echarts 点亮中国插件研究
  2. 因女朋友的一个建议,这位程序员创立仅 551 天公司就被 10 亿美元收购了
  3. php fprintf,PHP fprintf() 函数 | 菜鸟教程
  4. python若干整数的最大值_实例讲解Python中整数的最大值输出
  5. Docker中的Registry和Repository
  6. file_get_contents高級用法
  7. mysql5.7应该导什么包_立冬为什么要吃饺子?包饺子应该注意什么?怎么煮?看完你就明白...
  8. C或C 如何通过程序执行shell命令并获取命令执行结果?
  9. python接口自动化(九)--python中字典和json的区别(详解)
  10. SQL 中having 和where的区别(转)
  11. Cocos Creator 粒子效果插件
  12. 文章,记录按内容分页显示,根据文章内容按字数进行分页(转)
  13. hbase 查询固定条数_HBase统计表行数(RowCount)的四种方法
  14. 嵌入式系统开发15——基于SPI协议的OLED屏显简单应用
  15. vbs 合并 excel 表格
  16. docker 创建 Carte 服务
  17. 微博短视频百万级高可用、高并发架构如何设计?
  18. 【托福考场考点1】山东大学托福考点详情及考友评价
  19. 怎么添加扫描仪到计算机快捷键,Win7系统添加扫描仪快捷方式的方法
  20. 通过ID获得链接地址

热门文章

  1. 开源SNS社区系统推荐
  2. PHP短信在订单通知中的应用
  3. android王者荣耀号苹果可以登陆吗,王者荣耀安卓转苹果什么时候开始 苹果手机可以用安卓账号登录了吗...
  4. filezilla server搭建ftp服务器步骤
  5. 3.4.9.exec族函数及实战1
  6. C++11 线程同步原语
  7. 汇编学习之三:edx dl 就是dx 低八位, dx 就是edx 低十六位
  8. Flowable集成钉钉实现抄送发送消息
  9. KILE5生成bin文件
  10. 电视图像信号的发送和接收