บทนำ:
ในซีกโลกเหนือ (เช่นยุโรปอเมริกาเหนือ ฯลฯ ) ฤดูกาลจะถูกแบ่งออกดังนี้:
- ฤดูใบไม้ผลิ:มีนาคม, เมษายน, พฤษภาคม
- ฤดูร้อน:มิถุนายน, กรกฎาคม, สิงหาคม
- ฤดูใบไม้ร่วง:กันยายน, ตุลาคม, พฤศจิกายน
- ฤดูหนาว:ธันวาคม , มกราคมกุมภาพันธ์
ในซีกโลกใต้อย่างไรก็ตาม (เช่นออสเตรเลียอเมริกาใต้ ฯลฯ ) ฤดูกาลจะถูกแบ่งออกดังนี้:
- ฤดูใบไม้ผลิ:กันยายน, ตุลาคม, พฤศจิกายน
- ฤดูร้อน:ธันวาคม, มกราคม, กุมภาพันธ์
- ฤดูใบไม้ร่วง:มีนาคม, เมษายน, พฤษภาคม
- ฤดูหนาว:มิถุนายนกรกฎาคมสิงหาคม
ความแตกต่างนี้เกิดจากตำแหน่งของดวงอาทิตย์เกี่ยวกับเส้นศูนย์สูตรซึ่งซีกโลกเหนือและซีกโลกใต้มีฤดูกาลที่ตรงกันข้าม
การป้อนข้อมูล:
ในการท้าทายนี้เราจะรับอินพุตสองตัว:
- หนึ่งรายการสำหรับเดือน (
1 <= m <= 12หรือ0 <= m <= 11) (ตัวอย่างและกรณีทดสอบทั้งหมดได้รับการจัดทำดัชนี 1 รายการ) - และหนึ่งในห้า 'ตำแหน่งกลุ่ม' ที่ละติจูดของโลก (
-2 <= p <= 2) ซึ่ง-2แอนตาร์กติก-1เป็นซีกโลกใต้ยกเว้นแอนตาร์กติก0คือเขตร้อนที่อยู่ใกล้เส้นศูนย์สูตร1คือซีกโลกเหนือยกเว้นอาร์กติกและ2เป็น อาร์กติก
แม้ว่าอาร์กติกขั้วโลกใต้และเขตร้อนของหลักสูตรยังคงมีฤดูกาลเพื่อประโยชน์ของความท้าทายนี้เราจะพูดอาร์กติกและแอนตาร์กติกอยู่ในสภาพคงที่ของและเขตร้อนอยู่ในสภาพคงที่ของWinterSummer
นี่คือภาพที่แสดงให้เห็นถึงห้ากลุ่มนี้ซึ่ง-2อยู่ที่วงกลมแอนตาร์กติก -1ระหว่าง Tropic of Capricorn และ Antarctic Circle 0ระหว่าง Tropic of Capricorn และ Tropic of Cancer; 1ระหว่าง Arctic Circle กับ Tropic of Cancer; และ-2อาร์กติกเซอร์เคิล

แหล่งที่มา: COSMOS สารานุกรมดาราศาสตร์
เอาท์พุท:
หนึ่งSpring, Summer, AutumnหรือWinterตามกฎเหล่านี้:
- คือตำแหน่งอินพุต
2หรือ-2(Arctic หรือ Antarctic) เอาต์พุตWinterทุกครั้ง - คือตำแหน่งอินพุต
0(Tropics) เอาต์พุตSummerทุกครั้ง - คือตำแหน่งอินพุต
1(ซีกโลกเหนือ) เอาท์พุทหนึ่งในสี่ของฤดูกาลตามอินพุตเดือน:Spring(m = [3,5]);Summer(m = [6,8]);Autumn(m = [9,11]);Winter(m = 12 or m = [1,2]) - คือตำแหน่งอินพุต
-1(ซีกโลกใต้) ส่งออกหนึ่งในสี่ของฤดูกาลตามเดือนที่ป้อน:Spring(m = [9,11]);Summer(m = 12 or m = [1,2]);Autumn(m = [3,5]);Winter(m = [6,8])
กฏท้าทาย:
- ผลใด ๆ สี่ค่าที่แตกต่างของทางเลือกของคุณแสดงให้เห็น
Spring,Summer,AutumnหรือWinter(โปรดรัฐสิ่งที่คุณเคยใช้ในคำตอบของคุณ)
-15 ไบต์โบนัสถ้าคุณเอาท์พุทSpring,Summer,AutumnหรือWinterเป็นข้อความ (กรณีตายเพื่อให้สามารถอย่างเต็มที่ตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่อย่างเต็มที่เช่นกันแทนการที่ใช้ชื่อกรณี) - ข้อมูลเดือนสามารถอยู่ในรูปแบบที่เหมาะสม สามารถเป็นจำนวนเต็ม 0 ดัชนีหรือ 1 ดัชนีวันที่วัตถุเดือนสตริง ฯลฯ
- การป้อนข้อมูลตำแหน่งที่จะเป็นหนึ่งในจำนวนนี้เป็นไปได้ห้าปัจจัยการผลิต
-2,-1,0, ,12
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษารหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชัน / เมธอดพร้อมพารามิเตอร์ที่เหมาะสมและชนิดผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
Position 1-indexed Month Output
-2 8 (August) Winter
-2 12 (December) Winter
-1 3 (March) Autumn
-1 5 (May) Autumn
-1 8 (August) Winter
-1 12 (December) Summer
0 1 (January) Summer
0 7 (July) Summer
1 1 (January) Winter
1 4 (April) Spring
1 7 (July) Summer
1 12 (December) Winter
2 2 (February) Winter
2 9 (September) Winter