ผลต่างระหว่างรุ่นของ "Fario2014"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
(ไม่แสดง 2 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 32: | แถว 32: | ||
== Problem 3: Super Maria II: Another Castle == | == Problem 3: Super Maria II: Another Castle == | ||
− | Fungus Republic | + | Fungus Republic กลับสู่ความสงบสุขไปครั้งหนึ่งด้วยความช่วยเหลือจาก Maria ช่างไฟฟ้าผู้ถ่อมตน แต่ทุกอย่างกลับสิ้นสลายเนื่องจากการรุกรานของ Wowser โดย Wowser ได้จับตัว Prince Nectarine (อีกแล้ว) และซ่อนไว้ในที่ที่ Maria จะไม่มีวันหาเจอ |
+ | |||
+ | อย่างไรก็ตาม Maria ก็ไม่หวาดหวั่นแต่อย่างใด อาศัยสัญญาณจากโทรศัพท์เห็ดของ Nectarine, Maria ได้จำกัดขอบเขตการค้นหาอยู่ที่ปราสาท N หลัง ปราสาทเหล่านี้เรียงตัวกันเป็นเส้นตรงโดยมีหมายเลขเป็น 0 ถึง N-1 โดยปราสาทที่ 0 อยู่ด้านซ้ายสุด และ 1 อยู่ถัดมาตามลำดับ | ||
+ | |||
+ | Maria นั้นเร่งรีบที่จะหาองค์ชาย เธอจึงได้เช่ารถลากที่ลากโดยไดโนเสาร์ Shoyi เมื่อใดก็ตามที่ Maria ต้องการลงจากรถหรือต้องการให้รถลากเปลี่ยนทิศทางเธอจะต้องให้ทิปกับ Shoyi | ||
+ | |||
+ | Maria เริ่มต้นที่ปราสาท 0 หันหน้าไปทางขวา เมื่อ Maria ไปถึงปราสาท i เธอสามารถทำเลือกทำกิจกรรมจากกิจกรรมทั้งสามแบบดังนี้ | ||
+ | |||
+ | * เดินทางไปยังปราสาทถัดไปในทิศทางที่หันอยู่ตอนนี้ โดยไม่ต้องเสียเงินแต่อย่างใด นั่นคือ ถ้าเธอหันไปทางซ้าย เธอสามารถเดินทางไปยังปราสาท j ใด ๆ โดยไม่เสียค่าใช้จ่าย ถ้า j < i และถ้าเธอหันไปทางขวา เธอสามารถเดินทางไปยังปราสาท j โดยไม่เสียค่าใช้จ่าย ถ้า j > i | ||
+ | |||
+ | * จ่ายเงิน C<sub>1</sub> หน่วย เพื่อให้กลับรถลากและหันหน้าไปอีกทางหนึ่ง | ||
+ | |||
+ | * จ่ายเงิน C<sub>2</sub> เพื่อลงจากรถลากเพื่อไปเปิดประตูปราสาท i ถ้า Maria เลือกจะทำกิจกรรมนี้ มีเหตุการณ์เกิดขึ้นได้สองแบบ คือ | ||
+ | ** เธอเจอเจ้าชาย สู้ชนะ Wowser และกลับไปยัง Fungus Republic อย่างปลอดภัย | ||
+ | ** เธอเจอกบ โดยกบจะบอกเธอว่าเจ้าชายอยู่ในปราสาทอื่น และการไปยังปราสาทนั้นจากปราสาทนี้ จะต้องไปในทิศทางใด (ซ้ายหรือขวา) | ||
+ | |||
+ | Maria ต้องการให้จำนวนเหรียญที่ต้องจ่ายนั้น น้อยที่สุด Maria หยิบแลบทอปคู่ใจขึ้นมาแล้วส่งอีเมลหาคุณให้ช่วยแก้ปัญหานี้ทันที |
รุ่นแก้ไขปัจจุบันเมื่อ 15:49, 20 เมษายน 2557
Source: [1]
Problem 1: Network System Administration
คุณเป็น Network System Administrator (NSA) ของโรงเรียนแห่งหนึ่ง เนื่องจากโรงเรียนเพิ่งโดนแฮ็คเพื่อแก้หน้าเว็บไซต์ คุณจึงได้ถูกจ้างมาเพื่อเฝ้าระวังเครื่องข่ายของโรงเรียน
ผู้บริหารโรงเรียนได้ตกลงที่จะมอบ meta data ของการส่งอีเมลของนักเรียน (คือเวลาที่ส่ง ผู้ส่ง ผู้รับของทุก ๆ อีเมลที่วิ่งผ่านเครือข่าย) แต่การตัดสินใจนี้ทำให้เกิดการโวยวายจากเหล่านักเรียนเป็นอันมากเพราะว่าอาจจะเข้าข่ายละเมิดความเป็นส่วนตัวของนักเรียน
เพื่อที่แสดงว่าการได้รับข้อมูลดังกล่าวของคุณนั้นเหมาะสม คุณจะเขียนโปรแกรมเพื่อแสดงว่า meta data ดังกล่าวจะมีประโยชน์ในกรณีที่มีการบุกรุกของลาโทรจัน (trojan mule) จากการฝึกอบรมของ NSA คุณทราบว่าลาโทรจันคือไวรัสที่ทำงานคล้าย ๆ กับ ม้าโทรจัน เพียงแต่ว่า มันจะไม่ขยายพันธุ์เท่านั้น
กล่าวโดยละเอียดคือ ลาโทรจันเริ่มทำงานที่เครื่องคอมพิวเตอร์เครื่องแรกโดยการแปะตัวเอง (attach) ไปกับอีเมลแรกที่ส่งออกจากเครื่องนั้น ระหว่างที่อีเมลถูกส่งไปยังอีกเครื่อง ไวรัสจะลบตัวเองออกจากเครื่องที่ส่งเมลและไปติดยังเครื่องปลายทางและรออีเมลที่จะถูกส่งออกต่อไปเพื่อที่ย้ายตัวเองไปยังเครื่องถัด ๆ ไปเรื่อย ๆ ดังนั้น ในเวลาหนึ่ง ๆ จะมีไวรัสอยู่ชุดเดียวเท่านั้นในระบบเครืองข่าย
โปรแกรมคอมพิวเตอร์ของคุณจะต้องสามารถตอบคำถามที่อยู่ในรูปแบบ "ถ้าลาโทรจันเริ่มต้นอยู่ที่เครื่องคอมพิวเตอร์ X เครื่องคอมพิวเตอร์เครื่องใดที่มันอยู่ในขณะนี้?" คำถามเหล่านี้จะปะปนกับข้อมูล meta data ของอีเมลใหม่
Problem 2: Connect
คุณกำลังสร้างวงจรสำหรับ xPhone 6 โทรศัพท์ที่จะปฏิวัติวงการด้วยความหนาที่ลดลง 2.2 มิลลิเมตร และความโค้งมนที่ลดลงไป 5.4% จากเครื่อง xPhone 5 ที่ตกรุ่นและไร้คุณค่าแล้ว
วงจรที่คุณจะสร้างอยู่ในรูปแบบนี้:
- มีโหนดจำนวน 2N โหนดบนสายสัญญาณหลัก (เรียกว่า bus) เชื่อมต่อกันเป็นเส้น
- แต่ละโหนดจะต้องเชื่อมกับอีกหนึ่งโหนดโดยใช้สายสัญญาณเส้นใหม่ โหนดทั้ง 2N โหนดจะถูกกำหนดชื่อด้วยจำนวนเต็มระหว่าง 1 ถึง N จะมีโหนดสองโหนดพอดีที่มีชื่อเดียวกันและคู่ของโหนดเหล่านี้จะต้องถูกเชื่อมเข้าด้วยกันด้วยสายสัญญาณใหม่รวม N เส้น
- วงจรจะต้องถูกพิมพ์ออกมาบนแผ่นวงจร ดังนั้น จะต้องไม่มีสายสัญญาณคู่ใดที่ตัดกัน สายสัญญาณใหม่ที่จะเพิ่มเข้าไปนั้นจะต้องอยู่ด้านบนอย่างเดียว หรืออยู่ด้านล่างอย่างเดียวของสายสัญญาญหลักเท่านั้น
(ดูรูปในแฟ้ม)
รูปด้านซ้ายระบุวิธีการวางสายสัญญาณที่ใช้ได้ รูปกลางแสดงตัวอย่างการวางสายสัญญาณที่ผิด รูปขวาแสดงวิธีการวางสายสัญญาณที่สายสัญญาณใหม่อยู่ด้านบนของสายสัญญาณหลักเท่านั้น สังเกตว่าสำหรับกรณีทดสอบด้านซ้ายและตรงกลาง เราจะไม่สามารถวางสายให้ผ่านเงื่อนไขโดยที่วางสายสัญญาณใหม่อยู่ด้านบนสายสัญญาณหลักเสมอ
ให้คุณเขียนโปรแกรมเพื่อตรวจสอบว่าเป็นไปได้หรือไม่ที่จะสร้างวงจรด้วยเงื่อนไขเหล่านี้ ถ้าสามารถทำได้ ให้คุณเขียนระบุด้วยว่าสำหรับแต่ละคู่โหนด สายสัญญาณใหม่ที่เชื่อมนั้นจะอยู่ด้านบนหรือด้านล่างของสายสัญญาณหลัก
Problem 3: Super Maria II: Another Castle
Fungus Republic กลับสู่ความสงบสุขไปครั้งหนึ่งด้วยความช่วยเหลือจาก Maria ช่างไฟฟ้าผู้ถ่อมตน แต่ทุกอย่างกลับสิ้นสลายเนื่องจากการรุกรานของ Wowser โดย Wowser ได้จับตัว Prince Nectarine (อีกแล้ว) และซ่อนไว้ในที่ที่ Maria จะไม่มีวันหาเจอ
อย่างไรก็ตาม Maria ก็ไม่หวาดหวั่นแต่อย่างใด อาศัยสัญญาณจากโทรศัพท์เห็ดของ Nectarine, Maria ได้จำกัดขอบเขตการค้นหาอยู่ที่ปราสาท N หลัง ปราสาทเหล่านี้เรียงตัวกันเป็นเส้นตรงโดยมีหมายเลขเป็น 0 ถึง N-1 โดยปราสาทที่ 0 อยู่ด้านซ้ายสุด และ 1 อยู่ถัดมาตามลำดับ
Maria นั้นเร่งรีบที่จะหาองค์ชาย เธอจึงได้เช่ารถลากที่ลากโดยไดโนเสาร์ Shoyi เมื่อใดก็ตามที่ Maria ต้องการลงจากรถหรือต้องการให้รถลากเปลี่ยนทิศทางเธอจะต้องให้ทิปกับ Shoyi
Maria เริ่มต้นที่ปราสาท 0 หันหน้าไปทางขวา เมื่อ Maria ไปถึงปราสาท i เธอสามารถทำเลือกทำกิจกรรมจากกิจกรรมทั้งสามแบบดังนี้
- เดินทางไปยังปราสาทถัดไปในทิศทางที่หันอยู่ตอนนี้ โดยไม่ต้องเสียเงินแต่อย่างใด นั่นคือ ถ้าเธอหันไปทางซ้าย เธอสามารถเดินทางไปยังปราสาท j ใด ๆ โดยไม่เสียค่าใช้จ่าย ถ้า j < i และถ้าเธอหันไปทางขวา เธอสามารถเดินทางไปยังปราสาท j โดยไม่เสียค่าใช้จ่าย ถ้า j > i
- จ่ายเงิน C1 หน่วย เพื่อให้กลับรถลากและหันหน้าไปอีกทางหนึ่ง
- จ่ายเงิน C2 เพื่อลงจากรถลากเพื่อไปเปิดประตูปราสาท i ถ้า Maria เลือกจะทำกิจกรรมนี้ มีเหตุการณ์เกิดขึ้นได้สองแบบ คือ
- เธอเจอเจ้าชาย สู้ชนะ Wowser และกลับไปยัง Fungus Republic อย่างปลอดภัย
- เธอเจอกบ โดยกบจะบอกเธอว่าเจ้าชายอยู่ในปราสาทอื่น และการไปยังปราสาทนั้นจากปราสาทนี้ จะต้องไปในทิศทางใด (ซ้ายหรือขวา)
Maria ต้องการให้จำนวนเหรียญที่ต้องจ่ายนั้น น้อยที่สุด Maria หยิบแลบทอปคู่ใจขึ้นมาแล้วส่งอีเมลหาคุณให้ช่วยแก้ปัญหานี้ทันที