P7060 [NWRRC2014]Alarm Clock题解
本蒟蒻的第一篇题解,大佬勿喷!
题目传送门:P7060
题目大意
输入一个火柴棒的数量,用这些火柴棒组成一个合法的电子表时间。
如果无法组成,输出Impossible。
思路
第一步:我们可以先把
code:
#include <iostream>
#include <string>
using namespace std;
int num[10] = {6,2,5,5,4,5,6,3,7,6}; //定义num数组,记录0-9每点的段数
int n; //n是输入的段数
int main()
{
cin >> n; //输入n
int count; //定义计数器num,记录段数
for(int i = 0; i < 23; ++i) { //开始遍历
for(int j = 0; j <= 59; ++j) {
count = 0; //记得清0
count += num[i % 10]; //统计小时的个位数
count += num[i / 10]; //统计小时的十位数
count += num[j % 10]; //统计分钟的个位数
count += num[j / 10]; //统计分钟的十位数
if(count == n) {
//cout << i << '\n' << j;
printf("%02d:%02d",i,j);
return 0;
}
}
}
cout << "Impossible" << '\n'; //如果没有结束,输出Impossible
return 0;
}