计蒜客————King's Heir

来源:互联网 发布:石家庄淘宝模特 编辑:程序博客网 时间:2024/06/10 20:30
  •  56.93%
  •  2000ms
  •  262144K


The king is dead, long live the king! After the sudden death of the king Fert XIII the people of theFlatland Kingdom are going to welcome the new king. Unfortunately, there is a problem, Fert has too many sons.

Actually, he has sons and he loved each new son more than all of his previous sons. Well, probably he just stopped loving his sons because of their bad behavior. Anyway, after the new son was born Fert made the new testament that declared that the newly born son would be the heir.

However, there is a problem. Only the king’s son who is at least 18 years old at the moment of the king’s death can become a new king. Now the ministers of the government are trying to find the correct new king, but they seem to fail. Help them!

Input

The first line of the input contains three integers: d,and — the day, the month and the year of the king’s death, is from 1 to 31, is from 1 to 12,is from 1 to 9999. It is guaranteed that there exists day in month m, all months have the same number of days in Flatland as in our country, except thatFlatland calendar doesn’t have leap years, so February (month 2) always has 28 days.

The second line contains (1 ≤ ≤ 100) — the number of king’s sons. The following lines contain three integers each dimand yand specify the birth dates of king’s sons. All dates are correct and no son is born after or on the day of king’s death. The king had no twins, so no two sons were born on the same date.

Output

Output one integer — the number of the son that would become the king, or 1 if none of them is at least 18 years old. The sons are numbered from 1 to in order they are described in the input. The youngest son who is at least 18 years old at the moment of the king’s death would become the king. If the son has his 18th birthday exactly on the day of the king’s death, he can become a king. 

样例输入1

22 10 2016728 2 199922 7 199521 10 199823 10 19983 9 20001 4 201317 12 2004

样例输出1

3

样例输入2

22 10 2016128 2 1999

样例输出2

-1
给出国王的死亡日期,找出最年轻的大于等于18的王子。
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;#define trans(x,y,z) z+0.01*y+0.0001*xint main(){    int x,y,z;    while(~scanf("%d%d%d",&x,&y,&z)){        double X=trans(x,y,z),val=99999;        int n,flag=-1;        scanf("%d",&n);        for(int i=1;i<=n;i++){            scanf("%d%d%d",&x,&y,&z);            double t=trans(x,y,z);            if(X-t>=18.0&&X-t<val){                flag=i;                val=X-t;            }        }        printf("%d\n",flag);    }    return 0;}