1 条题解

  • 0
    @ 2025-8-24 21:14:20

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Maxmilite
    **

    搬运于2025-08-24 21:14:19,当前版本为作者最后更新于2024-02-16 21:34:01,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    Source & Knowledge

    2022 年 10 月语言月赛,由洛谷网校入门计划/基础计划提供。

    题目大意

    给定若干本图书的编码和若干读者的需求码。如果一本书的图书编码恰好以读者的需求码结尾,那么这本书就是这位读者所需要的。对于每位读者,求解其需要的书本数量。

    题目分析

    对于十进制数 cc,如果想要提取出其最后 kk 位,那么比较好的处理方法是计算 cmod10kc \bmod 10^k,即计算 cc 除以 10k10^k 的余数。

    因此对于每位读者的需求码 x,yx, y,我们遍历已经存放的书籍编码,将编码对 10x10^x 取模,判断结果是否与 yy 相等即可。

    核心代码如下:

    const int digit[] = {0, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000};
    
    // a 是存放书籍编码的数组
    
    for (int i = 1; i <= q; ++i) {
    	int x, y;
    	cin >> x >> y;
    	int cnt = 0;
    	for (int j = 1; j <= n; ++j) {
    		int var1 = a[j] % digit[x];
    		if (var1 == y)
    			++cnt;
    	}
    	cout << cnt << endl;
    }
    

    视频讲解

    • 1

    信息

    ID
    7997
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者