题意:

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

  • 长度不小于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. h5学习-h5嵌入android中

    嵌入Android中的h5界面: 将此页面复制到android项目中的assets目录下边: <!DOCTYPE html> <html lang="en"> ...

  2. 快速体验openstack-用devstack安装openstack

    官网安装说明: --2014年11月15日14:14:21 安装环境:Ubuntu12.04,安装官网的说明遇到了小问题,记录在这里 --http://docs.openstack.org/devel ...

  3. OC语言Block 续

    OC语言 Block 转载:http://blog.csdn.net/weidfyr/article/details/48138167 1.Block对象中的变量行为 结论: 在block代码块内部可 ...

  4. 关于AMAZON SES设置的一些要点

    1.首先要有一个企业邮箱,如果没有可以去腾讯(http://exmail.qq.com/onlinesell/intro)申请一个,网易也有,不过解析几次搞了两天都是未通过,腾讯几分钟就好了 企业邮箱 ...

  5. OpenFlow_tutorial_3_Learn_Development_Tools

    一.Several Utilities OpenFlow Tutorial VM 中预装了一些OpenFlow特性的工具和一般通用网络的工具. 1.Openflow Controller:处于Open ...

  6. Java 字符串格式化 String.format() 的使用

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得c语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

  7. 【HTML5】可以省略标记的元素

  8. 使用github作为maven仓库

    本文介绍的这种使用 github 作为 maven 仓库的思路主要为: github的项目上创建mvn-repo分支,使用mvn-repo分支作为maven仓库 配 置 pom.xml 使用 targ ...

  9. 17Web服务器端控件

    Web服务器端控件 Web服务器端控件 ASP.Net提供了两类服务器端控件:Html服务器端控件和Web服务器端控件.由于Web服务器端控件功能更强大,和Windows应用程序的控件使用方法类似,容 ...

  10. SQL server 表操作语句(原创)

    CREATE TABLE [dbo].[test] ([id11] int NOT NULL ,[as] varchar(1) COLLATE Chinese_PRC_CI_AS NULL ,[asd ...