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
所以我的代码没写换行。
问一下
by Ambrose0321 @ 2024-11-09 12:41:28
一般来说不正常吧
by zafa2023 @ 2024-11-09 12:48:29
#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;
}
#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,就会判错,比赛时还是要认真看输出格式的