poj1676
保存不完整数字可能对应的数字,注意小时<24,分钟小于59.
AC代码
#include <stdio.h>
#include <vector>
using namespace std;
const int maxn = + ;
char s[][maxn];
int ret[maxn], tol;
vector<int> a[];
int h, m;
char dig[][] = {
' ','_',' ','|',' ','|','|','_','|',
' ',' ',' ',' ',' ','|',' ',' ','|',
' ','_',' ',' ','_','|','|','_',' ',
' ','_',' ',' ','_','|',' ','_','|',
' ',' ',' ','|','_','|',' ',' ','|',
' ','_',' ','|','_',' ',' ','_','|',
' ','_',' ','|','_',' ','|','_','|',
' ','_',' ',' ',' ','|',' ',' ','|',
' ','_',' ','|','_','|','|','_','|',
' ','_',' ','|','_','|',' ','_','|'}; void dfs(int num) {
if(num >= ) {
int x = (ret[]* + ret[])* + (ret[]*+ret[]);
int y = (ret[]* + ret[])* + (ret[]*+ret[]);
if(x > *+ || y > *+) {
return;
}
if((y+) % (*) == x) {
//printf("%d : %d %d : %d\n", ret[0]*10+ret[1],ret[2]*10+ret[3],ret[4]*10 + ret[5],ret[6]*10+ret[7]);
h = ret[]* + ret[];
m = ret[]*+ret[];
tol++;
}
return;
}
if(tol > ) return;;
for(int i = ; i < a[num].size(); i++) {
ret[num] = a[num][i];
dfs(num+);
}
} int main() {
int T;
scanf("%d", &T);
getchar();
while(T--) {
tol = ;
for(int i = ; i < ; i++) a[i].clear();
for(int i = ; i < ; i++) {
fgets(s[i], sizeof(s[i]), stdin);
}
int num = ;
for(int i = ; i < *+; i+=) {
if(i==) {
i = ;
continue;
}
vector<char> b;
for(int j = ; j < ; j++) {
for(int k = i; k < i+; k++) {
b.push_back(s[j][k]);
}
}
// compare
for(int j = ; j < ; j++) {
int f = ;
for(int k = ; k < ; k++) {
if(dig[j][k] != b[k] && (b[k] == '_' || b[k] == '|')) f = ;
}
if(f) {
if(num % == ) {
if(j <= ) a[num].push_back(j);
}else if(num % == ) {
if(j <= ) a[num].push_back(j);
}else {
a[num].push_back(j);
}
}
}
num++;
}
dfs();
if(tol != ) printf("Not Sure\n");
else printf("%02d%02d\n", h, m);
}
return ;
}
如有不当之处欢迎指出!
poj1676的更多相关文章
- poj1676(转换为二进制求解)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=13175 题目关键:将0~9十个数转换为二进制数进行枚举比较 int ...
- OJ题目分类
POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...
随机推荐
- head和tail命令
1.head head 文件名 :查看前10行 head -n 5 文件名 :查看文件的前5行 head -c 5 文件名 :查看文件的前5个字符 head -n -5 文件名 :查看文件的后5行 ...
- Xamarin.Forms 开发资源集合
收集整理了下 Xamarin.Forms 的学习参考资料,分享给大家,稍后会不断补充: UI样式 Snppts: Xamarin Forms UI Snippets. Prebuilt Templat ...
- wangEditor编辑器 Vue基本配置项
wangEditor编辑器 Vue基本配置项 1.Vue安装方法 npm i wangeditor -S <template> <div id='wangeditor'> &l ...
- Java -- 基于JDK1.8的ArrayList源码分析
1,前言 很久没有写博客了,很想念大家,18年都快过完了,才开始写第一篇,争取后面每周写点,权当是记录,因为最近在看JDK的Collection,而且ArrayList源码这一块也经常被面试官问道,所 ...
- Linux交换Esc和Caps
使用过 .xmodmap,重启后就失效,添加到rc.local也不管用,后来通过在xorg里配置成功. 更改xorg里的键盘配置,增加Option "XkbOptions" &qu ...
- 从Redis到Codis移植实践
一. 背景 随着业务的发展,线上Redis的数据越来越多,所以必须考虑扩容的事情了.对于redis的扩容,目前可选的方案有三种:1.client自己做sharding,一般是按key的hash值 ...
- ROS kinetic语音识别
1.安装依赖 1.1安装ros-kinetic-audio-common sudo apt-get install ros-kinetic-audio-common 1.2 安装libasound2 ...
- ajax请求网络api
不啰嗦,直接上代码: 1.在浏览器输入网址:http://api.asilu.com/weather/?callback=getname&city=深圳 你会看到如下结果:他返回的是json数 ...
- ng2
angularjs2的环境问题解决了好久. 百度到的答案也是各种各样还解决不了我的问题. 好在这几天经过不断的测试终于给解决了. ERROR in AppModule is not an NgModu ...
- DataGridView上下键事件获取到的是上次停留行的内容
DataGridView上下键事件 在DataGridView中,通过上下键将选中行的内容返回, 问题: 通过上边的方法总是获取到上次停留行的内容,不是当前选中行的内容. winform的项目,使用C ...