พื้นหลัง
Manufactoriaถูกวางตลาดเป็นเกม แต่เราโค้ดนักกอล์ฟสามารถดูได้ว่ามันคืออะไร: ภาษาโปรแกรมสองมิติ ภาษาการเขียนโปรแกรม Manufactoria มีพื้นฐานมาจากคิวเดียวซึ่งมีชุดของเครื่องหมายที่มีสีสัน ตัวชี้คำสั่งเคลื่อนที่ไปรอบ ๆ กระดานเกมโดยใช้สายพานลำเลียงและพบชุดของนักเขียนและกิ่งก้านที่อ่านและเขียนไปยังคิว
ภาษานั้นง่ายต่อการเข้าใจดังนั้นวิธีที่เร็วที่สุดในการเรียนรู้คือเล่นสองสามระดับแรกของเกม (เชื่อมโยงด้านบน)
ท้าทาย
ความท้าทายของคุณคือการสร้างโปรแกรมที่สามารถแบ่งจำนวนหนึ่งด้วยหมายเลขอื่นในเวลาน้อยที่สุด
อินพุตไปยังโปรแกรมจะเป็นสตริงของตัวทำเครื่องหมาย X blue ตามด้วยเครื่องหมาย Y แดง เอาต์พุตที่ต้องการจะเป็นสตริงของเครื่องหมายสีแดงที่มีความยาว X / Y
บอร์ดเกมที่จะใช้พบได้ในระดับการแข่งขันอย่างเป็นทางการนี้:
มันคือ 13x13 (ขนาดสูงสุด) และติดตั้งการทดสอบที่ถูกต้องไว้ล่วงหน้าแล้ว (ดูหัวข้อการให้คะแนน)
เกณฑ์การให้คะแนน
คะแนนของโปรแกรมคือระยะเวลาทั้งหมดที่ใช้ในการผ่านการทดสอบทั้งหมดในระดับการแข่งขันอย่างเป็นทางการ เวลาทั้งหมดถูกกำหนดบนหน้าจอระดับที่สมบูรณ์
ขณะทำการทดสอบคุณจะต้องใช้ตัวเลื่อนเร่งความเร็ว 50x ที่ด้านล่างซ้ายเพื่อรับผลลัพธ์อย่างรวดเร็ว (การเร่งความเร็วเวลาไม่มีผลต่อคะแนน)
นี่คือรายการปัญหาการหารที่เกี่ยวข้องในการทดสอบ:
6/2 = 3
3/3 = 1
4/1 = 4
0/1 = 0
12/4 = 3
12/3 = 4
9/3 = 3
10/2 = 5
ตัวอย่าง I / O
12/3=4
in: BBBBBBBBBBBBRRR
out: RRRR
10/2=5
in: BBBBBBBBBBRR
out: RRRRR
9/3=3
in: BBBBBBBBBRRR
out: RRR
0/1=0
in: R
out: