จำนวนการลงคะแนนเสียงซึ่งเราจะติดป้ายBคือจำนวนของวิธีการของการจัดหมายเลข 1 ผ่าน B (B + 1) / 2 ลงในรูปสามเหลี่ยมเช่นว่าแต่ละแถวและคอลัมน์ที่อยู่ในลำดับการเพิ่มใด ๆ หมายเลขบัตรสี่หมายเลขแรกคือ:
a(0) = 1
a(1) = 1
a(2) = 1
a(3) = 2
a(3)
คือ 2 ซึ่งหมายความว่ามี 2 วิธีในการจัดเรียงตัวเลขจาก 1 ถึง3(3+1)/2 = 6
ในรูปสามเหลี่ยมดังกล่าว:
1 1
2 3 or 2 4
4 5 6 3 5 6
ดูรายการลำดับ OEISสำหรับรายละเอียดเพิ่มเติม
ความท้าทายของคุณซึ่งมีรูปสามเหลี่ยมการลงคะแนนคือการตรวจสอบความถูกต้อง หากเป็นไปตามเงื่อนไขของรูปสามเหลี่ยมการลงคะแนน (แถวและคอลัมน์ที่เพิ่มขึ้น) คุณควรส่งออกจำนวนวิธีอื่น ๆ (ไม่รวมหนึ่งในอินพุต) มีการจัดเรียงสามเหลี่ยมอย่างถูกต้อง ถ้าสามเหลี่ยมอินพุตถูกสร้างอย่างไม่ถูกต้องคุณไม่ควรส่งอะไร
ขึ้นบรรทัดใหม่ที่ได้รับอนุญาต
อินพุต
สามเหลี่ยมของตัวเลขซึ่งอาจเป็นหรือไม่มีรูปสามเหลี่ยมที่ถูกต้อง ตัวอย่างเช่น:
1
2 3
4 5 6
1
10 5
9 8 2
7 6 4 3
1
3 2
9
2 11
14 3 5
12 8 1 7
15 13 10 4 6
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
เอาท์พุต
หากการป้อนข้อมูลเป็นรูปสามเหลี่ยมการลงคะแนนเสียงที่ถูกต้องจำนวนวิธีที่เหลือในการจัดเรียงหมายเลขเดียวกันในรูปสามเหลี่ยมการลงคะแนนที่ถูกต้อง หากการป้อนข้อมูลไม่ใช่สามเหลี่ยมการลงคะแนนเสียงที่ถูกต้อง ตัวอย่างเช่นอินพุตด้านบนสร้างเอาต์พุตเหล่านี้ ( <nothing>
เป็นตัวยึดสำหรับเอาต์พุตว่างจริง):
1 # the same as a(3)-1
<nothing>
<nothing>
<nothing>
33591 # the same as a(6)-1
เกณฑ์การให้คะแนน
นี่คือcode-golf : ตามปกติการนับไบต์ต่ำสุดที่ชนะ Tiebreaker ติดประกาศเร็วที่สุด
1/4 5/2 3 6
ถูกต้อง