玄学问题

P11228 [CSP-J 2024] 地图探险

H_dream @ 2024-11-21 20:57:46

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e3+10;
int T;
bool a[N][N],vis[N][N];
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
signed main(){
    cin>>T;
    while(T--){
        memset(a,0,sizeof a);
        memset(vis,0,sizeof vis);
        int n,m,k,x,y,d;
        cin>>n>>m>>k>>x>>y>>d;
        //cout<<n<<' '<<m<<' '<<k<<'\n'<<x<<' '<<y<<' '<<d<<'\n';
        for(int i=1;i<=n;++i){
            for(int j=1;j<=m;++j){
                char x;
                scanf("%c",&x);
                if(x=='x') a[i][j]=1;
            }
        }
        int ans=1;
        vis[x][y]=1;
        while(k--){
            int xx=x+dx[d];
            int yy=y+dy[d];
            if(xx<1||xx>n||yy<1||yy>m||a[xx][yy]){
                d=(d+1)%4;
                continue;
            }
            x=xx, y=yy;
            if(!vis[x][y])
                ++ans, vis[x][y]=1;
        }
        printf("%lld\n",ans);
    }
    return 0;
}

输入的数据,输出来就出错了,半个机房都没看出来。


by rnf5114 @ 2024-11-21 21:07:06

@H_dreamcin和scanf混用真不会出事吗


by taohuanyu @ 2024-11-21 21:15:29

@rnf5114 同意,printf也是


by H_dream @ 2024-11-22 18:31:06

@rnf5114@taohuanyu

不说了,自己看吧…… AC 记录
确实是输入问题


by a_cub_of_deng @ 2024-11-24 09:58:06

scanf 优先于 cin


|