2553-03-17

[TASK] [TRANSLATION] COCI#2 2006-2007

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Translated by SmiLe-DoG
COCI#2 2006-2007

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

4.SJECISTA | 32 MB | 1 sec
    พิจารณารูปเหลี่ยมนูน N เหลี่ยม โดยที่สามเส้นใดๆของเส้นทแยงมุมจะไม่มีจุดตัดร่วมกัน ใ้ห้เขียนโปรแกรมเพื่อหาจำนวนเส้นทแยงมุมของรูป N เหลี่ยมนี้


Input
มีบรรทัดเดียวเท่านั้นประกอบด้วยจำนวนเต็ม N (3<=N<=100) เป็นจำนวนเหลี่ยมของรูปนูน

Output
แสดงผลจำนวนจุดตัดทั้งหมดของเส้นทแยงมุม

Sample of input

input
3
output
0

input
4
output
1


input
6
output
15

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

5.STOL | 32 MB | 1 sec
    เมอร์โกได้ซื้ออพาร์ทเมนท์ใหม่ ด้วยความเห่อของใหม่นั้นเมอร์โกต้องการจะอวดอพาร์ทเมนต์ของเขากับเพื่อนๆโดยชวนเพื่อนๆของเขามารับประทานอาหารเย็นด้วยกัน เนื่องจากเมอร์โกมีเพื่อนเยอะมาก ดังนั้นเขาจึงต้องการโต๊ะไม้รูปสี่เหลี่ยมผืนผ้าขนาดใหญ่ 1 โต๊ะสำหรับเป็นที่นั่งของเขาและเพื่อนๆที่มา โดยปริมาณของคนที่โต๊ะจะรับได้มีค่าเท่ากับความยาวของเส้นรอบรูปของโต๊ะนั้น เมอร์โกต้องการซื้อโต๊ะให้พอดีกับอพาร์ทเมนต์ของเขาโดยโต๊ะต้องวางพอดีกับช่องว่างในอพาร์ทเมนต์
    กำหนดข้อมูลนำเข้าเป็นแผนผังของอพาร์ทเมนต์ ให้เขียนโปรแกรมเพื่อหาจำำนวนเพื่อนที่มากที่สุดที่เมอร์โกจะสามารถเชิญมารับประทานอาหารเย็นได้

Input
บรรทัดแรกประกอบด้วยจำนวนเต็ม R และ C (1<=R,C<=400) บรรทัดที่ 2 ถึง R+1 ประกอบด้วยตัวอักขระ C ตัว โดยที่ '.' หมายถึงช่องว่างและ 'X' หมายถึงกำแพงในอพาร์ทเมนต์นั้น

Output
แสดงจำนวนเพื่อนทั้งหมดที่เมอร์โกสามารถชวนมาได้

Sample of input

input
2 2
..
..
output
7

input
4 4
X.XX
X..X
..X.
..XX
output
9


input
3 3
X.X
.X.
X.X
output
3

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

6.STRAZA | 32 MB | 1 sec
    ช่วงระหว่างสงคราม--ใกล้กับฐานบัญชาการทางการทหารมีการสร้างแนวสนามเพลาะ (หลุมแนวยาวที่พบได้บ่อยๆในหนังหรือเกมสงคราม) โดยจำลองให้เป็นส่วนของเส้นตรงบนระนาบ ระหว่างช่วงเวลากลางคืน จะต้องมีการผลัดเวรยามเผ้าระวังภัย โดยจะต้องมีทหารยามประจำการอยู่ 3 นายคอยเตือนภัยให้เพื่อนทหารที่นอนหลับอยู่รู้เมื่อเกิดเหตุการณ์ขึ้น ทหารยามทั้งสามนายนี้จะยืนอยู่ในสนามเพลาะโดยมีเงื่อนไขว่าทหารยามทั้ง 3 นายนั้นจะต้องมองเห็นกันและกันทั้งหมด และทหารสามนายนั้นไม่ยืนอยู่บนเส้นตรงเดียวกัน
    ให้เขียนโปรแกรมเพื่อหาจำนวนวิธีที่จะจัดการยืนของทหารยาม 3 นายนั้น

Input
บรรทัดแรกบรรจุจำนวนเต็ม N (1<=N<=20) เป็นจำนวนของแนวสนามเพลาะ บรรทัดที่ 2 ถึง N+1 สำหรับแต่ละบรรทัดประกอบด้วยจำนวนเต็ม X1, X2, Y1, Y2 (<=1000) โดยที่ (X1,Y1) และ (X2,Y2) เป็นจุดเริ่มต้นและจุดจบของแนวสนามเพลาะ
ทั้งนี้ทั้งนั้นแนวสนามเพลาะอาจใช้จุดเริ่มต้นหรือจุดจบร่วมกันได้

Output
แสดงจำนวนวิธีที่จะจัดการยืนของทหารให้ได้ตามเงื่อนไข

Sample of input

input
6
0 0 1 0
0 0 0 1
1 0 1 1
0 1 1 1
0 0 1 1
1 0 0 1
output
8


input
4
5 1 7 1
1 1 5 1
4 0 4 4
7 0 3 4
output
1

input
3
2 2 3 2
3 2 3 3
3 3 2 3
output
0

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>