社区讨论

最后两个测试组不知道为什么过不了,求助大佬

P1548[NOIP 1997 普及组] 棋盘问题参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo39l466
此快照首次捕获于
2023/10/24 03:02
2 年前
此快照最后确认于
2023/10/24 03:02
2 年前
查看原帖
C
#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);
}
感觉是数据溢出了,但是改变数据类型之后仍不能通过测试QAQ

回复

1 条回复,欢迎继续交流。

正在加载回复...