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 ...
随机推荐
- Django---项目
1.项目介绍 2.前期项目配置 3.用户注册---用户类创建和短信验证码的功能实现
- 牛客随笔(c++)
1.关于指针的字节大小: 当为32位系统时大小为4字节,64位系统时大小为8字节: #include<iostream> using namespace std; int main() { ...
- archlinux中安装Oracle12c的过程中遇到的问题
INFO: : cannot find INFO: /usr/lib64/libpthread_nonshared.aINFO: INFO: genclntsh: Failed to link lib ...
- Python生成器的原理及使用
'''1,什么是生成器? 函数内但凡有一个yield关键字, 再调用函数就不会执行函数代码,得到的返回值就是一个生成器对象 生成器本身就是一种迭代器 next(g)过程: 会触发生成器g所对应的函数的 ...
- ubuntu18.04 安装pip3
Ubuntu18.04默认内嵌python2.python3,pip安装时,python2对应安装pip,python3对应安装pip3. sudo apt install python3-pip 检 ...
- hdu4780 最小费用最大流
提交 题意: 给了M个机器,N个糖果要被生产,每个糖果有一个Si和Ti的时间,只能在Si或者在Si<=t<Ti的时间开始生产 每个机器进行转化生产产品的时候都会产生一个代价,然后求最小的代 ...
- B/S的学习
一. B/S的概念 B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式.Web浏览器是客户端最主要的应用软件. 这种模式统一了客户端,将系统功能实 ...
- 功能比较全的StackExchange.Redis封装帮助类(.Net/C#)
Redis官网https://redis.io/ 以下内容未全部验证,如有问题请指出 //static NewtonsoftSerializer serializer = new Newtonsoft ...
- nginx ../logs/nginx.pid" failed (2: No such file or directory)
[1]nginx.pid相关 (1)可能出现两种场景: 1.1 nginx.pid文件不存在 发生现象:nginx: [error] open() "/usr/local/lib/ubcsr ...
- linux 扩展文件系统
1. 创建新分区 [root@localhost ~]# fdisk -l Disk /dev/sda: bytes, sectors Units = sectors of * = bytes Sec ...