Trang chủ Tin Học Lớp 8 TRÒ CHƠI Ô CHỮ Một ô chữ được mô tả...

TRÒ CHƠI Ô CHỮ Một ô chữ được mô tả là một hình chữ nhật gồm 𝑛 dòng, 𝑚 cột. Một vài ô tự do và một số ô bị khóa. Biết rằng một từ được điền vào ô chữ phải đi

Câu hỏi :

TRÒ CHƠI Ô CHỮ Một ô chữ được mô tả là một hình chữ nhật gồm 𝑛 dòng, 𝑚 cột. Một vài ô tự do và một số ô bị khóa. Biết rằng một từ được điền vào ô chữ phải điền theo quy tắc sau: Bước 1: • Độ dài của một từ ít nhất là 3 kí tự (tức là cần tối thiểu 3 ô liên tiếp để điền được 1 từ) – 3 ô này phải là ô tự do. • Phải xác định được ô đầu của một từ (có thể theo chiều ngang hay dọc). Nếu một từ điền theo chiều ngang thì ô đầu tiên của một từ hoặc là ô trái nhất của 1 hàng hoặc ô bên trái của ô đó là một ô bị khóa. Nếu điền theo chiều dọc của ô chữ thì ô đầu của một từ hoặc là ô đầu của một cột hoặc ô phía trên của ô đó là một ô bị khóa. -3 -2 -1 0 1 2 3 4 5 Bước 2: Ta gán 1 cho mỗi ô là ô bắt đầu của một từ một số nguyên. Các ô này được gán các số lần lượt bắt đầu từ 1 theo đúng trình tự: các ô được đọc lần lượt theo hàng: hàng 1, hàng 2,.. trên mỗi hàng lại đọc từ trái qua phải.. Chỉ các ô bắt đầu của một từ mới được đánh số. Ví dụ: Quy ước tại 1 ô chứa dấu “.” là ô tự do, ô chứa “#” là ô bị khóa, nếu cho mô tả của một ô chữ như sau: ... #.. ... ..# .## Khi đó, ở các ô chứa dấu “!” là ô có thể bắt đầu 1 từ: !!! #.. !.. ..# .## Ta lần lượt đánh số các ô này theo quy ước ở bước 2: 123 #.. 4.. ..# .## Ở hàng thứ 2 không có từ nào cả vì độ dài không thỏa mãn. Yêu cầu: Cho một mô tả ban đầu về ô chữ, hãy cho biết ô chữ đố có bao nhiêu từ và vị trí các ô là ô đầu của mỗi từ theo mô tả ở trên Dữ liệu: vào từ ile văn bản CROSSWORDS.INP • Dòng đầu gồm 2 số n và m (𝑛, 𝑚 ≤ 50). • 𝑛 dòng tiếp theo, mỗi dòng gồm 𝑚 kí tự “.” hoặc “#” mô tả ô ở vị trí tương ứng là ô tự do hay ô bị khóa. Kết quả: Ghi ra file văn bản CROSSWORD.OUT: • Dòng đầu là số lượng các từ có thể của ô chữ. • Mỗi dòng tiếp theo ghi 2 số là chỉ số hàng và cột của ô đầu của mỗi từ theo quy tắc điền từ ở trên.

Lời giải 1 :

const fi='crossword.inp';
         fo='crossrord.out';
          maxn=50;
var board:array[0..maxn,0..maxn] of byte;
    kq:array[1..maxn,1..maxn] of byte;
    i,j:longint;
    n,m:longint;
    x:char;
procedure nhap;
var i:longint;
begin
        fillchar(kq,sizeof(kq),0);
        assign(input,fi);
        assign(output,fo);
        reset(input);
        rewrite(output);
        fillchar(board,sizeof(board),1);
        readln(n,m);
        for i:=1 to n do
         Begin
           for j:=1 to m do
                Begin
                   read(x);
                   if x='.' then board[i,j]:=0;
                end;
           readln;
         end;
end;

procedure xuli;
var i,j,dem,t,u:longint;
Begin

        for i:=1 to n do
           for j:=1 to m do
               begin
                  if board[i,j-1]=1 then
                    if board[i,j]+board[i,j+1]+board[i,j+2]=0 then
                      kq[i,j]:=1;
                  if board[i-1,j]=1 then
                    if board[i,j]+board[i+1,j]+board[i+2,j]=0 then
                      kq[i,j]:=1;
               end;
        dem:=0;
        for t:=1 to n do
         for u:=1 to m do
          if kq[t,u]=1 then
                inc(dem);
        writeln(dem);
        for t:=1 to n do
         for u:=1 to m do
          if kq[t,u]=1 then
                writeln(t,' ',u);
        close(input);
        close(output);
end;
begin
        nhap;
        xuli;
end.

Thảo luận

Lời giải 2 :

gửi....................

image

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247