scanf 102

ในการเขียนโปรแกรมแนวคอมโอ เมื่อเขียนด้วยภาษา C จะมีโจทย์บางแบบ ที่ถ้าเรา scanf ดีๆ แล้วจะทำให้ชีวิตง่ายขึ้นมาก เพราะถ้าเราเอา C มาจัดการ string ชีวิตจะเศร้าลงทันที

วันนี้ผมนั่งทำโจทย์ Tree summing ใน uva แล้วหาวิธีการ scanf แนวที่ให้มัน check คล้ายๆ regular expression แล้วก็ไม่เจอข้อมูลเป็นชิ้นเป็นอัน (หรือหาไม่ดีเองหว่า?)  เลยพยายามนั่งทำแล้วรวบรวมมาให้ครับ ถือเป็นวิชา scanf 102 ต่อจากวิชา 101 พื้นฐานที่เราใช้รับเลข รับ string กันเป็นอยู่แล้ว

  • scanf(“%[ABC]”,str)
    • คือ scan ไปเรื่อยๆ ตราบที่ยังเจอเฉพาะ A,B,C แล้วเอาใส่ str
  • scanf(“%[^ABC]”,str)
    • คือ scan ไปเรื่อยๆ ตราบที่ “ไม่เจอ” แต่ A,B,C แล้วเอาใส่ str
    • scan ครั้งต่อไปจะเจอ A เป็นตัวแรก
  • การมี * อยู่หน้า [] คือการ scan อะไรที่เข้าเงื่อนไข ทิ้ง
  • ตัวอักษรที่ไม่ได้อยู่ตาม % ก็คือทิ้งเหมือนกัน เจอตัวอะไรก็ ทิ้งตัวนั้น 1 ตัว
  • scanf(“%*[^(]”)
    • คือ ทิ้งทุกตัวจนกว่าจะเจอ วงเล็บเปิด ‘(‘
    • ก่อนหน้านี้ลอง ทิ้งตัวที่อาจจะเจอ เช่น scanf(“%*[\n ]”); แล้วปรากฏว่าไม่ชัวร์เท่าวิธีนี้ครับ
  • scanf(“(%[-0-9]”,str)
    • แปลว่า เอาเครื่องหมาย – และตัวเลข 0-9
    • ความหมายเดียวกับ scanf(“%[-1234567890]”,str);
  • result = scanf(“(%[-1234567890]”,str);  ควรมีตัวแปรเก็บค่า return
    • อาการที่เหมือนว่ามัน scan เอาค่าเดิมเข้าไป (เช่น print ตัวแปรที่รับค่านั้นออกมาซ้ำ) จริงๆ แล้วคือ มัน scan ไม่เข้า
    • อาการนี่ check ได้โดยการ if(result==0) ถ้าเป็น 0 ชัวร์ได้เลยว่า ตัวแปรจะไม่รับค่าใหม่ใดๆ

ตัวอย่าง code นี้จะสามารถอ่าน tree ในแบบในโจทย์ออกมาได้เลย เมื่อเรียก gentree(0) เช่น

input = (5(4(11(7()())(2()()))()) (8(13()())(4()(1()()))))
output = num[0]=5 num[1]=4 num[3]=11 num[7]=7 num[8]=2 num[2]=8 num[5]=13 num[6]=4 num[14]=1

void gentree(int where){
    int num;
    int result;
    scanf("%*[^(]");
    result = scanf("(%d",&num);
    if(result!=0){
        printf("num[%d]=%d ",where,num);
        gentree(where*2+1);
        gentree(where*2+2);
    }
    scanf("%*[^)])");
}

Tree Summing

Advertisements

จดหมายเหตุปิดเทอม ’49 [2]

หลังจากจบจากการ “เข้าค่าย” คอมพิวเตอร์วันที่ 26 วันที่ 27 ผมก็มา “จัดค่าย” Cubic-O ต่อทันทีเลย
ค่าย Cubic-O ก็เป็นค่ายที่ผม เอาคอมพิวเตอร์โอลิมปิกที่เรียนมา มาสอนให้กับน้องๆ อย่างที่อยากนั้นเอง

อันที่จริง กว่า Cubic-O จะเกิดขึ้นในวันที่ 27 ได้นั้น ต้องทำอะไรเยอะแยะเหมือนกัน 
ประชาสัมพันธ์ รับสมัคร เตรียมงานอำนวยการ เตรียมหลักสูตร ฯลฯ
ปัญหาเกิดขึ้น แล้วก็ผ่านไป จนค่ายเริ่ม….
ค่ายเปิดขึ้น แล้วก็ปิดไป 
และนี้คือความรู้สึกระหว่าง 2 วรรคข้างบน…

ในเชิงของตัวงานโดยรวม ผมรู้สึกพอใจกับ ค่าย Cubic-O Camp1st ค่ายโอลิมปิกไร้เทียมทานนะครับ ค่ายนี้ผมรู้สึกเหมือนเป็นค่ายที่ผมสร้างมากับมือจริงๆ (ค่ายอื่นๆ ในCubicทั้งหมด พี่นัทเป็นคนเริ่ม) ผมรู้สึกดีใจมาก ที่มันผ่านไปด้วยดี เป็นเหตุผลหนึ่งที่ทำให้คืนวันอำลาผมร้องไห้ อื้ม… อย่างน้อย ชีวิตนี้เราก็ได้สร้างค่ายของตัวเองมาค่ายหนึ่งนะ

ในค่ายนี้ เราติวน้องอยู่ 3 วิชาคือ คอม ชีวะ ฟิสิกส์
วิชาชีวะเป็นวิชาที่ผมรู้สึก ทึ่งมาก ตอนแรกค่ายนี้ผมไม่ได้กะว่าจะให้มีสอนวิชานี้ แต่ใหม่(ซึ่งคิดว่าลากวาวมาทำด้วยที่หลัง)ได้คุยกับรตา แล้วบอกว่าอยากสอน ผมก็okแต่บอกว่าให้วางแผนการสอนมาคร่าวๆก่อน ปรากฏว่า ไปๆมาๆมันก็งานเดินช้ามาก… เอาเป็นว่าพอปิดเทอม วันที่ผมกะจะคุยเครียดๆแล้วว่า คงต้องรีบแล้วเมื่องั้น อาจจะต้องยุบวิชานี้ ก็ผมพบว่าใหม่กะวาวเตรียมสอนมาดีมาก ตำราเอย อุปกรณ์เอย นู้นนี้ๆ เจ๋งหว่ะ ดูจากหลักสูตรแล้วนี้ มันคงได้Labเยอะกว่าที่เราเรียนมาทั้ง ม.ปลาย อีกมั้งเนี่ย สุดยอด มันโคตร ทำให้ชีวะเป็นวิชาสวรรค์เลย ผมรู้สึกขอบคุณใหม่กับวาวมากๆ มากจริงๆ ที่มาช่วยขนาดนี้ เด็กๆชีวะรักใหม่กับวาวมาก เป็นวิชาที่ดูผูกพันกันดีจริงๆ วันคืนอำลาตอนจับมือ ผมร้องไห้ด้วยความ ซึ้ง ทึ่ง ขอบคุณ ประทับใจ ที่ใหม่กับวาวทำได้ดีแบบนี้ ก็ดูเค้าไม่ได้ซึ้งกับผมเลย 555 ฮา… ตัวเอง ตอนนั้นร้องไห้บอก ขอบคุณแกมากเลยนะ เราทึ่งมาก อย่างโน้นอย่างนี้ ใหม่ดูอึ้งๆ พยักหน้าหงึกๆ โถ…เรา…ทำไปได้

(ถึงใหม่กับวาว ขอโทษสำหรับทุกอย่าง ที่เราอาจจะทำไปแล้วทำให้แกเคือง(ซึ่งเราไม่รู้เหมือนกันว่ามีอะไรบ้าง 555) ขอบคุณมากๆนะ แกไม่ได้อยู่ Cubic แต่ก็มาช่วยขนาดนี้ ขอบคุณจริงๆ)

วิชาฟิสิกส์ แม้ว่าผมจะรู้สึกว่า เป็นวิชาที่สอนวิชาการทฤษฎีทำโจทย์หนักไปนิด แต่ถึงอย่างนั้นผมก็รู้สึก ขอบคุณวิทยากรทุกคน โพบอกในคืนอำลาว่าตอนแรกไม่ได้อยากมาทำเลย ผมจำไม่ได้แล้วว่าลากโพมาทำด้วยยังไง เอ๊ะยังไง งง เอาเถอะ ผมรู้สึกขอบคุณโพมากๆ คือใครก็ตามที่ไม่ได้อยู่ใน Cubic team อยู่แล้ว ผมจะรู้สึกขอบคุณเป็นพิเศษ ป๊อยด้วยขอบคุณแกมาก ตลกดีที่ผมเริ่มเรียก ป๊อย ว่า ป๋อย แล้วพี่นัทเอาไปเผยแพร่จนทุกคนเรียกแบบนั้น เป็นความประสบความสำเร็จแบบนึง ดีจัง 555 แล้วก็รตาด้วย ขอบคุณโย้ว กานต์ด้วย น้องชัยวัด น้องถูมิด้วยอีก ใครอีก… อืม… เยอะแฮะ ก๊อต! ถึงจะหลับเยอะแต่ก็ขอบคุณ ตลกดี

วิชาคอมพิวเตอร์ พลับ น้อต แก้ว เซนต์ ถ้าไม่มีคนเหล่านี้ วิชาคอมต้องสลายร่างแน่นอนเลย ท้ายที่สุดแล้ว วิชาคอมก็กลายเป็นวิชาที่ดูเหมือนจะเตรียมการสอนได้น้อยที่สุดแล้ว (แต่เอาเข้าจริงๆผมก็คิดว่าต้องเป็นแบบนี้ เพราะว่าเรากะไม่ได้เท่าไหร่ว่าน้องจะรับได้เร็วแค่ไหน แต่รวมๆแล้วผมว่ามันก็ ok นะ) วิชาคอมที่เรียน 16 วัน อาจเรียกได้ว่าเป็นห้องในฝันของผม เพราะว่ามันมีอะไรทำดี ได้เขียนโปรแกรมจริงๆเลย มีเกมบ้าๆตอนกลางคืน มีสอนเลข มีพี่ที่ไหนก็ไม่รู้มาสอนๆๆๆ ยัดเท่าไหร่ก็ไม่หมด ไม่มีหมดเลย สะใจดี พูดถึงวิทยากร ครั้งนี้ผมซึ้งใจเซนต์เป็นพิเศษ เพราะว่าไม่เคยได้ทำงานด้วยกันเลย แล้วเซนต์ช่วยสอนได้ดีมากๆจนอยากกรี๊ด(ขนาดนั้น) เวลาผมสอนหน้าห้องแล้วจะมีคนไม่เข้าใจเสมอ แล้วเซนต์ก็ช่วยไปย้ำ แล้วดูเหมือนเขาจะไม่เคยเหนื่อยเลย พูดซ้ำไปซ้ำมา อธิบายระเอียดยิบ ผมรู้สึกเศร้าจริงๆตอนวันสุดท้ายของช่วงค่ายแรกที่เซนต์ต้องไป เซนต์ขอบคุณจริงๆนะ …สำหรับกับน้อตผมรู้สึกเป็นการทำงานที่มีความสุขที่สุด ขอบคุณน้อตมาก พลับ แก้วก็เช่นกัน สุดยอดมากที่สร้างตัวตรวจขึ้นมาได้ ขอบคุณโย่ว

พูดถึง staff อำนวยการ ผมรู้สึกสะดวกสบายขึ้นจริงๆ ทุกคนเหนื่อยกันมากๆ(แม้จะเล่นเกมเยอะเหมือนผม – ไม่ทุกคนนะ) ขอบคุณทุกคนมากครับ โดยเฉพาะป๊อป ขอบคุณแกมากๆ ที่อุตส่าห์มาช่วยทำ ตอนนี้ดูเหมือนแกจะได้เข้ามาช่วยงาน cubic เต็มไปหมดแล้ว ดีใจจังที่cubic มีแก

staff ทุกคน นั้นถึงแม้ว่า เราจะเล่นกันเยอะ โดยเฉพาะผมเองในช่วง 3 ที่เล่นเกมplayเป็นบ้าเป็นหลัง แต่ถึงยังงั้น เวลาผมนึกถึงผมว่าผมเป็นคนนอกมองเข้ามา ก็ยังรู้สึกประทับใจมาก ที่พวกเรามาเหนื่อยกัน ขนาดนี้เพื่อน้องๆ เตรียมงานมากมาย (วิชาคอมโดยเฉพาะ 2 ช่วงแรก เรานั่งเตรียมการสอนทุ๊กวัน…จนดึกดื่นตี2 ตี3) และด้วยการรวมแรงของทุกๆฝ่ายมาประผสมประสานกัน มิตรภาพที่ทำให้ค่ายCubic-O ค่ายแรกของผมผ่านไปด้วยดี ความประทับใจนี้เป็นอีกเหตุผลที่ทำให้ผมร้องไห้ในคืนอำลา

และที่สำคัญค่ายนี้เป็นครั้งแรกที่ทำให้ผมรู้สึกถึงสิ่งหนึ่ง เป็นสิ่งที่มีคุณค่ามากมาย ซึ่ง มีอยู่ ในค่ายทุกๆค่ายที่ชมรมเราเคยจัด แต่ผมไม่เคยได้มีโอกาสรู้สึกถึงมันเลย

จากค่ายอื่นๆที่ผ่านมา ผมไม่เคยได้เป็นพี่เลี้ยงสักครั้ง 
และเมื่อมาค่ายนี้ ผมก็ไม่ได้เป็นพี่เลี้ยง
แต่ผมก็ได้เป็น… “คนสอน”

ตลอด 16 วัน 13 คืน ผมได้มีโอาสสอนน้องๆวิชาคอมพิวเตอร์ ตื่นแต่เช้า(ซึ่งตื่นสายกว่าน้อง หลายครั้งอดข้าวเพราะเมื่องั้นเข้าสอนสาย) สอนตั้งแต่เช้า… 9 โมงครึ่ง ถึง 5 โมง(เย็น)ครึ่ง ตกกลางคืนก็อยู่สอนพิเศษบทเรียนเพิ่มเติม หลายๆครั้งมีเกมเล่น ผมได้อยู่เล่นเกม เกมที่บางครั้งวิ่งกันเหนื่อยโคตรๆ แต่สนุกมากๆ ผมได้เล่นเกมคิลเลอร์บ่อยมากๆ จนดึกดื่นน้องๆเข้านอน ก็นั่งคิดเกม คิดอะไรบ้าบอ สำหรับวันต่อไป

ใช่แล้ว สิ่งมีค่าที่ผมรู้สึก นั้นก็คือ 
…ความผูกพัน…

คือแบบนี้ครับ ความคิดของผมตอนแรกที่จัดค่ายเนี่ย คือผมมีความรู้สึกอยากถ่ายทอดตัวความรู้ที่มีอยู่ออกไปให้กับน้องๆ เพราะว่าจะได้เอาไปสอบแล้วก็โอกาสดีๆ แบบที่ผมได้มามากมาย โดยการถ่ายทอดนี้อยากให้เป็นการเรียนการสอนที่เน้นให้คิด ให้เข้าใจลึกซึ้ง แล้วก็เชื่อมโยงเรื่องต่างๆเข้าด้วยกันได้ แล้วก็ให้น้องๆเค้ามาสนิทกันเอง

ผมเริ่มต้นสอนด้วยแนวคิดที่ว่า ผมจะทำยังไงให้ถ่ายทอดความรู้ คอมพิวเตอร์โอลิมปิกอันนี้ ออกไปให้ดีที่สุด รู้เรื่องที่สุด ไม่เครียดจนเกินไป

แต่หลังจากที่สอนไป ได้รู้จักกันมากขึ้น ได้ยินเวลาน้องๆทำไม่ได้แล้วมีเสียงเรียกเรา ได้เล่นเกมสนุกโคตรๆ วิ่งเล่นอยู่บนตึก ได้ปล่อยมุกแป้กๆ
เวลาที่ผ่านไป ค่าย3ช่วงนั้น ผมรู้สึกได้ว่าสิ่งผมโฟกัสมันค่อยๆ เคลื่อนจาก “กระบวนการสอน” มาอยู่ที่ “ตัวน้องๆ” เอง เป็นแนวคิดที่ว่าผมจะทำยังไงให้น้องๆที่อยู่มาด้วยกันนี้ ได้อะไรดีๆกลับไปมากที่สุด มีความสุขมากที่สุด มีโอกาส มีอนาคตแทน ซึ่งเป็นแนวคิดที่ผมรู้สึกอบอุ่นและมีความสุข

นั้นทำให้ผมคิดและขอน้องๆ ในคืนอำลาไป ว่า ผมไม่สนใจอีกต่อไปแล้วว่า น้องๆจะต้องเอาความรู้โอลิมปิกที่ผมสอนไปสอบ หรือดำเนินแนวทางนี้ต่อ ไม่จำเป็นต้องเขียนโปรแกรม หรือชอบคอมพิวเตอร์ แต่ผมขอให้ น้องๆหลังจากจบค่ายนี้ไปแล้ว… ได้ “ให้” กับคนอื่นต่อ อย่างที่ผมมีโอกาสให้น้องๆ เพราะช่วงชีวิตไม่กี่วันที่ผมได้ ให้ กับน้องๆ นี้ คือช่วงเวลาที่ผมมีความสุขมากจริงๆครับ

ผมรักน้องๆคอมพิวเตอร์ที่ผมสอน และรู้สึกผูกพัน อยากให้ทุกคนเจอแต่อะไรดีๆต่อไป
และเมื่อมันจบลงแล้วสำหรับวันที่ผมจะได้มีโอกาสสอนน้องๆกลุ่มนี้
ผมร้องไห้ในคืนวันอำลา

ถึงน้องๆคอมพิวเตอร์(ถ้ามีซักคนเข้ามาอ่านก็ดี)…
เฮ้อ.. พี่ในสายตาทุกคน คงจะเป็นจอมโหด ที่จริงพี่ไม่เคยอยากเป็น ไม่มีใครอยากอยู่แล้วใช่ม้า พี่ๆทุกคนอยากเป็นที่พึ่ง ที่ใจดี ที่คุยได้ทุกอย่าง 
แต่คงด้วยเพราะหน้าที่ในstaffด้วยกันแล้วของพี่เองที่เป็นคนต้องคุมโดยรวมทุกอย่างให้ดำเนินไปด้วยดี ไม่ใช่คนรับงาน บวกกับที่ได้คุยกันใน staff เองหลังจากดูแล้วว่าเด็กวิชาคอมดูท่าแล้วจะคุมยากที่สุดใน 3 วิชา เลยคิดว่าควรจะมีคนๆ นึงที่รับบทโหดที่น้องทุกคนฟัง พี่จึงได้รับบทนี้มาเต็มตัว
ซึ่งรู้สึกว่าได้ผลเหมือนกัน แต่พี่เองก็พลาดไปในบางครั้ง

ในคืนอำลาพี่ลืมพูดไป ว่าพี่ขอโทษและรู้สึกผิดที่สั่งทำโทษ คัดลายมือ(หวัด)ว่า “ฉันจะไม่ออกสาย” 300 รอบ (แม้ตอนหลังจะลดเป็น 100 รอบ)  ทำให้เข้าใจความรู้สึกแทนอาจารย์ได้เลย พี่ว่าไม่มีใครเวลาสั่งทำโทษแล้วรู้สึกดีเลยซักคนแน่ แต่พอสั่งไปแล้วก็ต้องย้ำกับตัวเองว่า ที่เราสั่งไปเนี่ยก็เพื่อให้คุมอะไรๆให้อยุ่ได้นะ อย่าใจอ่อนยกเลิกไปซะหล่ะ แบบนี้แน่ๆ
ฉะนั้น ถ้าน้องคนไหนเคือง พี่ขอโทษนะครับ 

ตอนนี้ก็จบค่ายไปนานแล้วเหมือนกัน สิ่งที่พี่ได้สอนไป พี่รับรองเลยว่า พี่ๆทุกคนตั้งใจสอนมากๆ และเหนื่อยมากๆ จริงๆ เรื่องการเตรียมการสอนนั้น พี่ๆคอมพิวเตอร์อาจจะถือว่าเตรียมน้อยกว่าชีวะที่มีlabเต็มไปหมดเลย ที่จริงก็อยากเตรียมมากแต่ ก่อนหน้าค่ายนั้น พี่เองต้องเข้าค่ายสสวท. แบบเรียกได้ว่าจบค่ายโน้นปุ๊ปวันต่อมาก็มาสอนน้องทันที แล้วก็ก่อนหน้าเข้าค่ายสสวท. พี่เองก็วุ้นอยู่กับงานค่ายกลาง ที่ไม่จำเพาะหลักสูตรวิชา พลับ กับ แก้วเองก็มีภาระงานKUS Fun Camp เต็มตัว ฉะนั้น หลักสูตรคอมพิวเตอร์ พี่ๆเต็มที่กันแล้วจริงๆนะ หวังว่าทุกคนคงได้ประโยชน์บ้าง ใครเข้าค่ายแล้วรู้สึกชอบเขียนโปรแกรมก็เขียนต่อเลย ถ้าไม่ชอบก็ไม่เป็นไร

ไม่รู้สิ พี่รู้สึกผูกพัน มันรู้สึกดีจริงๆนะ 555 แต่มันก็คงเทียบไม่ได้กับอาจารย์ตัวจริงหรอก พี่รักพวกแกหว่ะ ฉะนั้นมีไรก็คุยกันนะ

โซกลี

เรื่องของค่าย Cubic-O มันก็เป็นแบบนี้แหล่ะครับ
เป็นความทรงจำดีๆ ของการทำค่ายๆนึง

ปล. ช่วงเวลาระหว่างค่าย ผมได้มีโอกาสอ่าน หนังสือชุด ริง คำสาป มรณะ ซึ่งประกอบด้วย ริง สไปรัล ลูป เบิร์ธเดย์ ผมอยากแนะนำให้ทุกคนอื่นๆมากๆ เพราะ หนึ่งคือสนุกโคตร สองคือสยิวแสด(หมายถึงหลอนๆ) สามคือ อันนี้สำคัญ มันเป็นเรื่องที่ยอดเยี่ยมมากๆ ในทุกๆแง่เลย มันทำให้ผมรู้สึกมีมุมมองกว้างขึ้น และมีนิยามเกี่ยวกับสิ่งมีชีวิตที่เปลี่ยนไป และเข้าใจในประโยคที่ว่า I think, Therefore I am. ได้ชัดเจนมากขึ้น อ่านกันเถอะครับ

ปล.2 อย่าลืมติดตามตอนต่อไป

จดหมายเหตุปิดเทอม ’49 [1]

ผมไม่ได้เขียน blog มานานมากเลย
ช่วงเวลาที่ว่างเว้นไปนี้ มีอะไรเกิดขึ้นมากมายกับชีวิต อาจจะเรียกว่าได้เป็นจุดเปลี่ยนของชีวิต
 
จำได้ว่า พ่อเคยไปดูหมอ แล้วบอกว่า ชีวิตของนายอิ๊กคนนี้ จะเปลี่ยนไปประมาณทุกๆ 17 ปี…  อืม… ที่จริงคงไม่เกี่ยว

หลายๆ ครั้งที่รู้สึก เกิดแรงบันดาลใจอยากขึ้นมาเขียนมาก แต่ว่า มันไม่มีเวลาจริงๆ
จริงๆ ครับ ให้ตายเถอะ มันทำไมชีวิตมันถึงมีอะไรต้องทำขนาดนี้ก็ไม่รู้
ครั้งนี้จะเขียน blog แบบไม่คิดละกัน เขียนแบบเขียนไปเรื่อยๆ เหมือนเขียนไดอารี่เลย 

ความจริงข้อหนึ่งที่ผมนึกได้มาได้สักพักหนึ่งก็คือ ผมรู้สึกอุ่นใจเมื่อได้เขียนแล้วอัพขึ้นมาบนนี้ครับ
เหตุผลก็คือ โอกาสที่มันจะหายไปนั้น มีอยู่น้อยมาก เพราะข้อมูลในนี้ต้องถูกเก็บไว้โดย msn แล้ว server ของ msn ไม่มีทางล่มอยู่แล้ว
ข้อมูลเหล่านี้ก็จะได้เก็บไว้อย่างดี ตลอดไป ดีใจเป็นบ้า ฮาฮาฮาฮา

คือ ที่นึกแบบนี้ขึ้นมาได้ก็เพราะ ผมเขียน ไดอารี่เก็บในเครื่องด้วย ที่นี่เวลาเครื่องมีปัญหา แล้วก็เสียวไส้ทุกทีว่า ไดอารี่จะหายไหม
ฝากไว้กับ msn นี้แหล่ะ ปลอดภัยดี
(เอ๊ะ หรือ space มันมีระบบเหมือน hotmail หรือเปล่า …ถ้าไม่มาอัพเดท จะถูกตัดทิ้ง ใครรู้ช่วยบอกที)

ตั้งแต่ปิดเทอมมานี้ เริ่มต้นด้วย การเข้าค่ายโอลิมปิกคอมพิวเตอร์เป็นครั้งสุดท้ายของผมละกัน 
ประมาณ กลางเดือนมีนา ถึง ปลายเดือนเดียวกัน
รอบที่เข้าครั้งนี้ เป็นรอบ 20 คนสุดท้ายของประเทศไทยแล้ว หลังจากที่คัดๆๆๆๆ จาก สอวน. สสวท. มาหลายรอบเหลือเกิน มองกลับมาจากตอนนี้เอง ก็น่าตกใจเหมือนกันนะ ว้าว ผมมาถึงรอบแบบนี้เลยหรอเนี่ย

ความรู้สึกของการอยู่ท่ามกลาง 20 คนเหล่านี้ ไม่ธรรมดาเลยครับ 
เวลาคุยในเรื่องวิชาการ คำนวณ คืออะไรเทือกๆ นี้ น้อยครั้งที่จะรู้สึกว่า ไอ้พวกบ้านี้มันคุยบ้าอะไรกันอยู่ มากเท่าอยู่ในค่ายนี้
การใช้ชีวิตในค่ายนี้ เป็นอะไรที่ผมบ้าระห่ำที่สุด ฟิตการเรียนที่สุดในชีวิตแล้ว 
 
นั้นก็คือ ตื่นตอน 8.30 ไม่อาบน้ำ แค่แปรงฟันแล้วก็เปลี่ยนชุด (ไม่อาบน้ำ 555)
แล้วก็เข้าห้องเรียนตอน 9 โมง เรียนๆๆ แล้วก็กินอาหารว่างที่ค่ายเตรียมไว้ให้(อาหารเช้าของผม เพราะตื่นไม่ทันกินอาหารเช้าไง)
ตอน 10.30 แล้วเรียนๆๆต่อ 
กินอาหารตอนเที่ยง 
ระหว่างพักเที่ยง ผมจะฟิตฝึกทำโปรแกรมต่อ ก่อนเข้าเรียนตอนบ่ายโมง 
เรียนไป มีปฏิบัติเขียนโปรแกรมไป ถึงบ่าย 4 โมง จะมีเวลาพัก 1 ทุ่ม ระหว่างนี้ผมพักผ่อนตีปิงปองและไปเขียนโปรแกรมต่อบ้าง
อาจารย์ให้โจทย์ฝึกเขียนโปรแกรมต่อถึง 4 ทุ่ม
ผมมักจะอยู่ทำต่อถึงเที่ยงคืน เพราะทำไม่ทันเท่าไหร่ (จบค่ายเหลือโจทย์ที่ทำไม่ได้อยู่หลายข้อเลย)
อาจารย์มาปิดห้องเรียน ผมก็แบกคอมขึ้นไปเขียนโปรแกรมต่อที่ห้องนอน ถึงประมาณระหว่าง ตี1 ถึง ตี3 แล้วแต่วัน แล้วก็นอน

เป็นชีวิตที่ มีแต่การเขียนโปรแกรมจริงๆครับ ทุ่มเทที่สุดในชีวิตแล้ว ผมรู้ว่าผมทุ่มเทมากกว่าคนอื่นๆหลายๆคน แต่ผมก็ไม่ติดรอบ 10 คนสุดท้ายอยู่ดี 
แต่ก็ยังคุ้มกับแรงที่เสียไป เรียกได้ว่า จากค่ายนี้ผม พัฒนาฝีมือการเขียนโปรแกรมมากขึ้นมาก(พัฒนาความคิดด้วยรู้สึกได้เลย) มากกว่าตอนค่าย 30 คนที่เข้าพร้อมกับเตี้ย(พลับ วิดวิน)มากเลยเพราะฟิตมากกว่าเยอะ ผมรู้ดีว่าถ้าผมไม่ฟิตแบบนี้ จากที่อยู่ระดับกลางๆของห้อง จะต้องอยู่ระดับล่างๆของห้องแน่นอน 

แม้ผมคิดว่าสิ่งที่เรียนไปนั้น ผมเข้าใจทุกๆอย่าง และที่ผมทำข้อสอบได้น้อยกว่าคนอื่นนั้น เป็นเพราะประสบการณ์ที่น้อยกว่า มีหลายๆคนที่เคยเข้าค่ายนี้มาแล้วเมื่อปีที่แล้ว เค้ามาเรียน รอบ 2 รอบ 3 ย่อมได้เปรียบ ถ้าผมถ้าเรียนบ้าง ไม่มีทางแพ้แน่ๆ แต่ ไม่เป็นไรมัน แก้ไขอะไรไม่ได้ ผมเข้ามาช้ากว่าคนอื่นเอง

ถ้าผมได้เข้ารอบถัดไป ก็จะมีสิทธิ์ที่จะได้ทุนไปเรียนเมืองนอก ฟรีๆ เฮ้อ… พลาดไปแล้ว
จบลงแล้วครับ หนทางคอมพิวเตอร์โอลิมปิกของผม มันปิดฉากลงแล้ว ปีหน้าผมเข้ามหาลัยก็ไม่มีสิทธิ์อีกต่อไปแล้ว

ยังไงก็ตาม ผมคิดว่า มันจบลงด้วยความประทับใจ
หนทางที่เริ่มต้นด้วยการรู้จักพี่นัท เรียนกับพี่นัท สอบสสวท.ครั้งแรกตกรอบไปอย่างเฉี่ยวๆ จึงเข้าเรียนค่ายสอวน.แทน ค่าย1… ค่าย2… ในเกษตรนั้นง่ายดาย ก่อนจะไปรอบต่อไป ผมตัดสิทธิ์ตัวเองด้วยการไม่สอบ และไปเป็นนักเรียนแลกเปลี่ยนที่โรเชสเตอร์ เริ่มใหม่…ปีใหม่ ผมรู้สึกว่าผม ไม่มีทางที่จะสอบสสวท.ครั้งที่2ตกรอบแน่ๆ ตอนนั้นติวเด็กคนอื่นๆไปสอบด้วยซ้ำ แต่ผมสอบไม่ติด ตอนนั้นร้องไห้เลย ผิดหวังครั้งแรกๆในชีวิต นี่คือจุดที่ทำให้ผมอดเข้าสสวท.ตั้งแต่ ม.5 

ผมเลยเข้าสอวน. ค่าย 1 ค่าย 2 ค่าย 3 ผ่านไปแบบสุดจะตื่นเต้น ถ้าผมตกรอบทุกอย่างมันก็จบ สอบทั่วประเทศได้เหรียญ เลยได้เข้ารอบ สสวท. แบบไม่ต้องสอบ หลังรอบปฏิบัติสสวท. แล้วติดก็ดีใจมากๆ ที่จะได้โควตาแล้ว หลังจากนี้ก็มาเข้าค่าย 30คน 20คนแล้วก็ตกรอบไป

ถามว่าผม ได้อะไรจากเส้นทางเส้นนี้… คอมพิวเตอร์โอลิมปิก… อืม…
แน่นอนมันทำให้ผมเขียนโปรแกรมเป็น และคล่องกว่าคนอื่น พอเรียนมหาลัย ผมได้เพื่อนที่สนใจทางเดียวกัน
แต่ให้ตาย ที่ชอบสุดๆคือ การฝึกคิดที่ได้สั่งสมมานี้ มันดีจริงๆ

ทุกอย่างที่ได้มา มันดีมากๆจนผมรู้สึกว่า ผมอยากให้น้องๆได้เข้ามาบ้างจัง 
เพราะผมจะไม่ลืมเลยว่า ช่วงชีวิตนึงนะ เราก็ได้มาเข้าสู่วงจรระห่ำๆ บ้าๆ อันนี้มาด้วย

โปรดติดตามต่อตอนไป เร็วๆนี้

ระหว่าง

ตลอดเวลากว่าสัปดาห์ที่ผ่านมา มีเรื่องเกิดขึ้นมากมาย และงานที่สำคัญๆเกี่ยวกับ ม.6 ก็คือ งานสาธิตสามัคคี และการเลือกหัวหน้าฝ่ายต่างๆของงานบ้านผี
และตลอดเวลาที่ผ่านมานี้
ผมเรียน อยู่ที่ สสวท. มาตลอดครับ

ตอนนี้ ที่ผมได้มีโอกาสมานั่งพิมพ์ blog อยู่นั้น ก็เพราะว่าเป็นโอกาสพิเศษมากจริงๆ — ที่จริงทาง สสวท. สุดเคี่ยวนั้น เค้าห้ามเล่นอินเตอร์เน็ตและออกนอกหอพัก เหมาช่วง 3 สัปดาห์ที่เก็บตัว — แต่ที่ได้พิมพ์ตัวอักษรตัว “นี้” ออกมาอีกด้วยความสะใจนั้นก็เพราะ เหตุการณ์ขัดข้องเรื่องการเรียน รด. ชดเชย ซึ่งผมขี้เกียจเล่ารายระเอียดที่น่าหลับ เอาเป็นว่าได้กลับมาอยู่บ้านเป็นเวลา 6 ชม.

ผมรู้สึกดีใจมากนะเนี่ย ที่ได้ฉวยโอกาสนี้มา ระบาย ความรู้สึกต่างๆที่มันปริ่มๆอยู่ที่ขอบความคิด
(“ขอบความคิด”… เป็นคำที่ดูเท่ดีแฮะ 555)

“ใจนึงก็เสียดายครับ” ที่พลาดโอกาสหนึ่ง (และสอง และสาม ..) ของชีวิตไป
จนถึงบัดนี้ ภาพความทรงจำเกี่ยวกับ แสตนด์เชียร์สามัคคีของผม ก็ต้องยอมรับว่าฉายไปหยุดอยู่แค่สมัยตอน ป.6 ที่ไปเชียงใหม่

สาธิตสามัคคี ปีนี้ เป็นยังไงบ้าง ผมก็ทราบเศษเสี้ยวบรรยากาศมาจากคำบอกเล่าของเพื่อนๆมาบ้างแล้ว ฟังไปก็แล้วก็รู้สึกครึ้มอกครึ้มใจดีครับ เพื่อนของเรา รุ่นของเราได้มารวมแรงกันทำเป็นสิ่งๆนึงที่เป็นเครื่องให้จดจำ กันและกัน ได้ต่อไปนานๆ ส่วนตัวผมก็คือได้ รวมพลัง! ไปกับเค้าด้วย ช่วงก่อนวันจริงเท่าที่จะทำได้ (เพลตกระพี้จั่นเกมส์ และ เพลงสามัคคีจัง) 
สำหรับวันจริง ก็คงได้แค่รวมใจ…

บ้านผีเป็นอีกงานหนึ่งที่ อยากทำมากมาย คิดไปแล้ว ออกจากค่ายไป นอกจากจะต้องสู้กับงานการบ้านซึ่งสะสมตลอด 2 สัปดาห์ที่ขาดเรียนไปแล้ว จะสู้เพื่อบ้านผีไปให้ได้

ต้องขอบอกเป็นบทสรุปไว้ตรงนี้เลยว่า คิดถึงโรงเรียน 
แต่ขอบอกอีกต่อด้วยว่า ไม่ใช่ว่าเรียนที่ สสวท. ไม่ดีนะครับ เพราะนอกจาก “ใจนึง” ที่เสียดายอะไรๆที่ผมพลาดไปแล้ว ผมยังมีอีก “ใจนึง” อยู่นะ

คงถือเป็นครั้งสุดท้ายของชีวิตเลยทีเดียว ที่จะได้มาอยู่ในค่ายคอมพิวเตอร์โอลิมปิก ของ สสวท. แบบนี้ เพราะปีหน้าย่อมไม่มีโอกาสสอบเข้ามาอีก เหมือนกับน้องๆ ม.5 เพื่อนร่วมค่ายของผมหลายๆคน
และถือเป็นโอกาสที่ยอดเยี่ยมสำหรับผมเลยอีกทีเดียว กับระยะเวลาพิเศษๆไม่เหมือนอะไรทั่วๆไปแบบนี้

อยากรู้ไหมครับว่า ชีวิตประจำวันของนักเรียนที่ถูกเก็บตัวเพื่อคัดเลือกเป็นตัวแทนประเทศไทย รอบ 25 คน (รอบแรก) นั้นเป็นยังไงบ้าง…
ไว้จะมาบอกหลังเข้าค่ายจบนะครับ (ผมบันทึกไดอารี่ไว้อยู่แล้ว) 

แต่ยังไงก็ตาม แม้จะผ่านไปแค่เกือบครึ่งค่าย ผมก็พูดได้เต็มปากแล้วหล่ะครับว่า ผมรู้สึกประทับใจ ไม่ว่าจะด้วยเรื่อง ความรู้ที่ได้ ทักษะการเขียนโปรแกรม เพื่อนที่สนุกสนาน หรือแม้แต่ อาหารการสำราญพุง ทำให้มีแรงบันดาลใจขึ้นมามากที่อยากจะให้ รุ่นน้องสาธิตเกษตรของผม ได้มีโอกาสตรงนี้เหมือนผมบ้าง

ทุกคืนหลังจากเขียนโปรแกรมช่วงดึกเสร็จแล้ว ก่อนจะอาบน้ำ ผมจะขึ้นมาที่ห้องพักเพื่อ ถอดสิ่งที่ไม่จำเป็น และ หยิบฉวยสบู่ ยาสระผม ผ้าเช็ดตัว
เหมือนกับบรรยากาศช่วงนั้นจะส่งเสริม ความรู้สึกอ้างว้างเป็นพิเศษ
ทุกคนในห้องเงียบ

ผมค่อยๆหยิบมือถือออกมาจากกระเป๋ากางเกงข้างซ้าย และพลิกดูหน้าจอ
เหมือนกับเพื่อจะพบว่า… ไม่มีใครโทรมาหาผมเลย
ก็ไม่ใช่ว่า เพื่อนที่นี่ไม่ดีนะครับ…
แต่ต้องขอบอกสรุปไว้ตรงนี้อีกทีเลยว่า

คิดถึง

ปล. ผมเข้าวิศวคอมเกษตร ใครยังไม่รู้ว่าจะเข้าอะไร มาเข้าที่นี้กันนะ
ปล2. “เพื่อนสนิท” ซึ้งออก… ใครไม่ชอบ ฮึ
ปล3. แล้วเจอกันอีกที หลัววันที่ 5 พ.ย. วันนั้นจะได้กลับบ้านอีกที

สอบคอมพิวเตอร์

วันนี้ผมสอบ สสวท. คอมพิวเตอร์ รอบ 2 วันที่ 2 มาเมื่อตอนเช้า
สอบรอบที่ 2 แตกต่างกับรอบแรกอย่างสิ้นเชิง

รอบแรก – ข้อสอบเลข(เฉพาะ Discrete math) จนไปถึงวัดเชาว์
รอบ 2 – เขียนโปรแกรมลูกเดียว

ย้อนความไปถึงเมื่อสมัยเด็กอายุ 15 ปีนี้ยังมีคำนำหน้าชื่อว่า เด็กชาย/เด็กหญิง …ก็ปีที่แล้วไง
ผลสอบคอมพิวเตอร์ สสวท.รอบแรกของผมคือ  ตกรอบ
ทั้งๆที่รู้สึกมั่นใจมากมายก่อนที่จะสอบ เพราะตัวเองเป็นคนติวสอบเสียด้วยซ้ำ
คงเป็นเพราะ ประมาท  แต่เอาเถอะ มันผ่านมาแล้ว (ตอนนั้นก็แสนเศร้าเลยนะ)

กลับมาที่ปีนี้ ผมผ่านเข้ามาสอบรอบที่2 โดยผมไม่สอบรอบแรก เพราะว่า ไต่เต้าขึ้นมาทาง สอวน. แทน (คือ มันเป็นอีกทางนึงหน่ะที่จะทำให้เข้ามาสอบได้เลย) และผลสอบรอบ2ของผมในปีนี้ …ยังไม่ประกาศเสียหน่อย

ผลยังไม่ประกาศ ก็เลยขอเล่าบรรยากาศการสอบพอให้เห็นภาพว่า งานสอบแข่งขัน ชื่อฟังดูยิ่งใหญ่ — คอมพิวเตอร์โอลิมปิก — ที่แท้จริงแล้วมันก็ไม่ได้อลังการมากมาย โดยเฉพาะการสอบของผมในวันนี้

วันแรก หรือเมื่อวาน
นั่งรถเมล์มาลงทะเบียนตอน 8 โมงครึ่ง เข้าห้องน้ำ ฟังคำชี้แจง เดินเข้าห้องสอบ แล้วนั่งเก้าอี้ตัวเล็กที่พอหย่อนก้นไปโดนแล้วเกิดเสียงเอี๊ยดอ๊าด  เขียนโปรแกรมไปครึ่งข้อ จาก 3 ข้อ …หน้าจอโปรแกรม Tucbo C V.3 ที่ใช้เขียนโปรแกรมถูก restore down (ย่อหน้าต่างให้เล็กลง) พร้อมมี หน้าต่างแจ้งการปิดเครื่องอัตโนมัติ!  อะไรกันนี่ สอบระดับประเทศมีแบบนี้ด้วย  ผมนั่งทำใจกับโปรแกรมครึ่งข้อที่ต้องเขียนใหม่ทั้งหมด  วันนี้ผ่านไปพร้อมกับ การปิดอัตโนมัติ 4 ครั้ง! ซึ่งไม่เป็นปัญหาเกินไปเพราะผมหมั่นบันทึกโปรแกรมไว้เสมอ หลังเจอบทเรียนครั้งแรก  สอบเสร็จรู้สึกดี ทำได้ทุกข้อ มารู้อีกทีว่ามีผิดบ้างในบาง test case แต่ก็ไม่เป็นไร แอบนึก(บ่นด้วย)ระหว่างไปโรงอาหารว่า เสียชื่อวิศวฯเกษตรจริงๆ สอบระดับนี้ปล่อยให้เครื่องมีอาการผิดปกติ…

วันที่ 2 หรือวันนี้
ผมคิดว่าเป็นเพราะ การปิดอัติโนมัติเมื่อวาน ทำให้ผู้จัดย้ายห้องสอบมาที่ใหม่ที่ตึกสูงใหญ่ ภายในห้องติดแอร์ และที่ชอบมากคือเก้าอี้นั่งสบายที่มีสีเหลือง! เหลืองมาก เหลืองอ๋อยเลย  แต่ผมไม่เข้าใจเสียจริงๆว่า ทำไมผู้จัดถึงไม่ติดตั้งโปรแกรม Turbo C ที่บังคับใช้มาให้ด้วย แจกข้อสอบ จับเวลาแล้ว แต่ไม่มีโปรแกรมสำหรับทำข้อสอบ ผมรอสักพักเจ้าหน้าที่จึงมาบอกURLสำหรับดาว์นโหลด  วันนี้ผมทำข้อสอบตามปกติ แต่มีการแก้ข้อสอบบ่อยมากจนรู้สึกว่า ไม่มีการตรวจสอบเอาเสียเลย  ที่สำคัญ ไฟดับ! 2รอบ! อะไรกันนี่ นี่หรือเมืองพุทธ.. เอ้ย การสอบระดับประเทศ วันนี้ผ่านไปแบบ เรื่อยๆเหมือนเดิม ทำได้ทุกข้อ แต่มีผิดบาง test case  พอผมสอบเสร็จก็เดินไปโรงอาหาร  กินข้าวเที่ยงแล้วก็ไป workshop ที่ click radio ต่อ…

สรุปแล้ว คือ เรื่อยๆครับ ผมไม่รู้จริงๆว่าจะติดหรือไม่ติด เพราะว่าการทำได้ทุกข้อนี่ ก็ไม่ได้หมายความว่าจะติดหรือไม่ test case บางอันที่ผมทำผิดไปก็อาจจะทำให้หลุด  คนที่เก่งๆมีเยอะมากมาย  ฉะนั้นก็รอลุ้น ประกาศผลสอบเมื่อไหร่ก็รู้เมื่อนั้น แต่ประกาศผลสอบวันไหนผมก็ไม่รู้เหมือนกัน

อยากติดนะ แต่ไม่ติดก็ได้ฟ้า…เอ๊ะยังไง เอาเถอะ เอาเป็นว่า 
ลุ้นเอา! เราลุ้นกัน!

ติวคอมรุ่นน้อง ภาค4

ลุ้นทั้งวัน 555
ประชุมเสร็จตอนบ่ายโมงครึ่ง แม่กำลังจะมารับก็เจอจันทรีที่เพิ่งสอบเสร็จกลับมาพอดี เลยสบโอกาสได้ยืมข้อสอบมาทำเฉลย
พอกลับมาถึงบ้านรีบทำเฉลย เสร็จแล้วก็โทรไปถามคะแนนแต่ละคน
ยังถามได้ไม่ครบคนแต่ว่า ส่วนใหญ่อยู่ในระดับประมาณ 30-40
ก็ ok นะ
ขอให้ติดซักหน่อยเถิด สาธุ…

ติวคอมรุ่นน้อง ภาค3

วันพร่งนี้จะเป็นวัน สอบสสวท.ของทุกคนๆแล้ว

ผมหวังเป็นอย่างยิ่งที่จะให้ทุกๆคนผ่านการคัดเลือกไปรอบต่อไป

การติวในครั้งนี้ คงต้องยอมรับว่าผมทำได้ไม่ดีตามที่ควรจะเป็นเท่าไหร่นักที่ติวไม่ทัน เหลือเรื่องการจัดเรียงและจัดหมู่อยู่บางส่วน แล้วก็มีเวลาทบทวนprogramming และทุกๆอย่างน้อยไป ซึ่งทั้งหมดก็เป็นความผิดของผมนั้นเอง ที่แบ่งเวลาทำงานไม่ได้ แม้ว่าจะทุ่มเทเท่าไหร่ ก็คงต้องขอโทดน้องๆที่ตั้งใจมาติวตลอด สิ่งที่พอจะทำได้ตอนนี้คงได้เพียง เป็นกำลังใจ

การติวในครั้งนี้ ตั้งแต่ปิดเทอมมา ก็ทำให้ได้รู้จักสนิทสนมกับน้องบางคนมากขึ้นเป็นพิเศษ เย็นนี้หลัง 5 โมงครึ่งที่เฉลยข้อสอบเสร็จแล้ว ซอล วิน เอิร์ธ กัน แพรว และผม(เรียงตามอาวุโส) ได้กลับมาเล่นวิ่งไล่จับกันอีกครั้งที่สนามเด็กเล่นอาคาร 1 สนุกสุดๆ ขำไปวิ่งไป หนีไปไม่ไหวเพราะขำมากไปหน่อย ผมก็ไม่ได้เล่นวิ่งไล่จับแบบเอาจริงเอาจังมา 2 ปีขึ้นไปแล้ว (คนอื่นๆอาจจะห่างหายจากการวิ่งไล่จับมาตั้งแต่ประถมแล้ว?) ก็สนุกอยู่จนถึงตอนที่นึกถึงอยู่นี้เลย แต่นึกดูก็ขำตัวเอง เล่นอยู่กับน้อง ม.2ทั้งนั้นเลย

การติวครั้งนี้ เพื่อสอบ สสวท. ก็คงจะปิดฉากลงเพียงเท่านี้ แต่ทุกอย่างก็จะยังดำเนินต่อไป ผมเองจะคอยฟังผลสอบจากทุกคนในวันพรุ่งนี้ และอาจจะเอามาเขียน blog ต่อในคืนพรุ่งนี้

และการติวในครั้งหน้า จะมีอีกแน่นอน…

ปล. มิงค์กลับมาแล้ว เย้