1755. 爱上捉迷藏

☆   输入文件:kadun.in   输出文件:kadun.out   简单对比
时间限制:0.001 s   内存限制:2 MB

【背景】

乃们都玩过赛尔号吧……,那有木有玩过赛尔号2呢?(众人:你TM都多大了……)

(⊙o⊙)…,多大怎么了,哥一直怀着一颗永不泯灭的童心~

【问题描述】

众所周知(呃,没玩过的除外),卡顿啾啾是赛尔号2里的一个普通系精灵,其未进化体名叫啾啾,进化后体型肥胖,励志减肥。历经磨难终于摆脱肥胖的困扰,前后变化实在让人难以想象。咳咳,这不是问题的重点……(众人:-_-#)

(从众人乱拳中挤了出来)好吧,开始今天的重点。啾啾是个很调皮的精灵,它特别喜欢玩捉迷藏,本题即是由赛尔号2中爱上捉迷藏这一小游戏改编而来。通关小游戏就可以……(瞥了一眼青筋暴起的一群禽兽…)呃,不要那么暴力好不好~TAT

啾啾藏在了一个m*n的矩阵中,这个矩阵有m*n个格子,啾啾就在其中之一。这种格子采用特殊材料制成,外表透明,藏在其中用眼睛根本无法看到什么变化。但是这毕竟是赛尔号的科技,所以小赛尔只要把手在格子上轻轻敲击就会得到回复,我们记为该格子的状态。其中若返回为X,则该点可能啾啾藏身的格子,但也有可能是距离啾啾很远的格子;若返回为N,则啾啾就在以该点为中心的7*7的矩阵中的某个格子;若返回为C, 则啾啾就在以该点为中心的5*5的矩阵中的某个格子;若返回为Z;则啾啾就在以该点为中心的3*3的矩阵中的某个格子。

现在某个小赛尔为了快速通关而获得奖励,使用了外挂,从而获得了每个格子的返回值,但是看着眼花缭乱的字母,却无从下手,于是便找到了你(至于怎么找到的,为了我的生命安全,我还是不说了),请你编写程序帮助他找到啾啾所在的格子。(众人:这种水题还好意思说这么长时间!)啊!!!!!!(惨叫声)

【输入数据格式】

第一行两个数n,m,表示一个m*n的矩阵;

第二行到第m−1行每行一个长度为n的字符串,表示矩阵状态。

【输出数据格式】

一行两个数,分别为啾啾藏身的格子的列数和行数。

【输入样例】

6 4

ZZZCNX

ZXZCNX

ZZZCNX

CCCCNX

【输出样例】

2 2

【数据范围及约定】

20%的数据:1≤n,m≤5;

60%的数据:1≤n,m≤70;

100%的数据:1≤n,m≤100;

【Hite】

真的真的很水。

思路:暴力搜索。

跑的慢的

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,num;
struct nond{
int x,y,flag;
}v[];
int map[][];
int main(){
freopen("kadun.in","r",stdin);
freopen("kadun.out","w",stdout);
scanf("%d%d",&m,&n);
for(int i=;i<=n;i++){
char s[];
scanf("%s",s+);
for(int j=;j<=m;j++){
if(s[j]=='X'){
v[++num].x=i;
v[num].y=j;
}
else if(s[j]=='N') map[i][j]=;
else if(s[j]=='C') map[i][j]=;
else if(s[j]=='Z') map[i][j]=;
}
}
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
if(map[i][j]!=)
for(int k=;k<=num;k++)
if(v[k].flag||v[k].x<i-map[i][j]||v[k].x>i+map[i][j]||v[k].y<j-map[i][j]||v[k].y>j+map[i][j])
v[k].flag=;
for(int i=;i<=num;i++)
if(!v[i].flag){
cout<<v[i].y<<" "<<v[i].x;
break;
}
}

跑的快的

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int m,n;
char s[][];
int main(){
freopen("kadun.in","r",stdin);
freopen("kadun.out","w",stdout);
scanf("%d%d",&m,&n);
for(int i=;i<n;i++)
scanf("%s",s[i]);
for(int i=;i<n;i++)
for(int j=;j<m;j++)
if(s[i][j]=='X'&&(s[i+][j]=='Z'&&s[i][j+]=='Z'||s[i-][j]=='Z'&&s[i][j-]=='Z')){
printf("%d %d",j+,i+);
return ;
}
return ;
}

cogs 1755. 爱上捉迷藏的更多相关文章

  1. 【COGS & USACO】896. 圈奶牛(凸包)

    http://cojs.tk/cogs/problem/problem.php?pid=896 我的计算几何入门题... 看了看白书的计算几何部分,,恩好嘛.. 乃们都用向量!!!! 干嘛非要将2个点 ...

  2. [COGS 2066]七十与十七

    http://218.28.19.228/cogs/problem/problem.php?pid=2066 [题目描述] 七十君最近爱上了排序算法,于是Ta让十七君给Ta讲冒泡排序. 十七君给七十君 ...

  3. 恋爱虽易,相处不易:当EntityFramework爱上AutoMapper

    剧情开始 为何相爱? 相处的问题? 女人的伟大? 剧情收尾? 有时候相识即是一种缘分,相爱也不需要太多的理由,一个眼神足矣,当EntityFramework遇上AutoMapper,就是如此,恋爱虽易 ...

  4. 疯狂了!当游戏爱上MongoDB会怎么样???

    导读 前端时间魔兽这个电影我相信大家都看过了哈,作为一个码农,有时候我也会去思考魔兽世界这个游戏背后他的一些设计和实现,比如他用什么数据库.当然真正用什么数据库这个我是不确定的,我们今天的主题是当游戏 ...

  5. iOS开发之表视图爱上CoreData

    在接触到CoreData时,感觉就是苹果封装的一个ORM.CoreData负责在Model的实体和sqllite建立关联,数据模型的实体类就相当于Java中的JavaBean, 而CoreData的功 ...

  6. 爱上iOS单元测试系列之爱上她就要先了解她:单元测试入门

    前言 对于单元测试一开始我是拒绝的.单元测试是一个什么东东,因为我喜欢做iOS开发是因为喜欢写APP的啊,一切和这一目标不相干的东西我没兴趣啊,所以从事iOS开发几年都没去深入学习过单元测试(主要是之 ...

  7. 【COGS 254】【POI 2001】交通网络图

    http://www.cogs.top/cogs/problem/problem.php?pid=254 dist[i]表示能最早到达i点的时间.这样就可以用最短路模型来转移了. #include&l ...

  8. 【COGS】894. 追查坏牛奶

    http://cojs.tk/cogs/problem/problem.php?pid=894 题意:n个点m条边的加权网络,求最少边数的按编号字典序最小的最小割.(n<=32, m<=1 ...

  9. 从此爱上iOS Autolayout

    转:从此爱上iOS Autolayout 这篇不是autolayout教程,只是autolayout动员文章和经验之谈,在本文第五节友情链接和推荐中,我将附上足够大家熟练使用autolayout的教程 ...

随机推荐

  1. 2、Python列表和元组

    2.Python序列 序列是一种数据存储方式,类似于C语言的数组.简单的说序列是一块用来存储多个值的连续内存空间,同一个序列的元素通常是相关的. Python中常用的序列结构有列表.元组.字典.字符串 ...

  2. UVA 11426 GCD - Extreme (II) (数论|欧拉函数)

    题意:求sum(gcd(i,j),1<=i<j<=n). 思路:首先能够看出能够递推求出ans[n],由于ans[n-1]+f(n),当中f(n)表示小于n的数与n的gcd之和 问题 ...

  3. 动态语言切换(续)-designer中的retranslateUi(带源码)

    本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息.原文链接.原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途. 谢谢合作.原文链接:动态语言切换(续)-designer中 ...

  4. thinkphp5项目--个人博客(七)

    thinkphp5项目--个人博客(七) 项目地址 fry404006308/personalBlog: personalBloghttps://github.com/fry404006308/per ...

  5. Kali linux 2016.2(Rolling)里Metasploit连接(包括默认和自定义)的PostgreSQL数据库之后的切换到指定的工作空间

    不多说,直接上干货! 为什么要这么做? 答: 方便我们将扫描不同的目标或目标的不同段,进行归类.为了更好的后续工作! 前期博客 Kali linux 2016.2(Rolling)里Metasploi ...

  6. jsp输出九九乘法表

    <% String st = ""; for(int i = 1; i <= 9; i++){ for(int j = 1; j <= i; j++){ st + ...

  7. prezi,mfc,toefl,java

    1 用prezi做ppt然后讲 2 用mfc把算法封起来 3 做tpo,背单词 4 写java 哪个任务都很难办.而且脚还没好.

  8. windows, fast-rcnn CPU版本的安装配置

    一:安装准备 1:caffe的安装配置,本人用的是happynear大神的caffe版本,具体链接https://github.com/happynear/caffe-windows,编译时需要用到p ...

  9. Mojo For Chromium Developers1

    Mojo For Chromium Developers Overview This document contains the minimum amount of information neede ...

  10. [洛谷P1726][codevs1332]上白泽慧音

    题目大意:求一个有向图的最大强连通分量中点的个数,并输出这些点(字典序最小). 解题思路:裸的强连通分量. 数据小,求完强连通分量后排序+vector大小比较即可(vector有小于运算符). C++ ...