Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
第一次写 写的好恶心,有时间要给给代码,实在太菜了,附代码,竟然是大写的X,wa了好几次#include<iostream> using namespace std; char arm[50][50]; int visited[50][50]; int Count; int n,m; void bfs(int lom,int rom) { if(lom>n||lom<=0||rom<=0||rom>m||arm[lom][rom]=='.') { Count++; return; } if(arm[lom+1][rom]=='X') { if(!visited[lom+1][rom]) { visited[lom+1][rom]=1; bfs(lom+1,rom); } } else Count++; if(arm[lom-1][rom]=='X') { if(!visited[lom-1][rom]) { visited[lom-1][rom]=1; bfs(lom-1,rom); } } else Count++; if(arm[lom][rom-1]=='X') { if(!visited[lom][rom-1]) { visited[lom][rom-1]=1; bfs(lom,rom-1); } } else Count++; if(arm[lom][rom+1]=='X') { if(!visited[lom][rom+1]) { visited[lom][rom+1]=1; bfs(lom,rom+1); } } else Count++; if(arm[lom-1][rom-1]=='X') { if(lom!=1&&rom!=1&&!visited[lom-1][rom-1]) { visited[lom-1][rom-1]=1; bfs(lom-1,rom-1); } } if(arm[lom-1][rom+1]=='X') { if(lom!=1&&rom!=m&&!visited[lom-1][rom+1]) { visited[lom-1][rom+1]=1; bfs(lom-1,rom+1); } } if(arm[lom+1][rom+1]=='X') { if(lom!=n&&rom!=m&&!visited[lom+1][rom+1]) { visited[lom+1][rom+1]=1; bfs(lom+1,rom+1); } } if(arm[lom+1][rom-1]=='X') { if(lom!=n&&rom!=1&&!visited[lom+1][rom-1]) { visited[lom+1][rom-1]=1; bfs(lom+1,rom-1); } } return; } int main() { int x,y; while(1) { Count=0; cin>>n>>m>>x>>y; if(!n&&!m&&!x&&!y) { return 0; } memset(visited,0,sizeof(visited)); memset(arm,0,sizeof(arm)); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>arm[i][j]; visited[x][y]=1; if(arm[x][y]=='.') Count=0; else { bfs(x,y); } cout<<Count<<endl; } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator