鱼C论坛

 找回密码
 立即注册
查看: 2889|回复: 32

蒟蒻求助,这道题只得了44分,能帮忙看一下是哪里出了问题吗?

[复制链接]
发表于 2023-2-4 14:06:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
链接:https://www.luogu.com.cn/problem/T308113?contestId=98472

代码:
  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int ax, ay, az;
  4. int n, m;
  5. int step[11][1113][1113];
  6. bool vis[11][1113][1113];
  7. int q[100000100][3], front, rear;
  8. int dir[2][2] = {{0, 1}, {1, 0}};
  9. char s[11][1113][1113];
  10. inline bool check(int c, int x, int y) {
  11.         return (c >= 1 && c <= n && x >= 1 && x <= m && y >= 1 && y <= m);
  12. }
  13. void bfs() {
  14.         front = 1;
  15.         rear = 1;
  16.         q[1][0] = q[1][1] = q[1][2] = 1;
  17.         step[1][1][1] = 0;
  18.         vis[1][1][1] = 1;
  19.         while (rear + 1 != front) {
  20.                 int fx = q[front][0], fy = q[front][1], fz = q[front][2];
  21.                 front++;
  22.                 if (s[fx][fy][fz] == '@') {
  23.                         printf("%d", step[fx][fy][fz]);
  24.                         return;
  25.                 }
  26.                 if (s[fx][fy][fz] >= '1' && s[fx][fy][fz] <= '9') {
  27.                         int num = s[fx][fy][fz] - '0';
  28.                         if (vis[num][1][1] == 0 && s[num][1][1] != '*') {
  29.                                 step[num][1][1] = step[fx][fy][fz];
  30.                                 vis[num][1][1] = 1;
  31.                                 ++rear;
  32.                                 q[rear][0] = num;
  33.                                 q[rear][1] = 1;
  34.                                 q[rear][2] = 1;
  35.                         }
  36.                         continue;
  37.                 }
  38.                 for (int i = 0; i < 2; ++i) {
  39.                         int ny = fy + dir[i][0], nz = fz + dir[i][1];
  40.                         if (check(fx, ny, nz) && vis[fx][ny][nz] == 0 && s[fx][ny][nz] != '*') {
  41.                                 step[fx][ny][nz] = step[fx][fy][fz] + 1;
  42.                                 vis[fx][ny][nz] = 1;
  43.                                 ++rear;
  44.                                 q[rear][0] = fx;
  45.                                 q[rear][1] = ny;
  46.                                 q[rear][2] = nz;       
  47.                         }
  48.                 }
  49.         }
  50.        
  51.         puts("-1");
  52. }

  53. int main() {
  54.         scanf("%d%d", &n, &m);
  55.         for (int i = 1; i <= n; ++i) {
  56.                 for (int j = 1; j <= m; ++j) {
  57.                         scanf("%s", s[i][j] + 1);
  58.                 }
  59.         }
  60.         bfs();
  61.         return 0;
  62. }
复制代码

总体思路就是 bfs,但是提交一直是错的,大样例怎么调都调不出来,求助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-4 16:27:36 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 16:43:37 | 显示全部楼层
我觉得可能要用 dfs
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 16:53:32 | 显示全部楼层

我不懂这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 16:54:26 | 显示全部楼层

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-4 16:55:28 | 显示全部楼层

我待会试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 16:58:05 | 显示全部楼层

我学网络的,编程算是业余爱好,不是很精通
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 17:00:31 | 显示全部楼层
isdkz 发表于 2023-2-4 16:58
我学网络的,编程算是业余爱好,不是很精通

怪不得网络工程师,厉害
(您是男的还是女的?)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 17:04:08 | 显示全部楼层
sfqxx 发表于 2023-2-4 17:00
怪不得网络工程师,厉害
(您是男的还是女的?)

男的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-2-4 17:04:32 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 17:18:49 | 显示全部楼层
本帖最后由 柿子饼同学 于 2023-2-4 18:30 编辑

完了啊 , 我也没了
额这题目过的人都没有...
没办法 , 样例也不让下载
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 17:42:14 | 显示全部楼层

膜拜大佬!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 17:43:53 | 显示全部楼层

我不是大佬呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 17:51:00 | 显示全部楼层

越厉害的人越谦虚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 19:10:59 | 显示全部楼层
三维数组?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-4 21:31:05 | 显示全部楼层

看原题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-4 21:32:18 | 显示全部楼层
柿子饼同学 发表于 2023-2-4 17:18
完了啊 , 我也没了
额这题目过的人都没有...
没办法 , 样例也不让下载

真的煤油ac的人,那么这道题就先放在一边吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-4 21:45:18 | 显示全部楼层
zhangjinxuan 发表于 2023-2-4 21:32
真的煤油ac的人,那么这道题就先放在一边吧

啊对对对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-5 14:59:16 | 显示全部楼层
02.png

开O2优化试试?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-5 15:01:22 | 显示全部楼层

不是 氧气 优化的问题,我的大样例都没有调对,我都怀疑是不是 氧气 优化把我代码的结果给改了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 20:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表