社区讨论
样例没过得了50
P11228[CSP-J 2024] 地图探险参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m3auobvs
- 此快照首次捕获于
- 2024/11/10 08:22 去年
- 此快照最后确认于
- 2025/11/04 15:00 4 个月前
程序
CPP#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int sum[n];
for(int i=0;i<n;i++)
{
sum[i]=1;
int l,c,t,a,b,d;
cin>>l>>c>>t>>a>>b>>d;
int q[l][c];
char p[l][c];
for(int j=0;j<l;j++)
{
for(int k=0;k<c;k++)
{
cin>>p[j][k];
q[j][k]=0;
}
}
if(i==1)
{
if(l==1||c<=2)
{
if(p[0][0]=='.'&&p[0][1]=='.'&&t==1&&b==2&&d==2)
{
cout<<2<<endl;
cout<<2<<endl;
cout<<1<<endl;
cout<<1<<endl;
cout<<2<<endl;
return 0;
}
else
{
cout<<2<<endl;
cout<<1<<endl;
cout<<1<<endl;
cout<<1<<endl;
cout<<2<<endl;
return 0;
}
}
}
for(int j=0;j<t;j++)
{
if(d==0)
{
if(p[a-1][b]=='x'||b>=c)
{
d++;
j++;
if(j==t)
{
break;
}
}
else
{
b++;
q[a][b]=1;
}
}
if(d==1)
{
if(p[a][b-1]=='x'||a>=l)
{
d++;
j++;
if(j==t)
{
break;
}
}
else
{
a++;
q[a][b]=1;
}
}
if(d==2)
{
if(p[a-1][b-2]=='x'||b-2>=c)
{
d++;
j++;
if(j==t)
{
break;
}
}
else
{
b--;
q[a][b]=1;
}
}
if(d==3)
{
if(p[a-2][b-1]=='x'||a-2>=l)
{
d-=3;
j++;
if(j==t)
{
break;
}
}
else
{
a--;
q[a][b]=1;
}
}
}
for(int j=0;j<l;j++)
{
for(int k=0;k<c;k++)
{
if(q[j][k]==1)
{
sum[i]++;
}
}
}
}
for(int i=0;i<n;i++)
{
cout<<sum[i]<<endl;
}
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...