Easy102. ĐƯỜng đi thoát mê cung danh cho nguoi moi bat dau hoc Tin hoc 4



tải về 438.29 Kb.
trang14/16
Chuyển đổi dữ liệu02.09.2016
Kích438.29 Kb.
#30832
1   ...   8   9   10   11   12   13   14   15   16

143. GHÉT NHAU NÉM ĐÁ...


Liz và Lilly đã từng là những người bạn rất thân, nhưng họ đã cãi lộn và quyết định chia tay nhau. "Tôi không muốn nhìn thấy bạn nữa, tôi sẽ đặt những tảng đá ở đâu đó để nếu tôi có đi đâu từ nhà, tôi cũng không bao giờ phải nhìn thấy cái bản mặt của bạn" - Cả hai đều nói.

L&L cùng sống trong một ngôi làng nhỏ được chia thành lưới ô vuông nxn. Nhà của Liz ở ô (1, 1) và nhà Lilly ở ô (n, n). Mỗi ô của lưới mang một trong 3 ký hiệu:



  • ".": Vùng đất (Land)

  • "X": Hồ (Lake)

  • "*": Tảng đá (Rock)

Mỗi người có thể di chuyển từ một ô sang ô kề cạnh nếu đó là vùng đất, và khi đứng ở một ô (x, y), họ có thể nhìn thấy ô (x', y') nếu:

  • Ô (x', y') là cùng hàng hoặc cùng cột với ô (x, y)

  • Khoảng cách từ ô (x, y) đến ô (x', y') không quá k

  • Không có tảng đá nào chắn tầm mắt

Cả hai đều là kẻ lười biếng, vì vậy họ chỉ muốn đặt thêm một số ít nhất các tảng đá. Đồng thời, các tảng đá phải đặt cách nhà của mỗi người một khoảng cách tối thiểu là m.

Lưu ý: Khoảng cách giữa hai ô (x1, y1) và (x2, y2) quy ước là x1 - x2 + y1 - y2
Hãy chỉ ra cách đặt các tảng đá thoả mãn yêu cầu của cả hai người
Dữ liệu: Vào từ file văn bản FAREWELL.INP

  • Dòng 1: Chứa 3 số n, k, m (5  n  20; 1  k, m  n) cách nhau đúng 1 dấu cách

  • n dòng tiếp theo, dòng thứ i chứa n ký tự liên tiếp mà ký tự thứ j là ký hiệu ô (i, j) của lưới


Kết quả: Ghi ra file văn bản FAREWELL.OUT

  • Dòng 1: Ghi số tảng đá phải đặt, trong trường hợp không có phương án thì dòng này ghi số -1

  • Trong trường hợp có phương án khả thi thì n dòng tiếp theo, dòng thứ i ghi n ký tự liên tiếp mà ký tự thứ j là ký hiệu ô (i, j) của lưới sau khi đã đặt đá. Lưu ý rằng ta vẫn dùng ký hiệu * cho những tảng đá đã có và dùng ký hiệu "#" cho những tảng đá đặt thêm


Ví dụ


FAREWELL.INP

FAREWELL.OUT




FAREWELL.INP

FAREWELL.OUT

7 4 4

.......

......*

....*X.

**.*.X.

...*...

.XX..*.

.......

2

.......

.....#*

....*X.

**#*.X.

...*...

.XX..*.

.......




8 7 3

........

.XXXXXX.

.X....X.

.X....X.

.X....X.

.X....X.

.XXXXXX.

........

4

...#....

.XXXXXX.

.X....X.

#X....X.

.X....X#

.X....X.

.XXXXXX.

....#...



144. NỐI DÂY


Xét hình chữ nhật R trong hệ trục toạ độ Decattes vuông góc có các đỉnh là (0, 0); (m, 0); (m, n) và (0, n). Ta gọi một đoạn nối là một đoạn thẳng nằm trong R, độ dài 1 đơn vị mà các toạ độ của hai đầu mút là số nguyên (dễ thấy đoạn nối chỉ có một trong hai dạng: (x, y)-(x+1, y) hoặc (x, y)-(x, y+1). Ban đầu có một vài đoạn nối được vẽ sẵn trong R. Có hai người chơi, mỗi người khi đến lượt mình được quyền vẽ ra một đoạn nối, nếu đoạn này cùng với các đoạn nối đã vẽ khép kín thêm được một ô vuông đơn vị nào đó thì người chơi sẽ được chiếm các (1 hoặc 2) ô vuông này và phải tiếp tục các thao tác như trên cho tới khi:

  • Hoặc tất cả các đoạn nối đã được vẽ  trò chơi kết thúc

  • Hoặc vẫn còn đoạn nối chưa vẽ nhưng bước nối cuối cùng không chiếm được thêm ô vuông đơn vị nào, trò chơi sẽ được tiếp tục với người kia bằng luật chơi tương tự

Giả sử chương trình của bạn tham gia trò chơi với vai trò người đi trước, người kia là một chương trình khác. Hãy lập trình thể hiện chiến thuật chơi sao cho tới khi trò chơi kết thúc, số ô chương trình của bạn chiếm được là nhiều nhất có thể.
Dữ liệu: Vào từ file văn bản CELLS.INP

  • Dòng 1: Chứa hai số m, n (1  m, n  100)

  • Các dòng tiếp, mỗi dòng ghi 4 số x1, y1, x2, y2 thể hiện một đoạn nối đã vẽ sẵn: (x1, y1)-(x2, y2)


Kết quả mỗi lượt đi của bạn phải ghi vào file văn bản PLAYER1.DAT gồm một số dòng, dòng thứ i ghi 4 số x1(i), y1(i), x2(i), y2(i) tượng trưng cho đoạn nối (x1(i), y1(i)) - (x2(i), y2(i)) là đoạn nối thứ i trong lượt đi.

Chương trình của bạn phải khai báo sử dụng thư viện CELLS.TPU, sau mỗi lượt đi, khi đã tạo file PLAYER1.DAT, bạn phải gọi thủ tục InterChange của thư viện này để nhận được file văn bản PLAYER2.DAT có khuôn dạng như PLAYER1.DAT chứa các thông tin về lượt đi của máy tiếp theo lượt đi của bạn. Lưu ý rằng trong bất kỳ trường hợp nào trò chơi kết thúc (sau lượt đi của bạn hay của máy), thủ tục InterChange cũng sẽ dừng chương trình tức khắc để thống kê số ô chiếm được của hai bên.
















X

X

X




X

X

X

























O




O

























O

O

O

start




player 1




player 2




CELLS.INP

PLAYER1.DAT

PLAYER2.DAT

3 3

0 0 0 1

0 0 1 0

1 0 2 0

2 0 3 0

3 0 3 1

1 1 1 2

1 1 2 1

2 1 2 2

0 3 0 2

0 2 1 2

1 2 2 2

2 2 3 2

0 3 1 3

1 3 2 3

2 3 3 3

1 2 1 3

2 2 2 3

3 2 3 3

2 1 3 1

3 1 3 2

2 0 2 1

1 0 1 1

0 1 1 1

0 1 0 2

Player I 3 - 5 Player II

Каталог: Portals
Portals -> Phan Chau Trinh High School one period test no 2 Name: English : 11- time : 45 minutes Class: 11/ Code: 211 Chọn từ hoặc cụm từ thích hợp A, B, C, d để điền vào chỗ trống trong đoạn văn sau
Portals -> PHẦn I: thông tin cơ BẢn về ĐẠi hàn dân quốc và quan hệ việt nam-hàn quốc I- các vấN ĐỀ chung
Portals -> Năng suất lao động trong nông nghiệp: Vấn đề và giải pháp Giới thiệu
Portals -> LẤy ngưỜi học làm trung tâM
Portals -> BÀi tậP Ôn lưu huỳnh hợp chất lưu huỳnh khí sunfurơ so
Portals -> TỜ trình về việc ban hành mức thu phí tham gia đấu giá quyền sử dụng đất
Portals -> CỘng hòa xã HỘi chủ nghĩa việt nam độc lập – Tự do – Hạnh phúc
Portals -> GIẤY Ủy quyền tham dự Đại hội đồng Cổ đông thường niên năm 2016

tải về 438.29 Kb.

Chia sẻ với bạn bè của bạn:
1   ...   8   9   10   11   12   13   14   15   16




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương