AOJ-579-期末考试之考试传纸
http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=579
BFS,按模版写的,比赛时数据输入处理弄错了,哎。。。太弱了。。。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int n,m;
char map[105][105];
int ans[105][105];
int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
typedef struct
{
int x;
int y;
}node;
int bfs(node s,node e)
{
node que[10005];
node tt;
int head=0,tail=1,i;
que[0]=s;
ans[s.x][s.y]=0;
map[s.x][s.y]='#';
while(head<tail)
{
s=que[head++];
for(i=0;i<4;i++)
{
tt.x=s.x+dir[i][0];
tt.y=s.y+dir[i][1];
if(tt.x>=0&&tt.x<n&&tt.y>=0&&tt.y<m&&map[tt.x][tt.y]!='#')
{
ans[tt.x][tt.y]=ans[s.x][s.y]+1;
if(tt.x==e.x&&tt.y==e.y)
return ans[e.x][e.y];
map[tt.x][tt.y]='#';
que[tail++]=tt;
}
}
}
return 0;
}
int main()
{
int i,j;
char ch;
node s,e;
int k1,k2;
int ans;
while(scanf("%d %d",&n,&m)!=EOF)
{
memset(map,0,sizeof(map));
for(i=0;i<n;i++)
{
getchar();
for(j=0;j<m;j++)
{
scanf("%c",&ch);
if(ch=='A')
{
s.x=i;
s.y=j;
}
else if(ch=='B')
{
e.x=i;
e.y=j;
}
else if(ch=='T') //监考老师的一圈都是不可达的
{
for(k1=i-1;k1<=i+1;k1++)
for(k2=j-1;k2<=j+1;k2++)
if(k1>=0&&k1<n&&k2>=0&&k2<m)
map[k1][k2]='#';
}
if(map[i][j]!='#')
map[i][j]=ch;
}
}
if(map[s.x][s.y]=='#'||map[e.x][e.y]=='#')
{
printf("-1\n");
continue;
}
ans=bfs(s,e);
if(ans)
printf("%d\n",ans);
else
printf("-1\n");
}
return 0;
}
分享到:
相关推荐
aoj-cli 运行: python3 aoj/__main__.py 失败需安装相关依赖库 拓展其它oj 参考ctguoj / hihocoer 目录下代码, 实现aojOperate类 然后该改的改,能删的删... 功能列表: list -c | 列出所有正在进行的比赛 use id ...
很小的框架,旨在通过在纯Java环境中引入面向方面的技术来增强设计的模块化。 无需配置文件,也不需要额外的构建步骤。
leetcode题库 ctguoj-cli 已迁移到新的项目: 用了leetcode-cli感觉很丝滑,做一个ctguoj的命令行版,虽然用处不大... 可以看提交过的代码. 通过老师服务器外网可以刷题.感觉比网页更漂亮... 1.2 ? ...filena
(AOJ: sotetsuk, POJ: sotetsuk, AtCoder: sotetsuk) @nishimuuu (AOJ: nishimuuuuuu) @ryof(AOJ:ryof) @ chiiia12 (AOJ: chiiia12) @kikunantoka(AOJ:kikunantoka,AtCoder:kikunantoka) @toiroakr(AOJ:a_...
澳泰AOL/AOJ5000系列智能流量积算显示控制仪表pdf,澳泰AOL/AOJ5000系列智能流量积算显示控制仪表:适用于自来水、油、液体、固态流体等无需补偿的工业过程流量参数的测量、显示、控制和计量积算。可接收孔板差压输入...
AOJ
leetcode 1004 *LC 75problems => OK/NG => NG 表示我无法自己解决,所以我应该再次重新访问相同的问题。 ...NG日期已过级别名称类别NG 20200126全部/所有媒体20200126 20200125_esy_53_maximum_subarray.py ...
aojMain AOJ主系统
竞争性编程 竞技プログラミンミの练习で书いたコードです。
浙大的oj的代码,可以参考参考。。。。。。
AOJ2018 强大的在线代码编辑器 支持多国语言 更友好的用户界面 在线评委 安徽科技学院OJ系统。 1.设置管理员 insert into privilege(user_id,rightstr) values ( ' username ' , ' administrator ' ); 2.模板 cd...
程式设计 会津在线法官(AOJ),Codeforces等
leetcode 和 oj 描述 我对 , , , , , 中问题的解决方案, , 等等.. 16-12-14 更新:由于 paiza 和 CodeIQ 的政策,我不允许分享我的解决方案或相应的挑战问题。 所有的解决方案都是 :check_mark_button: ...外部链接
composer require 'aoj/parallel-tasks:~1.0' 用法 <?php use AoJ\ParallelTasks\Task; use AoJ\ParallelTasks\TaskRunner; $tasks = [ new Task("sleep " . rand(1, 5)), new Task("sleep " . rand(1, 5)), ...
やっつけ仕事から问题ID,ジャッジID,ソースコードを取得する。APIから,すべてのソースコードを取得できるが,言语,ステータスの情报がないのでjson形式で取得してみた。time,サーバに高负荷をかけないように...
我本机性能不好,编译了将近3、4个小时,为了方便大家使用,我将编译好的文件单独发布,供大家下载使用。如果大家电脑性能好,可以参考我的文章。...https://blog.csdn.net/aoj007aoj/article/details/121312123
learning_coding
福建澳泰AOD5000智能多通道巡检仪pdf,福建澳泰AOD5000智能多通道巡检仪
c语言实验报告c语言实验报告c语言实验报告c语言实验报告c语言实验报告c语言实验报告