//类似八皇后问题,只需要用DFS回溯即可,注意要一行一行一列一列地扫,不能直接用4个方向的DFS遍历
#include <stdio.h>
int N;
int cal, max;
char map[10][10];
int canput( int x, int y );
void dfs( int cal );
int main()
{while ( scanf( "%d", &N ) && N ){int i, j;getchar();cal = 0;max = -10;for( i = 1; i <= N; i++ ){for( j = 1; j <= N; j++ )scanf( "%c", &map[i][j] );getchar();}dfs( cal );printf( "%d\n", max );}return 0;
}
void dfs( int cal )
{int i, j;if( cal > max )max = cal;for( i = 1; i <= N; i++ )for( j = 1; j <= N; j++ )if( map[i][j] == '.' && canput(i,j) ){map[i][j] = 'b';dfs( cal+1 );map[i][j] = '.';}
}
int canput( int x, int y )
{int i;for( i = x; i > 0; i-- ){if( map[i][y] == 'b' )return 0;if( map[i][y] == 'X' )break;}for( i = x; i <= N; i++ ){if( map[i][y] == 'b' )return 0;if( map[i][y] == 'X' )break;}for( i = y; i > 0; i-- ){if( map[x][i] == 'b' )return 0;if( map[x][i] == 'X' )break;}for( i = y; i <= N; i++ ){if( map[x][i] == 'b' )return 0;if( map[x][i] == 'X' )break;}return 1;
}
详细解决方案
ZOJ 1002 Fire Net
热度:52 发布时间:2024-01-11 16:44:42.0
相关解决方案
- JS怎么调服务端的Dll【100000 Fire Hurry!】
- Is Your Hut On Fire?解决办法
- Selenium-webdriver系列课程(12)――――fire event的替代方案
- 对字段字符串 2012-12-1002 进展排序
- Are you carrying the fire?=====末日危途===The Road==========,该如何解决
- Are you carrying the fire?=====末日危途===The Road==========解决方法
- 1002. 写出这个数 (20) PAT
- Java - PAT - 1002. 写出这个数 (20)
- (回溯)ZOJ1002 Fire Net
- uva11264-Fire!(两次bfs)
- 解决aspera 下载ENA 数据报错Session Stop (Error: Client unable to connect to server (check UDP port and fire
- PTA 1002. A+B for Polynomials C++ 链表实现
- bzoj 1002 轮状病毒(高精度 + 找规律乱搞)
- 2021中国大学生程序设计竞赛(CCPC)- 网络选拔赛 1002 Time-division Multiplexing HDU - 7101
- PAT乙级真题及训练集 PAT (Basic Level) Practise (中文)1002. 写出这个数
- PAT (Basic Level) Practice (中文)1002 写出这个数 (20分)(C语言版)
- 1002: 安全密码
- 集训队专题(9)1002 Color the ball
- 集训队专题(8)1002 X问题
- 集训队专题(2)1002 Tr A
- 集训队专题(1)1002 统计难题
- [暖手][学习阶段-各路杂题][HDU-1002]A + B Problem II
- UVa 11624 Fire!(起火迷宫)
- [kuangbin带你飞]专题1 简单搜索 I - Fire Game FZU - 2150
- PAT (Basic Level) Practice (中文)--1002 写出这个数
- 二分+树上乱搞 zoj3820 Building Fire Stations
- [面试备] 暴搜 or 二分图的经典升级 : hdu 1045 Fire Net 示例 [ 二分图 ]
- [面试备] 暴搜 or 二分图的经典升级 : hdu 1045 Fire Net 示例 [ 讲解之用 ]
- PAT-乙级-Java-1002
- PAT(甲级)1002 A+B for Polynomials(关键点)