-
P7060 [NWRRC2014] Alarm Clock
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
int arr[10]={6,2,5,5,4,5,6,3,7,6};
bool check= false;
//对于时间ab:cd
for(int a=0;a<=2;a++){ //a最多可以到2(因为最大为23小时)
for(int b=0;b<10;b++){ //b0到9都有可能(10:00到19:00)
for(int c=0;c<=5;c++){//分钟最多到59,所以c位最大位5
for(int d=0;d<10;d++){//最后一位0-9都有可能
if(arr[a]+arr[b]+arr[c]+arr[d]==n){ //遍历所有,第一个满足的输出
cout<<a<<b<<":"<<c<<d;
check= true; //如果输出了答案,那么就不输出impossible
break; //只能跳出当前循环,因此需要多个break
}
}
if(check) break;
}
if(check)break;
}
if(check) break;
}
if(!check) cout<<"Impossible"; //如果没有符合条件的,那么输出impossible
return 0;
}
- 2