首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“散列”算法实现

“散列”算法实现
EN

Stack Overflow用户
提问于 2020-10-28 06:08:34
回答 1查看 75关注 0票数 0

给我一个由两个部分组成的输入,第一行由两个数字组成,表示矩阵的大小,NM,然后是矩阵本身,A。矩阵的最大大小是1 <= N, M <= 100,矩阵的每个元素都是0 <= A[i][j] <= pow(10, 9)。“散列”是通过在每一列中添加元素并乘以所有和,即模1000000007 (pow(10, 9) + 7)来计算的。

我的代码如下:

代码语言:javascript
复制
#include <stdio.h>

int main() {
    int rows, cols;
    scanf("%d %d", &rows, &cols); getchar();

    unsigned long long int data[rows][cols];
    for (int row = 0; row < rows; row++) {
        for (int col = 0; col < cols; col++) {
            scanf("%llu", &data[row][col]);
        }
        getchar();
    }

    unsigned long long int coltot[cols];
    for(int i=0;i<cols;i++){coltot[i]=0;}
    for (int row = 0; row < rows; row++) {
        for (int col = 0; col < cols; col++) {
            coltot[col] += data[row][col];
        }
    }

    unsigned long long int colmult, colmulttemp = (coltot[0] % 1000000007);
    for (int i = 1; i < cols; i++) {
        colmulttemp *= coltot[i];
        colmulttemp %= 1000000007;
    }
    colmult = colmulttemp;

    printf("%llu\n", colmult);

    return 0;
}

然而,在提交时,我得到的结果表明一些测试用例失败了。这个问题只给出了以下测试用例:

代码语言:javascript
复制
stdin:
2 2
1 5
1 5
stdout:
20

stdin:
3 3
1 4 7
2 5 8
3 6 9
stdout:
2160

我的代码是正确通过的。但是,我尽力尝试输入最大值。我编写了一个程序,将1000000000水平打印100次,垂直打印100次到文本文件中。但是,在导入文件时,我得到了一个总线错误:

代码语言:javascript
复制
$ ./main < data.txt
Bus error (core dumped)
$

这可能是一些测试用例失败的原因吗?还是其他地方的问题?不管怎么说,我该怎么解决呢?

谢谢您抽时间见我。

更新:我发现了总线错误的问题:我在生成矩阵时忘记指定矩阵的大小。它现在起作用了,但我发现它生成的结果与python3程序不同,C程序返回213129341,而python3程序返回991047043

代码语言:javascript
复制
>>> import math
>>> x = pow(10, 9)
>>> xx = x * 100
>>> m = x + 7
>>> r = x
>>> i = 1
>>> while(i < 100):
...     i += 1
...     r = r * xx
...     r = r % m
...
>>> r
991047043
>>> r % m
991047043
>>>

不幸的是,这仍然不能让我更好地理解为什么我的代码是不正确的。有什么想法吗?

谢谢您抽时间见我。

EN

回答 1

Stack Overflow用户

发布于 2020-10-28 08:03:28

,这可能是一些测试用例失败的原因吗?

是。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64567301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档