hahahahaqg 2023-01-26 16:41 采纳率: 12.5%
浏览 11

洛谷R100551359棋盘问题


#include<stdio.h>
int dc(int a)
{
int b=1;
for(int i=1;i<=a;i++)
{
b=b*i;
}
return b;
}
int fz(int x,int s)
{
    int n=dc(x);
    int m=dc(s)*dc(x-s);
    return n/m;
}
int min(int a,int b)
{
    int min;
    if(a<=b)min=a;
    else min=b;
    return min;
}
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    int z=0,c,g;
    //2*2_(n-1);3*3_(n-2)_(n-(i-1))
    int x=min(n,m);
    for(int i=1;i<=x;i++)
    {
        z=z+(n-(i-1))*(m-(i-1));
    }
    g=fz(n+1,2)*(fz(m+1,2));
    
    c=g-z;
    //printf("%d\n",g);
    printf("%d %d",z,c);
}

最后两个测试组过不了,想问一下是代码哪里出了问题

  • 写回答

2条回答 默认 最新

  • 快撑死的鱼 2023-01-26 19:10
    关注

    回答不易,求求您采纳点赞哦

    如果没有更多关于测试组应该完成什么以及具体失败是什么的信息,很难说代码有什么问题。但是,代码中可能存在的一些问题包括:

    • 对于非整数、负整数或对于 int 数据类型来说太大的整数,没有错误处理。
    • 函数 min() 未在主函数中使用。
    • 函数 fz() 使用变量名“x”和“s”,它们的含义不明确。
    • 代码中没有注释或解释来表明代码的目的是什么或它是如何工作的。值得用不同的输入测试代码并检查输出是否符合您的预期。
    评论

报告相同问题?

问题事件

  • 创建了问题 1月26日