题意:

给定一串密码, 判断是否合法。

  • 长度不小于4
  • 不能重复经过任何点
  • 不能跳过中间点,除非中间点已经经过一次。

分析:

3*3直接记录出可能出现在两点之间的点,直接模拟就好。

注意审题,别漏了判断。

代码:

#include <cstdio>
#include<algorithm>
#include<cstring>
#include<map>
const int maxm = 15, mod = 1e9+7;
int m[maxm][maxm];
int vis[maxm], s[maxm];
void init()
{
m[1][3] = m[3][1] = 2;
m[2][8] = m[8][2] = 5;
m[3][7] = m[7][3] = 5;
m[1][9] = m[9][1] = 5;
m[4][6] = m[6][4] = 5;
m[7][9] = m[9][7] = 8;
m[1][7] = m[7][1] = 4;
m[3][9] = m[9][3] = 6;
}
int main (void)
{
int T;scanf("%d",&T);
init();
while(T--){
memset(vis, 0, sizeof(vis));
int k;scanf("%d",&k);
int flag = (k < 4);
for(int i = 0; i < k; i++){
scanf("%d",&s[i]);
if(s[i] > 9 || s[i] < 1) flag = 1;
if(flag) continue;
if(vis[s[i]]) flag = 1;
vis[s[i]] = 1;
if(i == 0) continue;
if(m[s[i]][s[i-1]] && !vis[m[s[i]][s[i-1]]]) flag = 1;
}
if(flag) printf("invalid\n");
else printf("valid\n");
}
}

HDU 5641 King's Phone【模拟】的更多相关文章

  1. HDU 5641 King's Phone 模拟

    King's Phone 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5641 Description In a military parade, ...

  2. hdu 5641 King's Phone(暴力模拟题)

    Problem Description In a military parade, the King sees lots of new things, including an Andriod Pho ...

  3. hdu 5641 King's Phone

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5641 题目类型:水题 题目思路:将点x到点y所需要跨过的点存入mark[x][y]中(无需跨过其它点存 ...

  4. hdu 5641 BestCoder Round #75

    King's Phone  Accepts: 310  Submissions: 2980  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: ...

  5. HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)

    HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...

  6. hdu 5640 King's Cake(模拟)

    Problem Description   It is the king's birthday before the military parade . The ministers prepared ...

  7. HDU 5640 King's Cake【模拟】

    题意: 给定长方形,每次从中切去一个最大的正方形,问最终可以得到多少正方形. 分析: 过程类似求gcd,每次减去最小的边即可. 代码: #include <cstdio> #include ...

  8. POJ 3344 &amp; HDU 2414 Chessboard Dance(模拟)

    题目链接: PKU:http://poj.org/problem? id=3344 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=2414 Descrip ...

  9. HDU 5948 Thickest Burger 【模拟】 (2016ACM/ICPC亚洲区沈阳站)

    Thickest Burger Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

随机推荐

  1. JS filters-table简单过滤-Version 1

    初级版本: 输入框可检索,空格检索忽略 radio点击后会过滤 最后的两个输入框可根据age范围检索过滤 三个单独的功能,不能协同工作 <!DOCTYPE html> <html&g ...

  2. 《基于Node.js实现简易聊天室系列之总结》

    前前后后完成这个聊天室的Demo花了大概一个星期,当然一个星期是仅仅指编码的工作.前期的知识储备是从0到1从无到有,花费了一定的时间熟悉Node.js的基本语法以及Node.js和mongoDB之间的 ...

  3. C语言基础-运算符

    sizeof()运算符 •sizeof可以用来计算一个变量或者一个常量.一种数据类型所占的内存字节数 •sizeof一共有3种形式   1.sizeof( 变量\常量 )      sizeof(10 ...

  4. leetcode_650. 2 Keys Keyboard_dp

    https://leetcode.com/problems/2-keys-keyboard/ 初始一个A,两种操作,复制当前所有A,粘贴,问得到n个A最少需要多少步操作. class Solution ...

  5. Kotlin:数组、字符串模板

    一.数组 Kotlin 中的数组是带有类型参数的类,其元素类型被指定为相应的类型参数,使用 Array 类来表示, Array 类定义了 get 与 set 函数(按照运算符重载约定这会转变为 [ ] ...

  6. Java8新特性 Stream流式思想(一)

    遍历及过滤集合中的元素使用传统方式遍历及过滤集合中的元素package cn.com.zq.demo01.Stream.test01.Stream; import java.util.ArrayLis ...

  7. Tensorflow入门-上

    前置准备 在阅读本文之前,请确定你已经了解神经网络的基本结构以及前向传播.后向传播的基本原理,如果尚未了解,可以查看下文. 深度学习之神经网络 什么是TensorFlow? TensorFlow是Go ...

  8. 使用cmd查看Tensorboard的生成图

    代码中"graph_practice7/"文件存放的是生成的神经网络图 现在要查看这个图,使用cmd 进入文件指定目录(我的文件存储地址是E:\workspace\PycharmP ...

  9. CS2QS

    inline QString MotorCS2QS(CString cs) { return QString::fromWCharArray((LPCTSTR)cs, cs.GetLength()); ...

  10. VirtualBox中的Linux读取Windows共享目录

    1.安装VirtualBox的增强功能.菜单 -> 设备 -> 安装增强功能此时在Linux中会载入安装包,用管理员权限运行安装即可. 2.在VirtualBox设置共享目录.设置 -&g ...