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 |
为什么总是 OLE呢?郁闷……void main() { int m, n; int ways[16] = {0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1}; scanf("%d %d", &m, &n); while(m>0 && m <101 && n>0 && n<101) { POINT map[101][101]; int i, j, k, count=0; for(i=0; i < m; i++) { char temp[101]; cin.getline(temp, 100); for(j = 0; j < n; j++) { map[i][j].ch = temp[j]; map[i][j].value = 0; map[i][j].x = i; map[i][j].y = j; } } for(i=0; i < m; i++) { for(j = 0; j < n; j++) { if(map[i][j].value!=0 || map[i][j].ch=='*') continue; POINT * searlist[11000]; int cur=0, p; searlist[cur++] = &map[i][j]; for(p=0; p < cur; p++) { for(k = 0; k <= 14; k++) { int x = searlist[p]->x+ways[k], y = searlist[p]->y+ways[k+1]; if(x>=m || x<0 || y>=n || y<0) continue; if(map[x][y].ch!='@' || map[x][y].value!=0) continue; map[x][y].value++; searlist[cur++] = &map[x][y]; } } count++; } } printf("%d\n", count); scanf("%d %d", &m, &n); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator