Description
你的同桌犯困了,于是她想睡会让你待会叫她起来,但是她这个人吧有个癖好,喜欢在 回文时间 的时候起来,例如 12:21
就是一个回文时间(精确到分)
如果她被你叫起来的时候发现不是回文的,她就会生气,给你两拳,众所周知你的同桌肌肉饱满,一拳一个小朋友,你不想被打于是你想知道 至少 还要过多少分钟才是一个回文时间
注意:时间是24小时制
Format
Input
输入一个时间格式: hh:mm
(注意的是这里可能有前缀0,但可能也没有)
Output
输出至少还要过多少分钟才是一个回文时间(前缀0补齐)
Samples
输入数据 1
10:03
Copy
输出数据 1
68
Copy
输入数据 2
0:9
Copy
输出数据 2
61
Copy
Limitation & hint
对于样例一我们会发现当我们的时间经过 68 分钟后,就是 11:11 这就是一个回文时间
1s, 2048KiB for each test case.
总结反思:
这道题在做题的时候老是想用一些 ‘捷径’ (没有考虑到16点以后,分钟无法表示的情况),所以WA了。
这道题数据量很小直接暴力模拟就行了。
越简单的题目,就越容易大意!!所以,越简单的题目就越要小心。
#include <stdio.h>
#include <math.h>
#include <algorithm>
#include <iostream>
#include <string.h>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <vector>
using namespace std;
#define ll long long
int n,m,ans=0;
int main() {
scanf("%d:%d",&n,&m);
int i=m,k=1;
while(k) {
int t=n/10,j=n%10;
int tf=i/10,tj=i%10;
if(t==tj&&j==tf) {
cout<<ans<<endl;
break;
}
i++;
ans++;
if(i==60) {
i=0;
n++;
if(n==24) {
n=0;
}
}
}
return 0;
}