สร้างโปรแกรมที่กำหนดในการเล่น n dโอเอกซ์กับผู้เข้าแข่งขันอื่น ๆ
โปรแกรมของคุณควรทำงานเมื่อn
(ความกว้าง) และd
(หมายเลขมิติ) อยู่ในช่วงเหล่านี้:
n∈[3,∞)∩ℕ ie a natural number greater than 2
d∈[2,∞)∩ℕ ie a natural number greater than 1
n = 3; d = 2
(3 2คือ 3 จาก 3):
[][][]
[][][]
[][][]
n = 3; d = 3
(3 3เช่น 3 โดย 3 โดย 3):
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
[][][]
n = 6; d = 2
(6 2คือ 6 จาก 6):
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
[][][][][][]
และอื่น ๆ
การป้อนข้อมูล:
อินพุตจะเป็น STDIN บรรทัดแรกของการป้อนข้อมูลจะเป็นตัวเลขสองn
และในรูปแบบd
n,d
หลังจากนี้จะเป็นบรรทัดที่ประกอบด้วยพิกัดที่ระบุการเคลื่อนไหวที่ได้ทำไปแล้ว พิกัดจะแสดงรายการในแบบฟอร์ม: 1,1;2,2;3,3
. มุมซ้ายบนเป็นจุดกำเนิด (0,0 สำหรับ 2D) ในกรณีทั่วไปรายการนี้จะเหมือนกับ1,2,...,1,4;4,0,...,6,0;...
หมายเลขแรกแทนซ้าย - ขวา - เนสส์ลำดับที่สองจากด้านล่าง - อันดับที่สามผ่านทางมิติที่ 3 ฯลฯ โปรดทราบว่าพิกัดแรกคือX
เทิร์นแรกวินาที เป็นO
เทิร์นแรก, ....
หากนี่เป็นการย้ายครั้งแรกอินพุตจะเป็นตัวเลขตามด้วยบรรทัดว่าง 1 บรรทัด
เพื่อความสอดคล้องอินพุตจะลงท้ายด้วยการขึ้นบรรทัดใหม่เสมอ ตัวอย่างอินพุต (\ n คือบรรทัดใหม่):
10,10\n0,0,0,0,0,0,0,0,0,0;0,2,3,4,5,6,7,8,9,0;0,1,2,3,4,5,6,7,8,9\n
สำหรับการย้ายครั้งแรก:
10,10\n\n
ที่\n
เป็นตัวละครขึ้นบรรทัดใหม่
เอาท์พุท:
แสดงการเคลื่อนไหวที่คุณต้องการในรูปแบบเดียวกับอินพุต (รายการที่คั่นด้วยเครื่องหมายจุลภาค) การย้ายที่ไม่ถูกต้อง (เช่นที่ได้ดำเนินการไปแล้ว) จะส่งผลให้สูญเสียเกม
หมายเหตุ: คุณสามารถใช้ตัวสร้างตัวเลขสุ่มได้ตราบใดที่คุณเริ่มต้นด้วยค่าที่การรันแต่ละครั้งจะเหมือนกันในเงื่อนไขเดียวกัน กล่าวอีกนัยหนึ่งโปรแกรมจะต้องกำหนดขึ้น
หมายเหตุ: อนุญาตให้ทำการย้ายที่ถูกต้องเท่านั้น
เกมที่ชนะ (หากคุณเล่น Tic Tac Toe หลายมิติมากพอก็จะเหมือนกัน)
เพื่อให้มีการชนะผู้เล่นคนหนึ่งจะต้องมีสี่เหลี่ยมที่อยู่ติดกันทั้งหมดตามแนว นั่นคือผู้เล่นนั้นจะต้องมีการn
เคลื่อนไหวในบรรทัดเพื่อเป็นผู้ชนะ
ตั้งอยู่ใกล้เคียง:
- กระเบื้องแต่ละจุด เช่น (0,0,0,0,0) เป็นจุด
d=5
- ไพ่ที่อยู่ติดกันคือไพ่เช่นกันซึ่งพวกเขาทั้งสองจุดบนหน่วย d-cube เดียวกัน กล่าวอีกนัยหนึ่งระยะทาง Chebyshevระหว่างแผ่นคือ 1
- กล่าวอีกนัยหนึ่งถ้าจุด
p
อยู่ติดกับจุดq
จากนั้นทุกพิกัดในพิกัดp
ที่สอดคล้องกันในq
ความแตกต่างจากมันไม่เกินหนึ่ง นอกจากนี้อย่างน้อยในการประสานงานคู่แตกต่างกันโดยหนึ่ง
บรรทัด:
- เส้นถูกกำหนดโดยเวกเตอร์และกระเบื้อง เส้นคือแต่ละไทล์ที่กระทบกับสมการ:
p0 + t
<
some vector with the same number of coordinates as p0>
เงื่อนไขการจำลองและการชนะ:
ระบุคำตอบของคุณหากพร้อมสำหรับการให้เกรด นั่นคือระบุอย่างชัดเจนว่าคำตอบของคุณเสร็จสิ้นหรือไม่
หากคำตอบของคุณถูกทำเครื่องหมายว่าเสร็จสิ้นแล้วคำตอบนั้นจะไม่ถูกให้คะแนนจนกว่าอย่างน้อย 24 ชั่วโมงหลังจากแก้ไขรหัสล่าสุด
โปรแกรมจะต้องทำงานแบบออฟไลน์ หากโปรแกรมพบว่ามีการโกงโปรแกรมจะได้รับคะแนนโดยอัตโนมัติ
-1
และจะไม่ถูกทำคะแนนเพิ่มเติม (ใครจะจบลงด้วยการโกงโปรแกรมของพวกเขา?)หากโปรแกรมของคุณสร้างผลลัพธ์ที่ไม่ถูกต้องระบบจะนับการสูญเสียทันทีของเกม
หากโปรแกรมของคุณล้มเหลวในการสร้างผลผลิตหลังจาก 1 นาทีมันจะถูกนับทันทีว่าเป็นความสูญเสียสำหรับเกม หากจำเป็นให้ปรับความเร็วให้เหมาะสม ฉันไม่ต้องการรอหนึ่งชั่วโมงเพื่อทดสอบโปรแกรมอื่น
แต่ละโปรแกรมจะทำงานกับโปรแกรมอื่น ๆ สองครั้งสำหรับแต่ละ
n
ในช่วง[3,6]
และแต่ละคนd
ในช่วง[2,5]
เมื่อเป็นและครั้งเดียวX
O
นี่คือหนึ่งรอบสำหรับแต่ละเกมที่โปรแกรมชนะจะได้
+3
คะแนน หากโปรแกรมเชื่อมโยง (ชนะ 1 และแพ้ 1 ในรอบเดียวหรือความสัมพันธ์สำหรับการเล่นเกมทั้งสอง)+1
แล้วจะได้รับ หากโปรแกรมสูญหายก็จะได้รับ+0
(เช่นไม่มีการเปลี่ยนแปลง)โปรแกรมที่มีคะแนนสูงสุดจะเป็นผู้ชนะ หากมีการเสมอกันโปรแกรมที่มีจำนวนเกมที่แพ้น้อยที่สุด (จากผู้แข่งขันที่ผูก) จะชนะ
หมายเหตุ: ขึ้นอยู่กับจำนวนคำตอบฉันอาจต้องการความช่วยเหลือในการทดสอบ
โชคดี! และแบบจำลองอาจทำงานในความโปรดปรานของคุณ!