遭遇战

遭遇战
【问题描述】
小林和小华在一个n*n 的矩形方格里玩游戏,矩形左上角为(0,0),右下角为(n-1,n-
1)。两人同时进入地图的随机位置,并以相同速度进行走位。为了隐蔽性,两人都不会再走
自己走过的格子。如果两人向某一方向前进,那么他们会跑到不能跑为止,当不能跑的时候,
小林会向右转,小华则会向左转,如果不能跑,则不再动。 现在已知两人进入地图的初始
位置和方向,请算出两人遭遇的位置。
【输入】
第一行一个正整数t,表示测试数据的组数。
接下来的t 组数据,每组数据的第一行包含1 个整数n,。
第二行包含三个整数,x、y 和d,表示小林的初始位置和一开始跑的方向。其中d=0 表
示东;d=1 表示南;d=2 表示西;d=3 表示北。
第三行与第二行格式相同,但描述的是小华。
【输出】
输出t 行,若会遭遇,则包含两个整数,表示他们第一次相遇的格子的坐标,否则输出
“-1”。

【输入输出样例】
fight.in
2
2
0 0 0
0 1 2
4
0 1 0
3 2 0

fight.out
-1
1 3

考试第一题(惊了)刚了两个多小时。。。纯模拟。。。呵呵:

  1 #include<bits/stdc++.h>
  2 using namespace std;
  3 int k,n;
  4 int x_1,y_1,z_1,x_2,y_2,z_2;
  5 int biao_ji1=1,biao_ji2=1;
  6 int b1[1100][1100],b2[1100][1100];
  7 int main()
  8 {
  9     cin>>k;
 10     while(k)
 11     {
 12         cin>>n;
 13         cin>>x_1>>y_1>>z_1;//读入
 14         cin>>x_2>>y_2>>z_2;
 15         biao_ji1=biao_ji2=1;//默认能走
 16         memset(b1,0,sizeof(b1));
 17         memset(b2,0,sizeof(b2));
 18         while((x_1!=x_2||y_1!=y_2)&&(biao_ji1||biao_ji2))//循环先前走
 19         {
 20             b1[x_1][y_1]=1;//标记
 21             b2[x_2][y_2]=1;
 22             if(biao_ji1)//如果小林能走
 23             {
 24                 if(z_1==3)//根据题意去试
 25                 {
 26                     if(x_1-1>=0&&b1[x_1-1][y_1]==0) x_1--;
 27                     else
 28                     {
 29                         z_1=0;
 30                         if(y_1+1<n&&b1[x_1][y_1+1]==0) y_1++;
 31                         else biao_ji1=0;//表示无法再走
 32                     }
 33                 }
 34                 else if(z_1==0)
 35                 {
 36                     if(y_1+1<n&&b1[x_1][y_1+1]==0) y_1++;
 37                     else
 38                     {
 39                         z_1=1;
 40                         if(x_1+1<n&&b1[x_1+1][y_1]==0) x_1++;
 41                         else biao_ji1=0;
 42                     }
 43                 }
 44                 else if(z_1==1)
 45                 {
 46                     if(x_1+1<n&&b1[x_1+1][y_1]==0) x_1++;
 47                     else
 48                     {
 49                         z_1=2;
 50                         if(y_1-1>=0&&b1[x_1][y_1-1]==0)    y_1--;
 51                         else biao_ji1=0;
 52                     }
 53                 }
 54                 else
 55                 {
 56                     if(y_1-1>=0&&b1[x_1][y_1-1]==0)    y_1--;
 57                     else
 58                     {
 59                         z_1=3;
 60                         if(x_1-1>=0&&b1[x_1-1][y_1]==0)    x_1--;
 61                         else biao_ji1=0;
 62                     }
 63                 }
 64             }
 65             if(biao_ji2)//同上
 66             {
 67                 if(z_2==3)
 68                 {
 69                     if(x_2-1>=0&&b2[x_2-1][y_2]==0)    x_2--;
 70                     else
 71                     {
 72                         z_2=2;
 73                         if(y_2-1>=0&&b2[x_2][y_2-1]==0)    y_2--;
 74                         else biao_ji2=0;
 75                     }
 76                 }
 77                 else if(z_2==0)
 78                 {
 79                     if(y_2+1<n&&b2[x_2][y_2+1]==0) y_2++;
 80                     else
 81                     {
 82                         z_2=3;
 83                         if(x_2-1>=0&&b2[x_2-1][y_2]==0)    x_2--;
 84                         else biao_ji2=0;
 85                     }
 86                 }
 87                 else if(z_2==1)
 88                 {
 89                     if(x_2+1<n&&b2[x_2+1][y_2]==0)    x_2++;
 90                     else
 91                     {
 92                         z_2=0;
 93                         if(y_2+1<n&&b2[x_2][y_2+1]==0) y_2++;
 94                         else biao_ji2=0;
 95                     }
 96                 }
 97                 else
 98                 {
 99                     if(y_2-1>=0&&b2[x_2][y_2-1]==0)    y_2--;
100                     else
101                     {
102                         z_2=1;
103                         if(x_2+1<n&&b2[x_2+1][y_2]==0) x_2++;
104                         else biao_ji2=0;
105                     }
106                 }
107             }
108         }
109         if(x_1==x_2&&y_1==y_2)    cout<<x_1<<" "<<y_1;
110         else cout<<-1;
111         cout<<endl;
112         k--;
113     }
114 }

呵呵呵呵呵呵呵呵呵呵呵呵呵......................

原文地址:https://www.cnblogs.com/dai-jia-ye/p/9821520.html

时间: 2024-10-11 05:09:11

遭遇战的相关文章

谷歌在中国的遭遇战

据纽约时报中文网报道,从5月27日开始,谷歌(Google)在华的几乎所有的服务都处于无法使用的状态,除了搜索引擎遭到屏蔽之外,谷歌的邮箱(Gmail).日历(Calendar).翻译(Translate).地图(Maps).分析(Analytics)和Google AdSense等产品也受到了影响. 分析人士表示,这种对谷歌的屏蔽强度之大前所未有,"这是目前为止,谷歌在中国受到的规模最大的屏蔽,"GreatFire的一名联合创始人说,"所有Google国家版本不论是否加密,

Vijos 1404 遭遇战

Vijos 1404 遭遇战 背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了.(一个人就能守住??这人是机械战警还是霹雳游侠?)但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶.他们不愿意去单独守在荒无

Vijos P1404 遭遇战

背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了.(一个人就能守住??这人是机械战警还是霹雳游侠?)但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶.他们不愿意去单独守在荒无人烟的A区,在指挥官的一再命令

[Vijos] 遭遇战

背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了.(一个人就能守住??这人是机械战警还是霹雳游侠?)但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶.他们不愿意去单独守在荒无人烟的A区,在指挥官的一再命令

vijos1404 遭遇战

描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了.(一个人就能守住??这人是机械战警还是霹雳游侠?)但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶.他们不愿意去单独守在荒无人烟的A区,在指挥官的一再命令下,他们终于妥协了,但是他们每个人都要求能继续旅游,于是给出了自己的空闲时间,而且你强大的情报系

vijos1404:遭遇战

背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了.(一个人就能守住??这人是机械战警还是霹雳游侠?)但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶.他们不愿意去单独守在荒无人烟的A区,在指挥官的一再命令

短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求

图形验证码+ip(用户id)+https http://www.cnblogs.com/han-1034683568/p/7040417.html 前言 承接前文<短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜>,在解决了短信发送的问题后,长长地舒了口气,也就各忙各的事情去了,本以为应该是个完美的收场,哪知道只是泥泞道路的前一段,收场是收不了了,还是要去应付接下来的烂摊子,因为攻击者并没有停止攻击,虽然恶意请求已经可以被识别并且不会被业务服务器处理,也不会去触发短信发送接口,但是请

花了一天读了《游戏设计快乐之道》

关于大脑及学习 一个弹了二十年吉他的人,可以很快学会其他乐器.这其中的关键不是肌肉记忆,因为肌肉没有记忆,而是神经.而是大脑.游戏的作用,也就在此显明了 你应当去玩你不喜欢的游戏,以及那些不吸引你的游戏.如此才能弥补自己的缺点 成功游戏的关键 一个拥有这些元素的游戏,堪称好游戏. 准备-如,战前疗伤 空间感-比如,象棋的棋盘.桥牌的座次 坚固的核心机制-比如,象棋,一次移动一枚棋子 一系列挑战-但挑战不可改变规则 解决问题的能力(给玩家多重选择) 运用能力所需的技能-诸如:资源管理.时间控制.敏

红色警戒2修改器原理百科(十)

(二十一)转换阵营--很炫酷却很简单 这个功能,貌似当初很火很轰动,感觉很强大--联网对战中控制对手单位,卖掉对手建筑!右边的建造选项也是对手的,你可以替对手建造单位.可是这个原理很简单,游戏中一个很重要的指针CurrentPlayer(即game.exe+635DB4这个基址)指向本地玩家的数据,你所有的操作依据最终都来源于此.如果你把这个指针指向对手的数据,游戏就认为你原本就是对手--这是游戏设计的缺陷. 但是只在联网对战中有效.单机时也有一定作用,能看到电脑的科技是全开的--当然除了超级武