追梦算法----睡懒觉

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值