L1-018 大笨钟 (10 point(s)) (测试点四)

Posted Atl212

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了L1-018 大笨钟 (10 point(s)) (测试点四)相关的知识,希望对你有一定的参考价值。

  • hh - 12 + bool(mm)

    看别人代码里面发现了这个神奇的用法,bool() 意思应该是 mm 非零的时候返回 1 。

    参考代码

  • 写完的时候卡了一个测试点,想了想应该是时间边界的问题。重新看了题目,同时试了下 12:00 的时候是什么。结果果然有问题什么也没有输出。

    同时根据条件 “午夜00:00到中午12:00期间,笨钟是不敲的” 所以这里得改一下,要小于等于。

    if(hh <= 12)

#include <bits/stdc++.h>
using namespace std;

int main(){
	int hh, mm;
	char c;
	cin >> hh >> c >> mm;
	// 前半天 
	if(hh <= 12) 
		printf("Only %02d:%02d.  Too early to Dang.", hh, mm);
	else{
		// 换算 非整点
		hh = hh - 12 + bool(mm);
		while(hh--) cout << "Dang"; 
	}
}

以上是关于L1-018 大笨钟 (10 point(s)) (测试点四)的主要内容,如果未能解决你的问题,请参考以下文章

L1-018. 大笨钟

L1-018. 大笨钟

L1-018. 大笨钟

天梯赛-L1-018. 大笨钟

L1-018 大笨钟

L1-018. 大笨钟