【题意简述】:矩阵中除了‘.’仅仅能出现一种符号。是这些之中的一个‘‑’, ‘|’, ‘\’, or ‘/’,并且就是当除了‘.’之外还仅仅有一种符号时。这个符号还必须连成一条直线,否则就是错的,这个时候就能够输出CORRECT。否则当有两种以上符号的时候。就是错误。

还有就是当仅仅有‘.’时,也是不正确的。

【分析】:模拟过程,将整个思路想清晰。

本代码參考:http://www.cnblogs.com/gongling/archive/2012/08/05/2623676.html。

// 208K 125ms
#include<cstdio>
#include<iostream>
using namespace std;
#define MAX_LEN 101
#define is_valid(x, y) ((x)>=0 && (x)<N && (y)>=0 && (y)<M)
int N, M;
char image[MAX_LEN][MAX_LEN];
int visited[MAX_LEN][MAX_LEN];
int flag; void mark(int i, int j, int dx, int dy, char ch)
{
while(is_valid(i+dx, j+dy) && image[i+dx][j+dy]==ch)
{
visited[i+dx][j+dy] = 1;
i += dx;
j += dy;
}
} void solve()
{
int i, j;
char ch;
for(i=0; i<N; i++)
{
for(j=0; j<M; j++)
{
ch = image[i][j];
if(ch!='.' && !visited[i][j])
{
visited[i][j] = 1;
switch(ch)
{
case '-':
++flag;
mark(i, j, 0, 1, ch);
break;
case '|':
++flag;
mark(i, j, 1, 0, ch);
break;
case '\\':
++flag;
mark(i, j, 1, 1, ch);
break;
case '/':
++flag;
mark(i, j, 1, -1, ch);
break;
}
}
}
}
} int main()
{
int i, tests;
scanf("%d", &tests);
while(tests--)
{
scanf("%d %d", &N, &M);
for(i=0; i<N; i++)
scanf("%s", image[i]);
memset(visited, 0, sizeof(visited));
flag = 0;
solve();
if(flag == 1)
printf("CORRECT\n");
else
printf("INCORRECT\n");
}
}

POJ 3561 Pseudographical recognizer的更多相关文章

  1. 字符串专题:KMP POJ 3561

    http://poj.org/problem?id=3461 KMP这里讲的不错next的求法值得借鉴 http://blog.sina.com.cn/s/blog_70bab9230101g0qv. ...

  2. POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798 ...

  3. POJ 2356. Find a multiple 抽屉原理 / 鸽巢原理

    Find a multiple Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7192   Accepted: 3138   ...

  4. POJ 2965. The Pilots Brothers' refrigerator 枚举or爆搜or分治

    The Pilots Brothers' refrigerator Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 22286 ...

  5. POJ 1753. Flip Game 枚举or爆搜+位压缩,或者高斯消元法

    Flip Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 37427   Accepted: 16288 Descr ...

  6. POJ 3254. Corn Fields 状态压缩DP (入门级)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9806   Accepted: 5185 Descr ...

  7. POJ 2739. Sum of Consecutive Prime Numbers

    Sum of Consecutive Prime Numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20050 ...

  8. POJ 2255. Tree Recovery

    Tree Recovery Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11939   Accepted: 7493 De ...

  9. POJ 2752 Seek the Name, Seek the Fame [kmp]

    Seek the Name, Seek the Fame Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17898   Ac ...

随机推荐

  1. STL优先队列——踩坑日记

    priority_queue 可以定义STL中的优先队列,但是优先队列在应用于自己定义的类型时需要重载<运算符,或者通过仿函数来定义比较方法,在定义比较方法的过程中,比较大的坑是STL中对于参数 ...

  2. (寒假GYM开黑)2018-2019 ACM-ICPC Brazil Subregional Programming Contest

    layout: post title: 2018-2019 ACM-ICPC Brazil Subregional Programming Contest author: "luowenta ...

  3. HDOJ 2582 f(n)

    Discription This time I need you to calculate the f(n) . (3<=n<=1000000) f(n)= Gcd(3)+Gcd(4)+… ...

  4. Problem I: 零起点学算法30——输出四位完全平方数

    #include<stdio.h> int main() { int a,b,c,d,s,i; ;i<;i++){ s=i*i; a=s/; b=s%/; c=s%/; d=s%; ...

  5. React Native 让组件做到局部刷新

    利用RN的状态机机制,我们可以通过this.setState({optional:...})来控制界面的刷新,但是一定会触发render方法,那如何保证不调用render方法从而做到界面的局部刷新呢? ...

  6. 理解Android绘制视图的方式

    在创建自定义ViewGroup前,读者首先需要理解Android绘制视图的方式.我不会涉及过多细节,但是需要读者理解Android开发文档(见3.5节)中的一段话,这段话解释如何绘制一个布局.内容如下 ...

  7. 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统系列博文索引

    近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座,来讲解如何利用FineUI快速开 ...

  8. perspective 的笔记

    以前看到别人做的banner图,3d变化,很羡慕啊,一直不知道怎么做,直到看到了这个样式perspective,然后就知道怎么实现了 一个简单的例子,扫起 demo下在地址    http://fil ...

  9. mac 切换默认python版本

    https://www.zhihu.com/question/30941329 首先终端的“python”命令会执行/usr/local/bin下的“python”链接,链接相当于win下的快捷方式, ...

  10. ylbtech-LanguageSamples-CollectionClasses(集合类)

    ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-CollectionClasses(集合类) 1.A,示例(Sample) 返回顶部 “ ...