ชุดจุดพอใจ arborallyเป็นชุด 2D ของจุดดังกล่าวว่าสำหรับรูปสี่เหลี่ยมผืนผ้าแกนชิดใด ๆ ที่สามารถเกิดขึ้นโดยใช้สองจุดในชุดที่เป็นมุมตรงข้ามสี่เหลี่ยมที่มีหรือสัมผัสอย่างน้อยหนึ่งจุดอื่น ๆ นี่คือคำจำกัดความที่เทียบเท่าจาก Wikipedia:
จุดที่ตั้งไว้ว่ามีความพึงพอใจใน Arborally ถ้าทรัพย์สินดังต่อไปนี้: สำหรับคู่ใด ๆ ที่ไม่ได้อยู่บนเส้นแนวนอนหรือแนวตั้งเดียวกันมีจุดที่สามซึ่งอยู่ในรูปสี่เหลี่ยมผืนผ้าทอดสองจุดแรก ( ภายในหรือบนขอบเขต)
ภาพต่อไปนี้แสดงให้เห็นถึงวิธีการสร้างรูปสี่เหลี่ยมผืนผ้า ชุดจุดนี้ไม่ได้รับความพึงพอใจจาก Arborally เนื่องจากสี่เหลี่ยมผืนผ้านี้ต้องมีจุดอย่างน้อยหนึ่งจุด
ใน ASCII art ชุดจุดนี้สามารถแสดงเป็น:
......
....O.
......
.O....
......
การปรับเปลี่ยนเล็กน้อยสามารถทำให้สิ่งนี้น่าพึงพอใจทาง Arborally:
......
....O.
......
.O..O.
......
ด้านบนคุณจะเห็นว่ารูปสี่เหลี่ยมผืนผ้าทั้งหมด (ซึ่งมีเพียงหนึ่งรูป) มีจุดอย่างน้อยสามจุด
นี่คืออีกตัวอย่างหนึ่งของชุดจุดที่ซับซ้อนมากขึ้นซึ่งเป็นที่พอใจของ Arborally:
สำหรับสี่เหลี่ยมใด ๆ ที่สามารถวาดซึ่งประกอบไปด้วยสองจุดสี่เหลี่ยมนั้นจะมีจุดอื่นอย่างน้อยหนึ่งจุด
ความท้าทาย
กำหนดตารางสี่เหลี่ยมของจุด (ซึ่งผมแทนด้วยO
) และพื้นที่ว่างเปล่า (ซึ่งผมแทนด้วย.
) เอาท์พุทtruthyค่าถ้ามันเป็นที่พอใจ arborally หรือfalseyค่าถ้ามันไม่ได้ นี่คือรหัสกอล์ฟ
กฎเพิ่มเติม:
- คุณสามารถเลือกที่จะมีตัวอักษร
O
และ.
สลับกับอักขระ ASCII ที่พิมพ์ได้คู่อื่น ๆ เพียงระบุการแมปอักขระที่โปรแกรมของคุณใช้ - ตารางจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ บรรทัดใหม่ต่อท้ายที่ได้รับอนุญาต
ตัวอย่างเพิ่มเติม
พอใจกับ Arborally:
.OOO.
OO...
.O.OO
.O..O
....O
..O..
OOOO.
...O.
.O.O.
...OO
O.O.
..O.
OOOO
.O.O
OO..
...
...
...
...
..O
...
O.....
O.O..O
.....O
OOO.OO
ไม่พอใจ Arborally:
..O..
O....
...O.
.O...
....O
..O..
O.OO.
...O.
.O.O.
...OO
O.....
..O...
.....O