一个问题

P11228 [CSP-J 2024] 地图探险

zafa2023 @ 2024-11-09 12:31:27

考试时T2给的样例输出是(我的wnidows机器上的)

In:2
1 5 4
1 1 2
....x
5 5 20
1 1 0
.....
.xxx.
.x.x.
..xx.
x....
out:313

所以我的代码没写换行。
问一下dalao这是正常的吗?


by Ambrose0321 @ 2024-11-09 12:41:28

一般来说不正常吧


by zafa2023 @ 2024-11-09 12:48:29

0pts

#include<bits/stdc++.h>
using namespace std;
char w[2001][2001];
int f[2001][2001],n,ans=1;
int wayx[4]={0,1,0,-1};
int wayy[4]={1,0,-1,0};
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        int n,m,k;
        int x,y,d;
        cin>>n>>m>>k>>x>>y>>d;
        for(int j=1;j<=n;j++){
            for(int k=1;k<=m;k++)
            {
                cin>>w[j][k];
            }
        }
        f[x][y]=1;
        for(int j=1;j<=k;j++){
            int tx=x+wayx[d],ty=y+wayy[d];
            if(tx<1||tx>n||ty<1||ty>m||w[tx][ty]=='x'){
                d=(d+1)%4;
            }
            else{
                x=tx,y=ty;
                if(!f[x][y]){
                    f[x][y]=1;
                    ans++;
                }
            }
        }
        cout<<ans;
        ans=1;
        memset(f,0,sizeof(f));
    }
    return 0;
}

100pts

#include<bits/stdc++.h>
using namespace std;
char w[2001][2001];
int f[2001][2001],n,ans=1;
int wayx[4]={0,1,0,-1};
int wayy[4]={1,0,-1,0};
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        int n,m,k;
        int x,y,d;
        cin>>n>>m>>k>>x>>y>>d;
        for(int j=1;j<=n;j++){
            for(int k=1;k<=m;k++)
            {
                cin>>w[j][k];
            }
        }
        f[x][y]=1;
        for(int j=1;j<=k;j++){
            int tx=x+wayx[d],ty=y+wayy[d];
            if(tx<1||tx>n||ty<1||ty>m||w[tx][ty]=='x'){
                d=(d+1)%4;
            }
            else{
                x=tx,y=ty;
                if(!f[x][y]){
                    f[x][y]=1;
                    ans++;
                }
            }
        }
        cout<<ans<<endl;
        ans=1;
        memset(f,0,sizeof(f));
    }
    return 0;
}

直接痛失100分(本蒟蒻只有110分)


by zafa2023 @ 2024-11-09 12:54:16

@Ambrose0321
你的电脑是313还是
3
13


by AKkkk_TIX @ 2024-11-09 13:33:13

@zafa2023 我当时是

3\ 13


by AKkkk_TIX @ 2024-11-09 13:34:51

@a_programmer 我当时把输出从cout改成printf的时候就是因为忘加了\n导致爆零


by Ambrose0321 @ 2024-11-11 11:35:52

你要是输出313他会认为你的答案就是313,就会判错,比赛时还是要认真看输出格式的


|