UVALive - 6269 Digital Clock 模拟
题意:时钟坏了,给你一段连续的时间,问你现在可能的时间是多少。
思路:直接模拟,他妈的居然这场就跪在了这题,卧槽,他妈的就在111行,居然多打了个 = ,这是什么意思,注孤生吗
#pragma comment(linker, "/STACK:1000000000")
#include <bits/stdc++.h>
#define LL long long
#define INF 0x3f3f3f3f
#define IN freopen("d.in","r",stdin);
#define OUT freopen("out.txt","w",stdout);
using namespace std;
#define MAXN 9999
int w[][], y[][];
bool first;
struct Node{
bool vis[];
Node(int x){
memset(vis, , sizeof(vis));
if(x != && x != ){
vis[] = true;
}
if(x != && x != && x != && x != ){
vis[] = true;
}
if(x != && x != ){
vis[] = true;
}
if(x != && x != && x != ){
vis[] = true;
}
if(x == || x == || x == || x == ){
vis[] = true;
}
if(x != ){
vis[] = true;
}
if(x != && x != && x != ){
vis[] = true;
}
}
}; struct Moment{
int hour, mi;
int u[];
Moment(int i = ){
hour = i / ;
mi = i % ;
u[] = hour / ;
u[] = hour % ;
u[] = mi / ;
u[] = mi % ;
}
void print(){
if(first){
printf("%d%d:%d%d", u[], u[], u[], u[]);
first = false;
}
else{
printf(" %d%d:%d%d", u[], u[], u[], u[]);
}
}
};
bool work(char *s, int x){
Moment t = Moment(x);
memset(w, , sizeof(w));
for(int i = ; i < ; i++){
if(i == ) continue;
Node p = Node(s[i] - '');
Node q = Node(t.u[i]);
for(int j = ; j <= ; j++){
if(!p.vis[j] && q.vis[j]){
w[i][j] = ;
continue;
}
if(p.vis[j] && !q.vis[j]){
return false;
}
if(p.vis[j] && q.vis[j]){
w[i][j] = ;
}
}
}
return true;
} bool work_y(char *s, int x){
Moment t = Moment(x);
memset(y, , sizeof(y));
for(int i = ; i < ; i++){
if(i == ) continue;
Node p = Node(s[i] - '');
Node q = Node(t.u[i]);
for(int j = ; j <= ; j++){
if(!p.vis[j] && q.vis[j]){
y[i][j] = ;
continue;
}
if(p.vis[j] && !q.vis[j]){
return false;
}
if(p.vis[j] && q.vis[j]){
y[i][j] = ;
}
}
}
return true;
}
bool check(){
for(int i = ; i < ; i++){
if(i == ) continue;
for(int j = ; j <= ; j++){
if(y[i][j] == ) continue;
if(w[i][j] == && y[i][j] != ){
w[i][j] = y[i][j];
continue;
}
if(w[i][j] == && y[i][j] == ){
return false;
}
if(w[i][j] == && y[i][j] == ){
return false;
}
}
}
return true;
}
char s[][];
int main()
{
//IN;
//OUT;
int n;
int cas = ;
while(~scanf("%d", &n)){
if(cas == ){
int o = ;
o = + ;
}
cas++;
for(int i = ; i <= n; i++){
scanf("%s", s[i]);
}
Moment t;
first = true;
for(int i = ; i < ; i++){
if( i == ){
int o;
o = + ;
}
if(!work(s[], i)) continue;
bool flag = false;
for(int j = ; j <= n; j++){
if(i + j - == ){
int o;
o = + ;
}
if(!work_y(s[j], (i + j - ) % )){
flag = true;
break;
}
if(check()) continue;
flag = true;
break;
}
if(flag) continue;
t = Moment(i);
t.print();
}
if(first){
printf("none\n");
}
else{
printf("\n");
}
}
return ;
}
UVALive - 6269 Digital Clock 模拟的更多相关文章
- UVALive 6269 Digital Clock --枚举,模拟
题意:说不清楚,自己看吧,太恶心. 这题真是SB了,当时看了一下以为乱搞就好了,于是开始动手拍,结果拍了好几个小时都没拍出来,而且越想越想不通,直接把自己绕进去了,结果gg了. 总结:甭管什么题,想清 ...
- digital clock based C
/********************************** * Name : timeDisplay.cpp * Purpose: Display digital clock accord ...
- ZOJ 1122 Clock(模拟)
Clock Time Limit: 2 Seconds Memory Limit: 65536 KB You are given a standard 12-hour clock with ...
- UVALive - 7139(差分+模拟)
题目链接 参考 题意 N*M的网格,一辆车沿着网格线按给定路线走,每个网格里有一个人,人的视线始终看着车,问这些人净转圈数的平方和. 分析 由于车的起点和终点都为左上角,且每个格子里的人永远面对着车, ...
- UVALive 7464 Robots(模拟)
7464Robots Write a program to collect data from robots. We are given two sets of robotsX=fX1;:::;Xmg ...
- HDU 5705 Clock(模拟,分类讨论)
Clock Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submi ...
- 【Bit String Reordering UVALive - 6832 】【模拟】
题意分析 题目讲的主要是给你一个01串,然后给你要变成的01串格式,问你要转换成这一格式最少需要移动的步数. 题目不难,但当时并没有AC,3个小时的个人赛1道没AC,归根到底是没有逼自己去想,又想的太 ...
- 【Miscalculation UVALive - 6833 】【模拟】
题目分析 题目讲的是给你一个串,里面是加法.乘法混合运算(个人赛中误看成是加减乘除混合运算),有两种算法,一种是乘法优先运算,另一种是依次从左向右运算(不管它是否乘在前还是加在前). 个人赛中试着模拟 ...
- UVaLive 6809 Spokes Wheel (模拟)
题意:给定两个16进制数,问你把它转成二进制后,把第一个向左或者向右旋转最少的次数同,使得第一个变成第二个. 析:也是比较水的,按照要求做就好,注意0的情况,可能会忘记. #pragma commen ...
随机推荐
- ZOJ 2601 Warehouse Keeper
Warehouse Keeper Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Origin ...
- Informatica环境搭建过程中一些问题-近期项目进了新人,在搭建环境中存在一些问题,之前都处理过一直没有整理,这次接着机会,把这些常见问题处理整理出来
一.Informatica9.5.1创建资源库出错找不到libpmora8.so 错误如下: Database driver event...Error occurred loading librar ...
- 洛谷 P2960 [USACO09OCT]Milkweed的入侵Invasion of the Milkweed
P2960 [USACO09OCT]Milkweed的入侵Invasion of the Milkweed 题目描述 Farmer John has always done his best to k ...
- cocos2dx 触摸钢琴
1.触摸钢琴项目描写叙述 1.1触摸钢琴功能描写叙述 实现手指点按琴键发出相应的音调,按下位置出现星云的粒子特效,滚动实现移动到别的琴键的位置,按下安卓返回键运行关闭. 1.2触摸钢琴所需技术 粒子特 ...
- nyoj--311--完全背包(动态规划,完全背包)
完全背包 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w. ...
- word 的使用 —— 分页符与分节符
节的概念:节定义了一些格式, 如页边距.页面的方向.页眉和页脚,以及页码的顺序. 分节符是指为表示节的结尾插入的标记. 分节符的作用: 分节符起着分隔其前后文本格式的作用,如果删除了某个分节符,它前面 ...
- error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead解决方案
vs2012使用c语言函数fopen操作文件时报错: 错误 1 error C4996: 'fopen': This function or variable may be unsafe. Consi ...
- 归档备份被删,GoldenGate无法抽取数据
发生错误如下,源端EXTRACT进程异常中止,查看日志,发现如下错误. 2014-07-23 01:32:13 ERROR OGG-00446 Oracle GoldenGate Captur ...
- 微星(MSI)新主板B150M MORTAR U盘装win7的坎坷经历
新买的微星主板,热心的同事帮忙装好了win10,但是显卡驱动没装好,屏幕都快看瞎了眼,再者,楼主非常不喜欢win10的花哨,所以就装回了win7.下面来说一下我装win7的痛苦经历. 我是用UItra ...
- NodeJS学习笔记 (13)数据加密-crypto(OK)
写在前面 本章节写得差不多了,不过还需要再整理一下(TODO). hash例子 hash.digest([encoding]):计算摘要.encoding可以是hex.latin1或者base64.如 ...