欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

hdu 杭电 1045 Fire Net

发布时间:2025/5/22 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 hdu 杭电 1045 Fire Net 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题意:地图中最多能放多少炮台。

 

解法:深搜。

 

ac代码:

View Code #include<iostream> using namespace std;char map[8][8]; int sum,maxi,n;bool check(int x,int y) {if(map[x][y]=='X')return 0;int i;for(i=x-1;i>=0;i--){if(map[i][y]=='X')break;if(map[i][y]=='0')return 0;}for(i=y-1;i>=0;i--){if(map[x][i]=='X')break;if(map[x][i]=='0')return 0;}return 1; }void dfs(int num,int sum) {if(num==n*n){if(maxi<sum) maxi=sum;return ;}int x=num/n;int y=num%n;if(check(x,y)){map[x][y]='0';dfs(num+1,sum+1);map[x][y]='.';}dfs(num+1,sum); }int main() {while(cin>>n,n){int i,j;for(i=0;i<n;i++)for(j=0;j<n;j++)cin>>map[i][j];memset(co,0,sizeof(co));memset(ro,0,sizeof(ro));memset(use,0,sizeof(use));sum=0;maxi=0;dfs(0,0);cout<<maxi<<endl;}return 0; } /* 4 .X.. .... XX.. .... 4 .X.X X.X. .X.X X.X. 3 ... ... ... 3 X.. .X. ..X 4 X.X. .X.X X.X. .X.X 2 XX .X 3 .X. X.X .X. 3 ... .XX .XX 4 .... .... .... .... 2 .. .. 2 XX X. 2 .X .X 2 .. XX 2 XX .. */

 

转载于:https://www.cnblogs.com/zgfailmr/archive/2012/09/01/2666313.html

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的hdu 杭电 1045 Fire Net的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。