โปรแกรมของคุณจะต้องพิมพ์ช่องว่างจำนวนหนึ่งตามด้วยจุดและขึ้นบรรทัดใหม่ จำนวนช่องว่างคือตำแหน่ง x ของจุดที่คุณกำหนดด้วย 0 <x <30
ทุกบรรทัดใหม่คือเทิร์น โปรแกรมของคุณทำงานเป็นเวลา 30 รอบ โปรแกรมของคุณเริ่มต้นด้วยการสุ่มตำแหน่ง x และการหมุนทุกครั้งจะเลื่อนตำแหน่งนี้แบบสุ่มไปทางซ้ายหรือขวา 1 โดยอยู่ในพื้นที่ที่กำหนด ทุกจุดของคุณจะต้องเปลี่ยนตำแหน่งโดย 1
คะแนนของคุณคือจำนวนตัวอักษร คุณจะได้รับ 10 คะแนนโบนัสหากทุกบรรทัดที่พิมพ์ประกอบด้วยอักขระ 30 ตัว (และขึ้นบรรทัดใหม่) คุณจะได้รับ 50 คะแนนโบนัสหากในขณะที่สุ่มโปรแกรมของคุณมีแนวโน้มที่จะอยู่ตรงกลางของพื้นที่ที่กำหนด
แก้ไข: คะแนนโบนัส 50 คะแนนมีจุดประสงค์เพื่อดึงจุดของคุณให้อยู่ตรงกลาง ตัวอย่างเช่นการใช้นี้ถ้าจุดของคุณอยู่ที่ x = 20 และมีโอกาส 66% ที่จะไปทางซ้ายและ 33% เพื่อไปทางขวา สิ่งนี้จะต้องเป็นอิสระจากจุดเริ่มต้นและควรเกิดขึ้นโดยการเปลี่ยนค่าร้อยละของซ้าย / ขวาแบบไดนามิก
ไม่อนุญาตให้อินพุตใด ๆ เอาต์พุตจะต้องอยู่ในคอนโซลการทำงาน!
เพื่อความเข้าใจที่ดีขึ้นต่อไปนี้เป็นตัวอย่างที่อ่านได้ใน java ซึ่งจะให้คะแนน 723:
public class DotJumper{
public static void main(String[] args){
int i = (int)(Math.random()*30);
int max = 29;
int step = 1;
int count = 30;
while(count>0){
if(i<=1){
i+=step;
}else if(i>=max){
i-=step;
}else{
if(Math.random() > 0.5){
i+=step;
}else{
i-=step;
}
}
print(i);
count--;
}
}
public static void print(int i){
while(i>0){
System.out.print(' ');
i--;
}
System.out.println('.');
}
}







int i = (int)(Math.random()*30);ควรจะเป็นint i = 1 + (int)(Math.random()*29);แทน ในฐานะที่เป็นคือมันสร้างหมายเลขแทน0 >= x > 300 > x > 30