关于上次抓猫题目100分解法(pascal)
来源:互联网 发布:淘宝客微信群封号 编辑:程序博客网 时间:2024/05/20 13:12
var
n,m,i,j,ans:longint;
a:array[0..1000,0..1000] of char;
b:array[0..1000,0..1000] of boolean;
procedure dg(x,y:longint);
var
ch:char;
begin
ch:=a[x,y];
a[x,y]:=' ';
if b[x,y] then
begin
inc(ans);
exit;
end;
b[x,y]:=true;
case ch of
'E':dg(x,y+1);
'W':dg(x,y-1);
'S':dg(x+1,y);
'N':dg(x-1,y);
end;
b[x,y]:=false;
end;
begin
readln(n,m);
ans:=0;
for i:=1 to n do
begin
for j:=1 to m do
read(a[i,j]);
readln;
end;
for i:=1 to n do
begin
for j:=1 to m do
if (a[i,j]='E')or(a[i,j]='W')or(a[i,j]='S')or(a[i,j]='N') then dg(i,j);
end;
writeln(ans);
end.
n,m,i,j,ans:longint;
a:array[0..1000,0..1000] of char;
b:array[0..1000,0..1000] of boolean;
procedure dg(x,y:longint);
var
ch:char;
begin
ch:=a[x,y];
a[x,y]:=' ';
if b[x,y] then
begin
inc(ans);
exit;
end;
b[x,y]:=true;
case ch of
'E':dg(x,y+1);
'W':dg(x,y-1);
'S':dg(x+1,y);
'N':dg(x-1,y);
end;
b[x,y]:=false;
end;
begin
readln(n,m);
ans:=0;
for i:=1 to n do
begin
for j:=1 to m do
read(a[i,j]);
readln;
end;
for i:=1 to n do
begin
for j:=1 to m do
if (a[i,j]='E')or(a[i,j]='W')or(a[i,j]='S')or(a[i,j]='N') then dg(i,j);
end;
writeln(ans);
end.
1 0
- 关于上次抓猫题目100分解法(pascal)
- 关于上次射击题目100分解法(pascal)
- 关于上次石子游戏题目100分解法(pascal)
- 关于上次公共子串题目100分解法(pascal)
- 关于一道题目解法
- 关于hellboundhackers的一些题目的解法
- 上次题目的答案
- 关于微软面试100题系列中两道题目的个人解法
- 上次题目的论坛版
- PAT上面一道关于“月饼”的题目的解法
- Cholesky分解法
- Crout分解法
- cholesky分解法
- Cholesky分解法
- Cholesky分解法
- 整数因子分解法
- Radar题目及解法
- 贴吧题目 解法
- Android中Recyclerview使用5----添加头部:RecyclerViewHeader
- 根据输入的textField首字符排序
- FMDB的简单应用
- BZOJ 2115 [Wc2011] Xor
- 单元格删除方法和交换位置方法
- 关于上次抓猫题目100分解法(pascal)
- July 15th比赛——积木游戏
- ArrayList 的实现原理
- 面试题4
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- 面试题5
- 面试题(线程)
- 异常
- IO流