ความท้าทายนี้ได้รับแรงบันดาลใจจากแอพนี้ กรณีทดสอบถูกยืมมาจากแอพนั้น
นี่คือความท้าทายรหัสที่เร็วที่สุดโดยมีวัตถุประสงค์เพื่อแก้กรณีทดสอบที่ใหญ่ที่สุดในเวลาน้อยที่สุด มีกรณีทดสอบขนาดเล็กกว่าเล็กน้อยเพื่อให้ผู้คนสามารถทดสอบอัลกอริทึมของพวกเขาได้เร็วขึ้น
คุณจะได้รับตารางตารางการป้อนข้อมูลของขนาดn โดย nที่9 <= n <= 12 ตารางนี้จะแบ่งออกเป็นพื้นที่nซึ่งเซลล์ของแต่ละพื้นที่มีตัวระบุเฉพาะ (ฉันจะใช้ตัวอักษรตัวพิมพ์เล็กจากalในข้อความที่นี่ แต่คุณอาจเลือกสิ่งที่คุณต้องการเช่นจำนวนเต็ม1-12 ) .
อินพุตอาจมีลักษณะดังนี้ (รูปแบบอินพุตเสริม):
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
หรือง่ายต่อการมองเห็น:
ท้าทาย:
คุณต้องวางต้นไม้2 * nในสวนนี้ตามกฎต่อไปนี้:
- จะต้องมี2ต้นต่อคอลัมน์และ2ต้นต่อแถว
- พื้นที่ทั้งหมดจะต้องมีต้นไม้2ต้น
- ไม่มีต้นไม้ใดที่สามารถติดกับต้นไม้ต้นอื่นได้ทั้งแนวตั้งแนวนอนหรือแนวทแยงมุม
วิธีแก้ปัญหาสำหรับเค้าโครงด้านบนคือ:
หมายเหตุ: มีเพียงทางออกเดียวสำหรับปริศนาแต่ละตัว
กฎเพิ่มเติม:
- รูปแบบอินพุตและเอาต์พุตเป็นทางเลือก
- ตัวอย่างเช่นผลลัพธ์อาจเป็นรายการของดัชนีกริดที่มี1/0 เพื่อระบุว่ามีต้นไม้อยู่ในตำแหน่งนั้นหรือเป็นเวอร์ชั่นที่ได้รับการแก้ไขของอินพุตซึ่งมีการระบุต้นไม้
- เวลาดำเนินการจะต้องกำหนดไว้ล่วงหน้า
- โปรแกรมจะต้องเสร็จสิ้นภายใน 1 นาทีที่คอมพิวเตอร์ของ @ isaacg
- รายละเอียด: 4 CPU, i5-4300U CPU @ 1.9 GHz, 7.5G of RAM
- ในกรณีที่โปรแกรมของคุณไม่สามารถแก้กรณีทดสอบที่ใหญ่ที่สุดสองรายการในหนึ่งนาทีจากนั้นเวลาสำหรับกรณีที่ใหญ่ที่สุดอันดับสอง ( n = 11 ) จะเป็นคะแนนของคุณ คุณจะแพ้การแก้ปัญหาที่แก้ไขกรณีที่ใหญ่ที่สุด
กรณีทดสอบ:
ฉันอาจแก้ไขรายการนี้หากดูเหมือนว่าจะมีการปรับแต่งการส่งเพื่อให้เหมาะสมกับกรณีทดสอบเหล่านี้
12 ต่อ 12 :
--- Input ---
aaaaabccccdd
aaaaabccccdd
aaaaabbbbddd
eeeafffgbghh
eeaafffgbghh
eefffffggghh
eeefijffghhh
iieiijjjjkhh
iiiiijjjjkhk
lljjjjjjjkkk
llllllkkkkkk
llllllkkkkkk
--- Solution ---
aaaaabcccCdD
aaaaaBcCccdd
aAaaabbbbdDd
eeeaffFgBghh
eeAaFffgbghh
eefffffGgGhh
EeefijffghhH
iiEiIjjjjkhh
IiiiijjjjkHk
lljJjJjjjkkk
lLllllkkKkkk
lllLllKkkkkk
11 ต่อ 11 :
--- Input ---
aaaaaaabbcc
adddabbbbcc
edddbbbbbbc
eddddbbbbbb
effffggghhh
effffgghhii
eefffjjhhii
eeeejjjhhii
eeejjjjkiii
jjjjjjkkiii
jjjjjkkkiii
--- Solution ---
aaAaaaabbCc
adddAbBbbcc
eDddbbbbbbC
eddDdBbbbbb
effffggGhHh
eFfffGghhii
eefFfjjhHii
EeeejjjhhiI
eeEjjjjKiii
JjjjJjkkiii
jjjjjkKkIii
10 โดย 10
--- Input ---
aaaaabccdd
aeaabbbccd
aeaabfbgcd
eeeaafggcd
eeeaafghcd
eeeiifghcd
ieiiigghcd
iiijighhcd
jjjjighhcd
jjjggghhdd
--- Solution ---
aaAaabccdD
aeaaBbBccd
aEaabfbgcD
eeeaaFgGcd
eEeAafghcd
eeeiiFghCd
IeiIigghcd
iiijigHhCd
JjJjighhcd
jjjgGghHdd
9 โดย 9
--- Input ---
aabbbbbcc
adddbbbcc
adeeecccc
adddefgcc
hhhdifggg
hdddifffg
hhhiifffg
hihiifffg
iiiiiiggg
--- Solution ---
aAbBbbbcc
adddbbBcC
adEeEcccc
AdddefgCc
hhhDiFggg
hDddifffG
hhhiIfFfg
HiHiifffg
iiiiiIgGg
--- Input ---
aaabbbccc
aaaabbccc
aaaddbcce
ffddddcce
ffffddeee
fgffdheee
fggfhhhee
iggggheee
iiigggggg
--- Solution ---
aaAbBbccc
AaaabbcCc
aaaDdBcce
fFddddcCe
fffFdDeee
fGffdheeE
fggfHhHee
IggggheeE
iiIgggGgg
There shall be exactly 2 trees per column, and 2 trees per row
ดังนั้นจึงเป็นไปไม่ได้