Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:这哪里错了?? 样例都对啊~~!

Posted by 1732115984 at 2024-11-12 20:55:21 on Problem 1383
In Reply To:这哪里错了?? 样例都对啊~~! Posted by:lyz963254 at 2015-01-04 22:39:52
> #include <iostream>
> #include <cstdio>
> #include <cstring>
> #include <queue>
> 
> using namespace std;
> 
> const int M = 1015;
> 
> int i,j,k;
> 
> int Max (int x ,int y)
> {
> return x>y?x:y ;
> }
> 
> struct p
> {
>     int x;
>     int y;
>     int step;
> };
> 
> int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
> 
> char a[M][M];
> int visit[M][M];
> int n,m;
> int tmpx,tmpy;
> int tmp;
> 
> void bfs(int x,int y)
> {
>     memset(visit,0,sizeof(visit));
>     int i;
>     p t;
>     p s;
>     t.x = x;
>     t.y = y;
>     t.step = 0;
>     queue<p>q;
> 
>     q.push(t);
>     visit[t.x][t.y] = 1;
>     while(!q.empty()){
>         p w;
>         w = q.front();
>         q.pop();
>         for(i=0;i<4;i++){
>             s.x = w.x + dir[i][0];
>             s.y = w.y + dir[i][1];
> 
>             if(s.x>=0&&s.x<n&&s.y>=0&&s.y<m&&visit[s.x][s.y]==0&&a[s.x][s.y]!='#'){
>                 s.step = w.step + 1;
>                 visit[s.x][s.y] = 1;
>                 if(s.step > tmp){
>                 tmpx = s.x;
>                 tmpy = s.y;
>                 tmp = s.step;
>             }
>                 q.push(s);
>             }
>         }
>     }
> 
> }
> 
> int main ()
> {
>     int t;
>     scanf("%d",&t);
>     while(t--){
>         scanf("%d%d",&n,&m);
>         memset(a,0,sizeof(a));
>         int i;
>         for(i=0;i<m;i++){
>             scanf("%s",a[i]);
>         }
>         int x,y;
>         for(i=0;i<m;i++){
>                 int f = 0;
>                 for(j=0;j<n;j++){
>                     if(a[i][j] == '.') {
>                         x = i;
>                         y = j;
>                         f = 1;
>                         break ;
>                     }
>                 }
>                 if(f) break;
>         }
>         bfs(x,y);
>         x = tmpx;
>         y = tmpy;
>         bfs(x,y);
>         int  ans = tmp;
>         printf("Maximum rope length is %d.\n",ans);
> 
>     }
> 
> 
> return 0;
> }

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator