DFS专攻:POJ 1111

原创 2013年12月05日 00:29:54

题意就是求周长,给出坐标,X能连成怎么样的图形都求出周长……

刚开始边界错了,今天重新看了又调了好久才AC……因为X和其他的如果相连的话,会有两个重的而且都不能要,比如:XX,两个X中间的两个两条都不能取,所以-2,因为-2了所以这个X就不能再要了,让其变成 '.' 就行了……因为只有上下左右的边才会重合,所以四个顶角的那四个就不用考虑啦……

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
#include<set>
#include<vector>
#include<stack>
#include<ctime>
#include<cstdlib>
#define mem(a,b) memset(a,b,sizeof(a))
typedef long long ll;
using namespace std;
int n,m,p,q,sum;
char a[22][22];
void dfs(int x,int y)
{
    if(a[x][y]=='.') return;
    a[x][y]='.';
    sum+=4;
    if(a[x+1][y]=='X') sum-=2;
    if(a[x-1][y]=='X') sum-=2;
    if(a[x][y+1]=='X') sum-=2;
    if(a[x][y-1]=='X') sum-=2;
    dfs(x,y+1);
    dfs(x,y-1);
    dfs(x+1,y);
    dfs(x-1,y);
    dfs(x+1,y+1);
    dfs(x-1,y+1);
    dfs(x+1,y-1);
    dfs(x-1,y-1);
}
int main()
{
    while(cin>>n>>m>>p>>q&&(n||m||p||q))
    {
        int i,j;
        sum=0;
        mem(a,'.');
        for(i=1;i<=n;i++)
            for(j=1;j<=m;j++)
                cin>>a[i][j];
        dfs(p,q);
        cout<<sum<<endl;
    }
    return 0;
}

POJ1111,Image Perimeters,典型dfs,跟八连块差不多

Image Perimeters Description Technicians in a pathology lab analyze digitized images of slides...

poj 1111||zoj 1047 Image Perimeters(dfs)

题意: 确实很难看懂>_ 一个'X'每个面对应一个点。 分析: 题目看得我吐血,而且浙大的图太坑爹了,最近做的几题都这样,造成视觉上的误差。题中的数据全都小于25,果断dfs虽然没仔细...
  • cqlf__
  • cqlf__
  • 2011年11月20日 18:45
  • 711

POJ 1111 Image Perimeters (裸DFS)

Image Perimeters Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7906   Accepted:...

poj 1111 dfs求面积问题

题目链接 https://vjudge.net/contest/146654#problem/K;  http://poj.org/problem?id=1111; 首先,来说说我的思路吧,最近在做...

POJ 1111 Image Perimeters 简单DFS

http://poj.org/problem?id=1111 Image PerimetersTime Limit: 1000MS Memory Limit: 10000KDescriptionTec...

POJ 1111 Image Perimeters(DFS)

POJ 1111 Image Perimeters(简单DFS) http://poj.org/problem?id=1111 题意:(L又是一道题意复杂的简单题)给你一个R*C的仅有字符’.’(表空...

POJ 1111 Image Perimeters (DFS)

Image Perimeters Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6889   Accepted:...
  • SIOFive
  • SIOFive
  • 2013年04月17日 17:34
  • 808

1111. Online Map (30) 最短路径、DFS

时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Input our current posi...

Lightoj1111——Best Picnic Ever(dfs)

K people are having a picnic. They are initially in N cities, conveniently numbered from 1 to N. The...

soj1111 Gnome Tetravex dfs搜索

这也是黑书上的一道例题。 先给个soj的链接:题目 【题目大意】 给定n*n(N 问是否能将n*n个方块拼成任意两个相邻块的相邻面值相等。 实例如下图: 这是一个初始2*2的方块: ...
  • bin314
  • bin314
  • 2012年08月25日 22:01
  • 468
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DFS专攻:POJ 1111
举报原因:
原因补充:

(最多只允许输入30个字)