ABC278B 题解
_dijkstra_ · · 题解
整合题解。
B 题,模拟题,难度较低。
思路
我们发现,所谓的交换位置,就是:交换
所以直接模拟就行。而
那么我们就可以判断这个时刻是否合法了。
然后一直枚举就行。由于判断的过程是
代码
省去了大段的缺省源。
bool chk(int h, int m) //判断这个时刻是否合法
{
int th = h, tm = m;
m = 10 * (th % 10) + (tm % 10), h = 10 * (th / 10) + (tm / 10);
return (0 <= h && h < 24 && 0 <= m && m < 60);
}
void solve()
{
int h, m;
scanf("%d%d", &h, &m);
while (true) //暴力枚举
{
if (chk(h, m)) printf("%d %d\n", h, m), exit(0);
if (h == 23 && m == 59) h = m = 0;
else if (m == 59) h++, m = 0;
else m++;
}
}