005 - 朝昼晩ごはん
時間制限 3 秒 / メモリ制限 256 MB / 得点 7 / x 1 /
あなたは食堂を経営しており、1日3回だけ食事を提供します。食堂を訪れようとしている客は、朝ごはん、昼ごはん、晩ごはんを受け取ることができる時間帯 が決まっています。あなたがこの時間帯に含まれるどこかの時刻で食事を提供すれば、客は食事を受け取れます。あなたは3つの食事を提供する時刻を工夫し て、できるだけ多くの客が朝、昼、晩ごはんのすべての食事を受け取れるようにしたいと思っています。
それぞれの客が朝ごはん、昼ごはん、晩ごはんを受け取ることができる時間帯が与えられる。あなたが、3つの食事を提供する時刻を決めることができるとき、 朝、昼、晩ごはんをすべて受け取ることができる客の最大人数を出力するプログラムを作成せよ。ただし、食事を提供する時刻が、客が食事を受け取れる時間帯 の開始時刻か終了時刻と同じ場合は、その客は食事を受け取れるものとする。
Input
入力は以下の形式で与えられる。
N ast1 aet1 hst1 het1 bst1 bet1 ast2 aet2 hst2 het2 bst2 bet2 : astN aetN hstN hetN bstN betN
1行目に、客の人数N(1≤N≤50)が与えられる。続くN行にi番目の客の、朝ごはんを受け取ることができる時間帯の開始時刻astiと終了時刻aeti、昼ごはんを受け取ることができる時間帯の開始時刻hstiと終了時刻heti、晩ごはんを受け取ることができる時間帯の開始時刻bstiと終了時刻betiが与えられる。ただし、各時間帯について、開始時刻よりも終了時刻が後となるように与えられる。また、hstiはaetiより後の時刻で、bstiはhetiより後の時刻である。各時間帯は午前0時をまたがない。各時刻は以下の形式で与えられる。
h m
各時刻はh (0≤h≤23)時 m(0≤m≤59)分を示す。
Output
朝、昼、晩ごはんをすべて受け取ることができる客の最大人数を、1 行に出力する。
Sample Input 1
5 1 0 2 0 3 30 4 30 6 0 7 0 2 30 3 0 4 0 5 0 5 30 6 30 1 30 2 30 4 30 5 0 6 30 7 0 2 30 3 0 5 0 6 0 6 30 7 0 1 0 2 0 3 0 3 30 4 0 5 0
Sample Output 1
3