猫捉老鼠(1019)
来源:互联网 发布:有声朗读软件 编辑:程序博客网 时间:2024/04/28 22:48
#include<stdio.h>
void main()
{
int a,i,j,n,ii,jj,iii,jjj,c,d,cout;char b[13][13],s;
while(scanf("%d",&a)!=EOF)
{
for(n=0;n<a;n++)
{scanf("%c",&s);
for(i=1;i<=10;i++)
for(j=1;j<=11;j++)
{scanf("%c",&b[i][j]);
if(b[i][j]=='m')
{ii=i;jj=j;}
if(b[i][j]=='c')
{iii=i;jjj=j;}}
c=1;d=1;cout=0;
for(i=0;i<=100000;i++)
{ switch(d)
{case 1:
{if(iii>1&&b[iii-1][jjj]!='*')
iii=iii-1;
else d=d+1;break;}
case 2:
{if(jjj<10&&b[iii][jjj+1]!='*')
jjj=jjj+1;
else d=d+1;break;}
case 3:
{if(iii<10&&b[iii+1][jjj]!='*')
iii=iii+1;
else d=d+1;break;}
case 4:
{if(jjj>1&&b[iii][jjj-1]!='*')
jjj=jjj-1;
else d=d-3;break;}}
switch(c){case 1:
{if(ii>1&&b[ii-1][jj]!='*')
ii=ii-1;
else c=c+1;break;}
case 2:
{if(jj<10&&b[ii][jj+1]!='*')
jj=jj+1;
else c=c+1;break;}
case 3:
{if(ii<10&&b[ii+1][jj]!='*')
ii=ii+1;
else c=c+1;break;}
case 4:
{if(jj>1&&b[ii][jj-1]!='*')
jj=jj-1;
else c=c-3;break;}}
cout=cout+1;
if(ii==iii&&jjj==jj)break;}
if(i<100000)
printf("%d/n",cout);else printf("0/n");}}}
这道题蛮简单的,主要要注意空格的处理方式,否则经常提交不成功!!
- 1019猫捉老鼠
- 猫捉老鼠(1019)
- FOJ 1019 猫捉老鼠
- FZU 1019 猫捉老鼠
- <FZU 1019>猫捉老鼠
- Problem 1019 猫捉老鼠
- fuzhuo-----Problem 1019 猫捉老鼠
- FZU 1019 猫捉老鼠 (直线搜索)
- FZU Problem 1019 猫捉老鼠
- 猫捉老鼠
- fZU_1019 猫捉老鼠
- 猫捉老鼠
- 小游戏"猫捉老鼠"
- 猫捉老鼠
- FZU1019-猫捉老鼠
- 猫捉老鼠 FZU
- FZU1019 猫捉老鼠 (BFS)
- 猫捉老鼠问题系列(一)
- DHC log 2009-7-31 - 2009-8-1
- C#中xml写入treeview,treeview写入xml
- 让您写的VC6.0程序在WindowsXP中拥有XP风格的外衣
- asp.net小数点四舍五入的方法
- 元厚文化,中国未来文化的挖掘者。
- 猫捉老鼠(1019)
- 转:090801对《奋斗》的评论
- List 采用delegate快速实现排序、查找等操作
- 一些 网络命令 net use ,start,nbtstat
- 在VC中使用SerialPort类实现串口通信
- .NET委托:一个C#睡前故事
- 加班赶工,得不偿失——历史给你上六课
- Mysql 数字类型转换
- word硬回车替换为软回车