您的位置:首页 > 其它

Codeforces 916-A

2018-01-20 10:39 302 查看
A. Jamie and Alarm Snooze

time limit per test2 seconds

memory limit per test256 megabytes

inputstandard input

outputstandard output

Jamie loves sleeping. One day, he decides that he needs to wake up at exactly hh: mm. However, he hates waking up, so he wants to make waking up less painful by setting the alarm at a lucky time. He will then press the snooze button every x minutes until hh: mm is reached, and only then he will wake up. He wants to know what is the smallest number of times he needs to press the snooze button.

A time is considered lucky if it contains a digit ‘7’. For example, 13: 07 and 17: 27 are lucky, while 00: 48 and 21: 34 are not lucky.

Note that it is not necessary that the time set for the alarm and the wake-up time are on the same day. It is guaranteed that there is a lucky time Jamie can set so that he can wake at hh: mm.

Formally, find the smallest possible non-negative integer y such that the time representation of the time x·y minutes before hh: mm contains the digit ‘7’.

Jamie uses 24-hours clock, so after 23: 59 comes 00: 00.

Input

The first line contains a single integer x (1 ≤ x ≤ 60).

The second line contains two two-digit integers, hh and mm (00 ≤ hh ≤ 23, 00 ≤ mm ≤ 59).

Output

Print the minimum number of times he needs to press the button.

Examples

input

3

11 23

output

2

input

5

01 07

output

0

Note

In the first sample, Jamie needs to wake up at 11:23. So, he can set his alarm at 11:17. He would press the snooze button when the alarm rings at 11:17 and at 11:20.

In the second sample, Jamie can set his alarm at exactly at 01:07 which is lucky.

#include<bits/stdc++.h>
using namespace std;
bool check(int h,int m,int x){//判断当前时间是否符合要求
if(h%10==7||m%10==7){
return false;
}
else return true;
}
int main(){
int m,h,x;
while(scanf("%d%d%d",&x,&h,&m)!=EOF){
int num=0;//记录往前推进的次数
while(check(h,m,x)){//开始枚举
//如果不符合要求就更新时间,符合要求就跳出
if(m<x){//如果需要向前借位
h--;//小时数减一借给分钟数60
m+=60;
}
if(h<0){//如果小时数小于一,说明往前推了一天
h+=24;//更新小时数
}
m-=x;//每次向前推x分钟
num++;//记录推进的次数
}
cout<<num<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: