码迷,mamicode.com
首页 > Web开发 > 详细

(匹配)Fire Net --hdu --1045

时间:2015-08-10 16:08:48      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

链接:

http://acm.hdu.edu.cn/showproblem.php?pid=1045

http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82834#problem/A

 

一看原题,先用搜索写一下,还是要学学匹配吧!

 

以前的代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define N 10
#define INF 0x3f3f3f3f

int n, ans;
char G[N][N];

bool judge(int x, int y)
{
    int i;

    if(G[x][y]==X)
        return false;

    for(i=x; i>=0; i--)
    {
        if(G[i][y]==X)
            break;
        if(G[i][y]==D)
            return false;
    }

    for(i=y; i>=0; i--)
    {
        if(G[x][i]==X)
            break;
        if(G[x][i]==D)
            return false;
    }
    return true;
}

void DFS(int z, int k)
{
    int x, y;

    x = z/n;
    y = z%n;

    if(z==n*n)
    {
        ans = max(ans, k);
        return ;
    }

    if(judge(x, y))
    {
        G[x][y] = D;
        DFS(z, k+1);
        G[x][y] = .;
    }

    DFS(z+1, k);
}

int main()
{
    while(scanf("%d", &n),n)
    {
        int i;

        memset(G, 0, sizeof(G));
        for(i=0; i<n; i++)
            scanf("%s", G[i]);

        ans = 0;
        DFS(0, 0);

        printf("%d\n", ans);
    }
    return 0;
}

 

(匹配)Fire Net --hdu --1045

标签:

原文地址:http://www.cnblogs.com/YY56/p/4718258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!