当前位置: 首页 > java >正文

CodeForces - 1692D

Victor has a 24-hour clock that shows the time in the format "HH:MM" (00 ≤≤ HH ≤≤ 23, 00 ≤≤ MM ≤≤ 59). He looks at the clock every xx minutes, and the clock is currently showing time ss.

How many different palindromes will Victor see in total after looking at the clock every xx minutes, the first time being at time ss?

For example, if the clock starts out as 03:12 and Victor looks at the clock every 360360 minutes (i.e. every 66 hours), then he will see the times 03:12, 09:12, 15:12, 21:12, 03:12, and the times will continue to repeat. Here the time 21:12 is the only palindrome he will ever see, so the answer is 11.

A palindrome is a string that reads the same backward as forward. For example, the times 12:21, 05:50, 11:11 are palindromes but 13:13, 22:10, 02:22 are not.

Input

The first line of the input contains an integer tt (1≤t≤1001≤t≤100) — the number of test cases. The description of each test case follows.

The only line of each test case contains a string ss of length 55 with the format "HH:MM" where "HH" is from "00" to "23" and "MM" is from "00" to "59" (both "HH" and "MM" have exactly two digits) and an integer xx (1≤x≤14401≤x≤1440) — the number of minutes Victor takes to look again at the clock.

Output

For each test case, output a single integer — the number of different palindromes Victor will see if he looks at the clock every xx minutes starting from time ss.

Examples

InputcopyOutputcopy
6
03:12 360
00:00 1
13:22 2
15:15 10
11:11 1440
22:30 27
1
16
10
0
1
1
#include<bits/stdc++.h>
using namespace std;
#define int long longsigned main(){int t;cin>>t;while(t--){int h,f,k;char c;string x;cin>>x>>k;//输入时间 ,每次相加分数 h=(x[0]-'0')*10+(x[1]-'0');//求小时 f=(x[3]-'0')*10+(x[4]-'0');//求分 int h1=h,f1=f;int sum=0,p=0;while((h1!=h||f1!=f)||(p==0)){//循环直到时间重新与输入时间相等 p++;int q=f1+k;//求分数相加和 h1=(h1+q/60)%24,f1=q%60;//更新时间 string z=to_string(h1);//把时间转换为字符串 if(z.size()<2){//如果字符串只有一位就在前面+‘0’ z='0'+z;}string c=to_string(f1);if(c.size()<2){c='0'+c;}string ss=z+":"+c;string dd=ss;reverse(dd.begin(),dd.end());//反转字符串 if(ss==dd){//比较是否为回文串 sum++;}}cout<<sum<<endl;}}
这样可以吗

 

http://www.xdnf.cn/news/8653.html

相关文章:

  • 算法笔记·数学·欧拉函数
  • PCB布局设计
  • Windows逆向工程提升之IMAGE_BASE_RELOCATION
  • 使用Python操作Mysql数据库
  • 【VBA 字典的引用和调用方法】
  • 【笔记】如何解决GitHub报错403
  • [创业之路-377]:企业战略管理案例分析-战略制定/设计-市场洞察“五看”:看宏观之社会发展趋势:数字化、智能化、个性化的趋势对初创公司的战略机会
  • 品鉴JS的魅力之防抖与节流【JS】
  • 英语写作中“随着……的出现”with the advent of 的用法
  • 03-工具篇-SSH远程登录ubuntu系统
  • 同为科技 智能PDU产品选型介绍 EN10/I801CI
  • Elasticsearch实操案例
  • Linux Shell编程(九)
  • 贪心介绍 LeetCode 455.分发饼干 LeetCode 376. 摆动序列 LeetCode 53. 最大子序和
  • C# 异步方法中缺少 `await` 运算符的隐患与解决方案
  • Vue框架1(vue搭建方式1,vue指令,vue实例生命周期)
  • 卷积神经网络优化与应用实践:参数设置、泛化能力提升及多领域应用解析
  • Vue 3 路由传参使用指南
  • 视频监控联网系统GB28181协议中设备状态信息报送流程详解以及查询失败常见原因
  • uni-app学习笔记十--vu3 计算属性computed
  • 鸿蒙UI开发——上拉抽屉的更新与事件回调
  • Android Studio 连接夜神模拟器 自动断开的问题
  • 基于AI生成测试用例的处理过程
  • 海外IP代理在跨境电商选品、运营、风控的实战应用解析
  • ARM笔记-ARM伪指令及编程基础
  • Python:从脚本语言到工业级应用的传奇进化
  • 生成图片验证码
  • Ubuntu安装1Panel可视化管理服务器及青龙面板及其依赖安装教程
  • 再论自然数全加和-3
  • 进程信号(下)【Linux操作系统】