รับชุดไพ่ในตารางฉันต้องการตรวจสอบ:
- หากกระเบื้องทำให้รูปที่ล้อมรอบ
- หากกระเบื้องทำให้ตัวเลขที่ถูกปิดล้อมเมื่อคุณนับด้านข้างของกระดานเป็นขอบของรูป
- หากหนึ่งในสองคำสั่งก่อนหน้านี้เป็นจริงกระเบื้องใดเพิ่มเติมที่อยู่ภายในรูปที่ปิดล้อมรูปแบบไทล์เริ่มต้น
ผู้เล่นจะเริ่มต้นด้วยการกดลงบนกระเบื้องหนึ่งแล้วลากนิ้วของพวกเขาไปยังกระเบื้องอื่น ๆ เพื่อสร้างห่วงโซ่ของกระเบื้องสีเดียวกัน ฉันจะตรวจสอบตามที่ฉันไปเพื่อดูว่าไทล์ถัดไปนั้นใช้ได้หรือไม่ อดีต หากผู้เล่นจะเริ่มต้นในกระเบื้องสีแดง, ย้ายที่ถูกต้องต่อไปของพวกเขาเพียงอย่างเดียวคือไปยังกระเบื้องสีแดงที่อยู่ติดกัน (เส้นทแยงมุมไม่นับ) เมื่อผู้ใช้ยกนิ้วฉันต้องสามารถตรวจสอบ 3 รายการข้างต้น
ดังนั้นความคิดเริ่มต้นของฉันก็คือตั้งแต่ฉันตรวจสอบความถูกต้องของโซ่ทุกครั้งที่ฉันไปเมื่อผู้เล่นยกนิ้วของฉันฉันสามารถตรวจสอบว่ากระเบื้องตัวแรกและตัวสุดท้ายติดกันหรือไม่ (ฉันรู้อยู่แล้วว่าพวกมันมีสีเดียวกัน) หากพวกเขาอยู่ติดกันฉันมีลางสังหรณ์ว่าฉันได้ทำร่างที่ปิดล้อมและฉันจะมาที่นี่เพื่อลองดูว่าฉันพลาดอะไรที่ยิ่งใหญ่หรือไม่ การพิสูจน์ตรรกะ / คณิตศาสตร์บางอย่างที่ว่าลางสังหรณ์ของฉันถูกต้อง (หรือตัวอย่างที่พิสูจน์ว่าไม่ถูกต้อง)
แต่นั่นคือเมื่อฉันคิดว่ารายการหมายเลข 2: ฉันยังต้องคำนึงถึงโซ่ที่ใช้ขอบของกระดานเป็นด้านข้างของรูปที่แนบมา ในกรณีนั้นรายการแรกและชิ้นสุดท้ายในห่วงโซ่จะไม่ติดกัน แต่ฉันก็ยังคงมีรูปที่ล้อมรอบ ดังนั้นตอนนี้ฉันกลับไปที่จตุรัสหนึ่งหน่อย
ฉันจะทำอย่างไรกับพิกัดกริดของโซ่นี้เพื่อหาว่าพวกมันสร้างรูปที่ล้อมรอบหรือไม่? และเมื่อฉันจะรู้ว่าฉันมีตัวเลขที่ล้อมรอบสิ่งที่เป็นวิธีที่ดีที่สุดที่จะได้รับรายชื่อที่เพิ่มขึ้นของกระเบื้องทั้งหมดที่ตกอยู่ภายในขอบเขตของตนหรือไม่
ด้านบนฉันวาดภาพสิ่งที่ฉันคาดหวังว่าผลลัพธ์ที่เป็นไปได้ 4 ข้อของการทดสอบนี้คือ
โซ่ไม่ได้ทำรูปที่ถูกปิดล้อม
โซ่ทำรูปที่ปิดล้อม
หากคุณนับด้านข้างของกระดานเป็นขอบ (หรือมากกว่าหนึ่งขอบ) ของรูปภาพโซ่จะสร้างรูปที่ล้อมรอบ
ห่วงโซ่จะสร้างรูปที่ถูกปิดล้อม แต่มีจุดข้อมูลเพิ่มเติม (ผู้ใช้เลือกอย่างถูกต้องเป็นส่วนหนึ่งของห่วงโซ่) ซึ่งไม่ได้เป็นส่วนหนึ่งของรูปที่สร้างขึ้น
กรณีที่ 4 นั้นยากที่สุดเพราะคุณต้องแยกลิงก์โซ่ "พิเศษ" เพื่อค้นหารูปที่แนบมาและชิ้นส่วนที่อยู่ข้างใน (แต่ไม่ต้องอยู่รอบ ๆ พื้นที่
ดังนั้น ... ใคร ๆ ก็มีความคิดว่าวิธีที่ดีในการแก้ไขปัญหานี้หรือเป็นเพียงจุดเริ่มต้นสำหรับฉัน ฉันจะไปเป็นวงกลมในจุดนี้และสามารถใช้ดวงตาอีกชุด