捞+忘写边界判断 求dalao估分

P11228 [CSP-J 2024] 地图探险

suxiaozhou @ 2024-10-27 22:38:31

忘判边界了/呜呜呜

赛时五个样例全过 没有意识到问题

洛谷民间数据70pts

求会被扣多少分.(还有为什么能过样例啊啊

Code:

#include <bits/stdc++.h>
using namespace std;
int T,n,m,k,x,y,d,ans;
char c[1010][1010];
bool vis[1010][1010];
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
void go(){
    vis[x][y]=1;
    while (k--){
        int xx=x+dx[d],yy=y+dy[d];
        if (c[xx][yy]=='.'){
            x=xx;y=yy;
            vis[x][y]=1;
        }
        else{
            d=(d+1)%4;
        }
    }
    return;
}
int main(){
    freopen("explore.in","r",stdin);
    freopen("explore.out","w",stdout);
    ios::sync_with_stdio(0);
    cin>>T;
    while(T--){
        cin>>n>>m>>k;
        cin>>x>>y>>d;
        ans=0;
        for (int i=1;i<=n;i++){
            for (int j=1;j<=m;j++){
                cin>>c[i][j];
                vis[i][j]=0;
            }
        }
        go();
        for (int i=1;i<=n;i++){
            for (int j=1;j<=m;j++){
                if (vis[i][j]){
                    ans++;
                }
            }
        }
        cout<<ans<<"\n";
    }
    return 0;
} 

求dalao 解答 谢谢!


by diamond_153 @ 2024-10-27 23:02:53

@suxiaozhou 呃呃,你没有在处理下一个数据前清空 c 导致可能走到外面,过样例大概是因为每个测试点的数据范围都一样,个人估计扣 050 分。


|