中国教育在线
中国教育在线

国家重点学科
高考分数线
内容推荐
在线答疑
内容推荐
首页 > 高考 > 澳门
第十届全国青少年信息学奥林匹克联赛初赛试题
2010-09-21
作者:信息女士
关注掌上高考


 

2.逻辑游戏

题目描述:

一个同学给了我一个逻辑游戏。他给了我图1,在这个图上,每一段边界都已经进行了编号。我的任务是在图中画一条连续的曲线,使得这条曲线穿过每一个边界一次且仅穿过一次,而且曲线的起点和终点都在这整个区域的外面。这条曲线是容许自交的。

对于图1,我的同学告诉我画出这样的一条曲线(图2)是不可能的,但是对于有的图形(比如图3),画出这样一条曲线是可行的。对于给定的一个图,我想知道是否可以画出满足要求的曲线。

图1

图2

图3

图4

输入:

输入的图形用一个n×n的矩阵表示的。矩阵的每一个单元里有一个0到255之间(包括0和255)的整数。处于同一个区域的单元里的数相同,相邻区域的数不同(但是不相邻的区域里的数可能相同)。

输入的第一行是n(0<n<100)。以下的n行每行包括n个整数,分别给出对应的单元里的整数(这n个整数之间用空格分开)。图4给出了输入样例对应的图形。

输出:

    当可以画出满足题意的曲线的时候,输出“YES”;否则,输出“NO”。

输入样例:

3

1 1 2

1 2 2

1 1 2

输出样例:

    YES

程序:

program program2;

const

    d: array[0..7] of integer = (1, 0, -1, 0, 0, 1,   ①  );

var

    orig, n, i, j, ns: integer;

    a: array[0..101, 0..101] of integer;

    bun: boolean;

procedure plimba(x, y: integer);

var i, x1, y1: integer;

begin

    a[x, y] := -a[x, y];

    if (abs(a[x - 1, y]) <> orig) and ((  ②   <> a[x - 1, y])

or (abs(a[x, y - 1]) <> orig)) then inc(ns);

    if (abs(a[x + 1, y]) <> orig) and ((a[x + 1, y - 1] <> a[x + 1,y])

or (abs(a[x, y - 1]) <> orig)) then inc(ns);

    if (abs(a[x, y - 1]) <> orig) and ((  ③   <> a[x, y - 1])

or (abs(a[x - 1, y]) <> orig)) then inc(ns);

    if (abs(a[x, y + 1]) <> orig) and ((a[x - 1, y + 1] <> a[x,y + 1])

or (abs(a[x - 1, y]) <> orig)) then inc(ns);

    for i := 0 to 3 do begin

       x1 := x + d[2 * i];y1:=y+  ④  ;

       if (x1 >= 1) and (x1 <= n) and (y1 >= 1) and (y1 <= n) and

(  ⑤  ) then plimba(x1, y1);

    end;

end;

begin

    bun := true;

    read(n);

    for i := 0 to n+1 do

for j := 0 to n+1 do a[i, j] := 0;

    a[0, 0] := -1; a[n + 1, 0] := -1;

    a[0, n + 1] := -1; a[n + 1, n + 1] := -1;

    for i := 1 to n do

for j := 1 to n do read(a[i, j]);

    for i := 1 to n do

for j := 1 to n do

if a[i, j] > -1 then begin

              ns := 0;   ⑥  ;

              plimba(i, j);

              if ns mod 2 = 1 then bun := false;

            end;

    if bun then writeln('YES');

    if not bun then writeln('NO');

end.

<< < 1 2 3 4 5 6 > >> 共 6 页
站长统计
免责声明:

① 凡本站注明“稿件来源:中国教育在线”的所有文字、图片和音视频稿件,版权均属本网所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发表。已经本站协议授权的媒体、网站,在下载使用时必须注明“稿件来源:中国教育在线”,违者本站将依法追究责任。

② 本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。

热门推荐
相关新闻
图片
图片