Accepted
foo.cc: In function 'int main()': foo.cc:45:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] 45 | scanf("%d%d",&n,&m); | ~~~~~^~~~~~~~~~~~~~
正在同步测试数据,请稍后 [Hydro](https://hydro.ac)提供评测服务
代码
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
char c[105][105];
int n,m;
int p,xi;
int jp,jx;
int xy[4][2]={1,0,0,1,-1,0,0,-1};
void DFS(int x,int y,int xi,int p)
{
if(x==n&&y==m)
{
if(p<jp)
jp=p;
if(xi>jx)
jx=xi;
return;
}
for(int i=0;i<4;i++)
{
int xx=x+xy[i][0],yy=y+xy[i][1];
if(c[xx][yy]=='0'||c[xx][yy]=='#')
{
bool f=false;
if(c[xx][yy]=='#')
{
xi++;
f=true;
}
p++;
c[xx][yy]='1';
DFS(xx,yy,xi,p);
xi=f?xi-1:xi;
c[xx][yy]=f?'#':'0';
p--;
}
}
}
int main()
{
jp=99999;
jx=0;
memset(c,'1',sizeof(c));
scanf("%d%d",&n,&m);
getchar();
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
c[i][j]=getchar();
getchar();
}
bool f=false;
if(c[1][1]=='#')
f=true;
c[1][1]='1';
if(f) DFS(1,1,1,0);
else DFS(1,1,0,0);
cout<<jp<<' '<<jx<<endl;
return 0;
}
信息
- 递交者
- 类型
- 递交
- 题目
- P1015 6 营救公主
- 语言
- C++
- 递交时间
- 2021-12-30 16:05:58
- 评测时间
- 2021-12-30 16:05:58
- 评测机
- 分数
- 100
- 总耗时
- 14ms
- 峰值内存
- 384.0 KiB