UVA 639 Don't Get Rooked
2015-03-23 22:31
330 查看
#include<stdio.h> #include<string.h> int n; int max; int i,j; char s[5][5];//定义城市地图; int youwu(int x,int y)//查看是否有无碉堡; { int i,j; for(i=x-1;i>=0;i--) { if(s[i][y]=='X') break; else if(s[i][y]=='O') return false; } for(j=y-1;j>=0;j--) { if(s[x][j]=='X') break; else if(s[x][j]=='O') return false; } return true; } void qq(int num,int sum) //第几个位置 放了几个炸弹 { if(num==n*n) { max=sum>max?sum:max; return; } int x=num/n; int y=num%n; if(s[x][y]=='.'&&youwu(x,y)) { s[x][y]='O'; qq(num+1,sum+1); s[x][y]='.'; } qq(num+1,sum); } int main() { while(~scanf("%d",&n)&&n) { for(i=0;i<n;i++) { getchar(); for(j=0;j<n;j++) { scanf("%c",&s[i][j]); } } max=0; qq(0,0); printf("%d\n",max); } return 0; }
此题是n皇后的变身,不过简单很多。 只要求得和最大就行
相关文章推荐
- UVA 639 Don't Get Rooked
- UVA 639- Don't Get Rooked
- UVa 639 - Don't Get Rooked
- Uva 639—Don't Get Rooked
- UVA - 639 - Don't Get Rooked (暴力回溯)
- UVa 639 - Don't Get Rooked 类皇后问题 递归回溯
- uva 639 - Don't Get Rooked
- UVa 639 - Don't Get Rooked
- UVA - 639 Don't Get Rooked (回溯)
- UVA 639 - Don't Get Rooked
- UVA Don't Get Rooked
- uva - 639 - Don't Get Rooked
- UVA Don't Get Rooked
- UVA 639 Don't Get Rooked
- UVa 639 - Don't Get Rooked, 类八皇后问题
- uva 639 Don't Get Rooked
- UVa 639 Don't Get Rooked (DFS好题)
- uva 639 Don't Get Rooked 变形N皇后问题 暴力回溯
- UVA 639 - Don't Get Rooked
- uva 639 Don't Get Rooked (暴力回溯 )