c语言中的gridland metro hackerrank矩阵

c语言中的gridland metro hackerrank矩阵,c,matrix,C,Matrix,我用c写了这段代码,我不明白为什么它不工作,所以请帮帮我。 问题是: `请记住,数组是用C编写的。您在数组的边界之外编写 long int mat[n][m]; for(long int i=0;i<k;i++){ scanf("%ld %ld %ld",&r,&c1,&c2); for(long int i=1;i<=n;i++){ for(long int j=1;j<=m;j++){ i

我用c写了这段代码,我不明白为什么它不工作,所以请帮帮我。 问题是:

`

请记住,数组是用C编写的。您在数组的边界之外编写

long int mat[n][m];
for(long int i=0;i<k;i++){
    scanf("%ld %ld %ld",&r,&c1,&c2);

    for(long int i=1;i<=n;i++){
        for(long int j=1;j<=m;j++){
             if(j<c2 && j>c1 && i==r)
             {
                 mat[i][j]=1; /* HERE */
改变

    for(long int i=1;i<=n;i++){
        for(long int j=1;j<=m;j++){

同样的

 for(long int b=1;b<=n;b++){
         for(int f=1;f<=m;f++){
             if(mat[b][f]==0)

另外,main不是有效的签名,请更改为int mainvoid

谢谢Keine Lust,我试过了,但它仍然没有给出所需的输出。你的当前输出和期望输出是什么?我的当前输出是9,期望输出也是9,但当我尝试提交它时,它没有通过hackerrank网站@HadjerChikouche上的前两个测试的所有测试,这是因为问题中的限制报表,即1≤ n、 m≤ 10E9。您需要考虑读取数据类型的读数,这些数据类型可以处理非常大的数字,例如char []。还有其他的事情要考虑。我已经为Java解决方案编写了更多提示,但它们也适用于C。
    for(long int i=1;i<n;i++){
        for(long int j=1;j<m;j++){
 for(long int b=1;b<=n;b++){
         for(int f=1;f<=m;f++){
             if(mat[b][f]==0)