又是这样,在家测试正确,可是评测时就输出0了

P1913 L国的战斗之伞兵

代码: #include<bits/stdc++.h> using namespace std; char a[1010][1010]; int vi[1010][1010],h[1010][1010]; int n,m,ans=0,dx[5]={0,-1,1,0,0},dy[5]={0,0,0,1,-1}; char read() { char ch; while (ch=getchar() ) if (ch!=' ' && ch!='\n') return ch; } int change(char a) { if (a=='u') return 1; if (a=='d') return 2; if (a=='r') return 3; if (a=='l') return 4; } int ss(int x,int y) { if (vi[x][y]==1) return h[x][y]; if (x<1 || y<1 || x>n || y>m) return 0; vi[x][y]=1; if (a[x][y]=='o') { h[x][y]=1; return 1; } int k=change(a[x][y]); h[x][y]=ss(x+dx[k],y+dy[k]); return ss(x+dx[k],y+dy[k]); } int main(){ freopen("4.in","r",stdin); memset(vi,0,sizeof(vi)); memset(h,0,sizeof(h)); cin>>n>>m; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) cin>>a[i][j]; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) { if (ss(i,j)==1) ans++; } cout<<ans<<endl; return 0; }
by 帅气yuyue @ 2018-02-06 21:54:36


```cpp #include<bits/stdc++.h> using namespace std; char a[1010][1010]; int vi[1010][1010],h[1010][1010]; int n,m,ans=0,dx[5]={0,-1,1,0,0},dy[5]={0,0,0,1,-1}; char read() { char ch; while (ch=getchar() ) if (ch!=' ' && ch!='\n') return ch; } int change(char a) { if (a=='u') return 1; if (a=='d') return 2; if (a=='r') return 3; if (a=='l') return 4; } int ss(int x,int y) { if (vi[x][y]==1) return h[x][y]; if (x<1 || y<1 || x>n || y>m) return 0; vi[x][y]=1; if (a[x][y]=='o') { h[x][y]=1; return 1; } int k=change(a[x][y]); h[x][y]=ss(x+dx[k],y+dy[k]); return ss(x+dx[k],y+dy[k]); } int main(){ freopen("4.in","r",stdin); memset(vi,0,sizeof(vi)); memset(h,0,sizeof(h)); cin>>n>>m; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) cin>>a[i][j]; for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) { if (ss(i,j)==1) ans++; } cout<<ans<<endl; return 0; } ```
by 帅气yuyue @ 2018-02-06 21:55:46


您的freopen..
by Captain_Paul @ 2018-02-06 21:59:29


又一个被freopen带坏的孩子。。。替你可怜
by 固执 @ 2018-02-06 22:16:11


|