CSP历年复赛题-P3955 [NOIP2017 普及组] 图书管理员

原题链接:https://www.luogu.com.cn/problem/P3955

题意解读:给出n个图书编号,q个需求码,找到后缀与需求码匹配的最小图书编号,没有输出-1。

解题思路:先对图书编号排序,用枚举法遍历每一个图书编号,看后缀是否与需求码相同。

100分代码:

#include <bits/stdc++.h>
using namespace std;

const int N = 1005;
int n, q;
int a[N];
int len, x;

int main()
{
    cin >> n >> q;
    for(int i = 1; i <= n; i++) cin >> a[i];
    sort(a + 1, a + n + 1);

    while(q--)
    {
        cin >> len >> x;
        int mod = 1;
        for(int i = 1; i <= len; i++) mod *= 10;

        bool find = false;
        for(int i = 1; i <= n; i++)
        {
            if(a[i] % mod == x)
            {
                cout << a[i] << endl;
                find = true;
                break;
            }
        }
        if(find == false) cout << -1 << endl;
    }

    return 0;
}

 

posted @ 2024-06-07 11:22  五月江城  阅读(92)  评论(0编辑  收藏  举报