Fire Net
来源:互联网 发布:三菱plc编程入门pdf 编辑:程序博客网 时间:2024/05/17 05:50
http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1162
#include<iostream>#include<vector>#include<queue>#include<numeric>#include<algorithm>#include<sstream>#include<cstdio>#include<cstring>#include<string>#include<ctime>using namespace std;char G[4][4];int N,vis[4][4],cnt;bool check(int x,int y){vis[x][y]=1;int sum=0;for(int i=0;i<N;i++){if(G[x][i]=='.'&&vis[x][i]) sum+=1;if(sum>1) {vis[x][y]=0;return false;}if(G[x][i]=='X') sum=0;}sum=0;for(int i=0;i<N;i++){if(G[i][y]=='.'&&vis[i][y]) sum+=1;if(sum>1) {vis[x][y]=0;return false;}if(G[i][y]=='X') sum=0;}vis[x][y]=0;return true;}void print(int A[][4]){for(int i=0;i<N;i++){for(int j=0;j<N;j++)cout<<A[i][j];cout<<endl;}cout<<endl;}int dfs(int cur,int sum){if(cur>N) return 0;cnt=max(cnt,sum);for(int j=0;j<N;j++){if(G[cur][j]=='.'&&!vis[cur][j]&&check(cur,j)){vis[cur][j]=1;dfs(cur,sum+1); //同一行再放 vis[cur][j]=0;}dfs(cur+1,sum); //直接放下一行去了 }}int main(){while(scanf("%d",&N)==1&&N){for(int i=0;i<N;i++)for(int j=0;j<N;j++)cin>>G[i][j];cnt=0;dfs(0,0);cout<<cnt<<endl;}return 0;}
0 0
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- Fire Net
- fire net
- Fire Net
- Fire Net
- Fire Net
- 一个完整的工作流管理系统成部分
- XML编程—CRUD
- 在AndroidStudio中使用V8包中的RenderScript
- 【运动控制】运动控制卡与PLC的区别
- xml字符串转换为json对象
- Fire Net
- 语义相关app搜索(一)——qjzcy的博客
- visual c++ 中的stdafx.h头文件的作用
- C++第6次实验
- 学习SpringMVC(二十)之返回JSON
- Function Merge
- ecshop二次开发--单点登录
- Substring with Concatenation of All Words
- [置顶] 架构设计:系统间通信(31)——其他消息中间件及场景应用(下1)