请问这里为什么不提取公因式就错啊
查看原帖
请问这里为什么不提取公因式就错啊
69934
yuanlei楼主2022/11/3 21:56

请问这里为什么不提取公因式就错啊?(第30行)


#include <stdio.h>
#define MAX 100001
const int MOD = 10007;
int color[MAX];
int number[MAX];
int class[MAX][2];//储存不同类别的格子的下标和
int book[MAX][2];//记录不同类别的格子的个数
int main(void)
{
    int n, m;
    int sum = 0;
    scanf("%d%d", &n, &m);
    

    for (int i = 1; i <= n; i++)
        scanf("%d", &number[i]);//输入格子代表的数字

    for (int i = 1; i <= n; i++)
    {
        scanf("%d", &color[i]);//输入格子的颜色
        class[color[i]][i % 2] = (class[color[i]][i % 2] + number[i]) % MOD;//将不同类别的格子的下标进行累加操作
    
        book[color[i]][i % 2]++;//记录不同类别的格子相应的数量
    }

    for (int i = 1; i <= n; i++)
        sum = (sum + i * class[color[i]][i % 2] + i * number[i] * (book[color[i]][i % 2] - 2) % MOD) % MOD;
    printf("%d\n", sum % MOD);
    return 0;
}
#include <stdio.h>
#define MAX 100001
const int MOD = 10007;
int color[MAX];
int number[MAX];
int class[MAX][2];//储存不同类别的格子的下标和
int book[MAX][2];//记录不同类别的格子的个数
int main(void)
{
    int n, m;
    int sum = 0;
    scanf("%d%d", &n, &m);
    

    for (int i = 1; i <= n; i++)
        scanf("%d", &number[i]);//输入格子代表的数字

    for (int i = 1; i <= n; i++)
    {
        scanf("%d", &color[i]);//输入格子的颜色
        class[color[i]][i % 2] = (class[color[i]][i % 2] + number[i]) % MOD;//将不同类别的格子的下标进行累加操作
    
        book[color[i]][i % 2]++;//记录不同类别的格子相应的数量
    }

    for (int i = 1; i <= n; i++)
        sum = (sum + i * (class[color[i]][i % 2] + number[i] * (book[color[i]][i % 2] - 2) % MOD)) % MOD;
    printf("%d\n", sum % MOD);
    return 0;
}
2022/11/3 21:56
加载中...