Ural 1880. Psych Up's Eigenvalues

本文介绍了一个简单的C语言程序,用于解决一个特定的问题:计算并输出三个整数数组中共有的元素数量。通过使用三个指针遍历数组,并利用一个最小值比较函数来简化比较过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目大意:输入三个数组,输出三个数组中都出现的数字的个数


题目连接: http://acm.timus.ru/problem.aspx?space=1&num=1880


#include <stdio.h>
int min(int a, int b)
{
    if(a < b)
        return a;
    return b;
}
int a[4001];
int b[4001];
int c[4001];
int main()
{
    int i, a1, b1, c1, j, k, h = 0, x;
    scanf("%d", &a1);
    for(i = 0; i < a1; i++)
        scanf("%d", &a[i]);

    scanf("%d", &b1);
    for(i = 0; i < b1; i++)
        scanf("%d", &b[i]);

    scanf("%d", &c1);
    for(i = 0; i < c1; i++)
        scanf("%d", &c[i]);

    for(i = 0, j = 0, k = 0; i < a1 && j < b1 && k < c1;)
    {
        x = min(a[i], min(b[j], c[k]));
        if(x == a[i] && x == b[j] && x == c[k])
            h++, i++, j++, k++;
        else if(x == a[i])
                i++;
            else if(x == b[j])
                    j++;
                else
                    k++;
    }
    printf("%d", h);
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值