m0_73962225 2023-02-08 23:22 采纳率: 25%
浏览 19

洛谷的P1101字母方阵,实例测试正常,但一到提交就全红的

求问洛谷的P1101
给一n×n 的字母方阵,内可能蕴含多个 yizhong 单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 8 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用 * 代替,以突出显示单词。


输入:
8
qyizhong
gydthkjy
nwidghji
orbzsfgz
hhgrhwth
zzzzzozo
iwdfrgng
yyyygggg


  输出:
*yizhong
gy******
n*i*****
o**z****
h***h***
z****o**
i*****n*
y******g

为什么这个代码不行啊?实例测试正常,但一到提交就全红的,过不了

#include<stdio.h>
int x[8] = { 0,1,0,-1,1,1,-1,-1 }; 
int y[8] = { 1,0,-1,0,1,-1,1,-1 };
char in[100][100] = { 0 };
int ou[100][100] = { 0 };
char out[10000][2] = { 0 };//记录x,y坐标位置
char ex[8] = "yizhong";
int color(int i,int x1,int y1)//判断,i哪一个方向,x1,y1是开头坐标
{
    for (int k = 0; k < 7; k++)
    {
        if (in[x1][y1] != ex[k])
        {
            return 0;
        }
        else
        {
            x1 += x[i];
            y1 += y[i];
        }
    }
    return 1;
}
int main()
{
    int d = 1;
    int n;
    scanf("%d\n", &n);
    for (int i = 0; i < n; i++)//行
    {
        for (int j = 0; j < n; j++)//列
        {
            scanf("%c", &in[i][j]);
            if (in[i][j] == ex[0])
            {
                out[d][0] = i;
                out[d][1] = j;
                d++;
            }
        }
        getchar();
    }
    while (d)
    {
        int i = out[d][0];
        int j = out[d--][1];
        int x1 = i;
        int y1 = j;
        for (int k = 0; k < 8; k++)
        {
            if (color(k, i, j))
            {
                for (int l = 0; l < 7; l++)
                {
                    ou[x1][y1] = 1;
                    x1 += x[k];
                    y1 += y[k];
                }
            }
        }
    }
    for (int i = 0; i < n; i++)//输出
    {
        for (int j = 0; j < n; j++)
        {
            if (ou[i][j] == 1)
                printf("%c", in[i][j]);
            else
                printf("*");
        }
        if(i!=n-1)
        printf("\n");
    }
}

  • 写回答

2条回答 默认 最新

  • 踢足球的阿坤 2023-02-08 23:33
    关注

    以上代码在实例上正确,但提交后却出现全红的结果,也许是因为你的输出格式不正确。请注意输出时每行末尾不要有多余的换行符号

    评论

报告相同问题?

问题事件

  • 创建了问题 2月8日

悬赏问题

  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上