บทสรุปผู้บริหาร
ให้ข้อมูลที่เป็นตัวแทนของเวกเตอร์สองตัวและ "น้ำหนัก" ตามลำดับของพวกเขาสร้างผลลัพธ์ที่แสดงถึงผลรวมถ่วงน้ำหนักของเวกเตอร์เหล่านั้น
ท้าทาย
อินพุตจะประกอบด้วยหนึ่งหรือหลายบรรทัดของอักขระต่อไปนี้:
- เกิดขึ้นหนึ่งหลักของ 0 ซึ่งหมายถึงต้นกำเนิดในระนาบสองมิติ;
- ตัวเลขสองหลักอื่น ๆ อย่างแน่นอน (1-9; อาจหรืออาจไม่ใช่ตัวเลขเดียวกัน) ซึ่งตำแหน่งที่สัมพันธ์กับจุดเริ่มต้นเป็นตัวแทนเวกเตอร์และค่าที่เป็นตัวแทนของน้ำหนักที่แนบมากับเวกเตอร์เหล่านั้น
- จำนวน "อักขระพื้นหลัง" บางส่วน ตัวแก้ไขอาจเลือกอักขระพื้นหลังเฉพาะ ตัวอย่างเช่นฉันจะเลือก "." (ส่วนใหญ่สำหรับการอ่านของมนุษย์) อีกวิธีหนึ่งตัวอักษรพื้นหลังสามารถเป็นอะไรก็ได้ที่มีลักษณะเหมือนพื้นที่ว่าง
(ตัวแก้ปัญหาสามารถเลือกได้ว่าอินพุตเป็นสตริงหลายบรรทัดเดียวหรือหลายอาร์เรย์ของสตริงหนึ่งบรรทัด)
ตัวอย่างเช่นการป้อนข้อมูล
....2
.0...
...3.
หมายถึงเวกเตอร์ที่พิกัด (3,1) ที่มีน้ำหนัก 2 และเวกเตอร์ที่พิกัด (2, -1) ที่มีน้ำหนัก 3
เอาต์พุตควรใกล้เคียงกับอินพุตโดยมีการเปลี่ยนแปลงต่อไปนี้:
- "อักขระผลลัพธ์" ซึ่งเลือกโดยตัวแก้จะถูกเพิ่มในตำแหน่งที่ระบุโดยผลรวมถ่วงน้ำหนักของเวกเตอร์อินพุต (เท่ากัน ณ ตำแหน่งที่เป็นการรวมเชิงเส้นที่เหมาะสมของอินพุตเวกเตอร์)
- อักขระพื้นหลังมากที่สุดเท่าที่จำเป็นเพื่อให้พอดีกับจุดเริ่มต้นทั้งสองเวกเตอร์อินพุตและเวกเตอร์ผลลัพธ์ในภาพเดียวกัน สามารถรวมอักขระพื้นหลังเพิ่มเติมได้หากต้องการ ข้อ จำกัด เพียงอย่างเดียวคือถ้าตัวอักษรพื้นหลังเป็นตัวอักษรที่มองเห็นได้แล้วผลลัพธ์ทั้งหมดจะต้องเป็นรูปสี่เหลี่ยมผืนผ้าและตัวละครทุกตัวที่ไม่ได้เป็นตัวแทนของเวกเตอร์จะต้องเป็นตัวละครพื้นหลัง (หากมีการใช้พื้นที่ว่างเป็นอักขระพื้นหลังดังนั้นจึงไม่จำเป็นต้องบังคับใช้ข้อ จำกัด เหล่านี้)
(โดยทั่วไปถ้าเรามีเวกเตอร์หนึ่งตัว (v, w) ที่มีน้ำหนัก a และเวกเตอร์ที่สอง (x, y) ที่มีน้ำหนัก b ผลรวมถ่วงน้ำหนักของพวกเขาคือ a (v, w) + b (x, y) = (av + BX + AW โดย).)
ในตัวอย่างก่อนหน้าชุดค่าผสมเชิงเส้นที่เหมาะสมคือ 2 * (3,1) + 3 * (2, -1) = (12, -1) หากเราใช้ "X" เป็นอักขระผลลัพธ์ผลลัพธ์จะมีลักษณะ
....2.........
.0............
...3.........X
หรือ
................
...2............
0...............
..3.........X...
................
................
การให้คะแนนโค้ดกอล์ฟแบบปกติ: คำตอบที่สั้นที่สุดเป็นไบต์ชนะ
ตัวอย่างอินพุตและเอาต์พุต
หากใช้ช่องว่างช่องว่างด้านบนจะมีลักษณะดังนี้
2
0
3
และผลลัพธ์ก็จะดูเหมือน
2
0
3 X
อักขระ / บรรทัดช่องว่างนำหน้า / ต่อท้ายไม่เกี่ยวข้อง หากพวกเขามองไม่เห็นผู้อ่านก็ไม่เป็นไร (ที่ถูกกล่าวว่าสำหรับตัวอย่างที่เหลือฉันจะกลับไปใช้ "." สำหรับตัวละครพื้นหลังเพื่อให้อ่านง่ายขึ้น)
หากเวกเตอร์ทั้งคู่มีน้ำหนัก 1 ผลลัพธ์จะมีรูปสี่เหลี่ยมด้านขนาน: อินพุต
.1.
...
1.0
นำไปสู่การส่งออก
X.1.
....
.1.0
หมายเหตุสี่เหลี่ยมด้านขนานนี้สามารถลดลงได้หากเวกเตอร์อินพุตเป็น collinear: อินพุต
0.1..1
นำไปสู่การส่งออก
0.1..1.X
เป็นไปได้สำหรับเวกเตอร์ผลลัพธ์ให้เท่ากับหนึ่งในเวกเตอร์อินพุตหรือต้นกำเนิด ในกรณีนี้มันเขียนทับอักขระอินพุต ตัวอย่างเช่นการป้อนข้อมูล
..2.0.1...
ผลผลิตผลผลิต
..X.0.1...
(โดยที่ในอินพุตและ / หรือเอาท์พุทช่วงเวลานำหน้าและต่อท้ายสามารถลบได้) การป้อนข้อมูล
.....3
......
...0..
......
......
2.....
ผลผลิตผลผลิต
.....3
......
...X..
......
......
2.....
ในที่สุดการป้อนข้อมูล
90
.8
ผลผลิตผลผลิต
........90
.........8
..........
..........
..........
..........
..........
..........
X.........