样例和自己试的几个数字都没问题,但只有20?
查看原帖
样例和自己试的几个数字都没问题,但只有20?
1290297
yy0000楼主2024/3/15 15:15
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <stdio.h>

using namespace std;


int main(){
    int n,q;
    cin>>n>>q;
    int bk[n],flag[n],hum[q],wei[q];//书本数组,标记数组,需求码数组,需求码位数数组
    for(int i=0;i<n;i++){
        cin>>bk[i];
        flag[i]=0;
    }
    for(int i=0;i<q;i++){
        cin>>wei[i]>>hum[i];
    }
    sort(bk,bk+n);
    for(int i=0;i<q;i++){
        int chu=1,tip=0;
        for(int k=0;k<wei[i];k++)
           {
               chu=chu*10;//求除数
           }
        for(int j=0;j<n;j++){
            if(hum[i]==bk[j]%chu&&flag[j]==0){//书本编号最后几位来比较且标记为0
                tip++;
                flag[j]=1;
                cout<<bk[j]<<endl;
                break;
                }
            }
            if(tip==0)//没找到则输出0
                cout<<-1<<endl;
        }
    return 0;
}

2024/3/15 15:15
加载中...