hdu 杭电 1045 Fire Net
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改input file默认样式
- 下一篇: HP ML110/120 G7配置阵列卡