调代码40pts

P3955 [NOIP2017 普及组] 图书管理员

han1219 @ 2024-07-30 21:48:35

#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000000];
bool flag=1;
long long p(int x){
    return pow(10,x);
}
struct c{
    long long l,x;
}b[1000000];
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=m;i++){
        cin>>b[i].l>>b[i].x;
    }
    sort(a+1,a+n+1);
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            flag=1;
            if(a[j]%p(b[i].l)==b[i].x){
                cout<<a[j]<<endl;
                flag=0;
                break;
            }
        }
    }
    return 0;
}

40pts 帮忙调一下


by x_Toi_QiQi @ 2024-08-08 20:33:20

@han1219


#include<bits/stdc++.h>
using namespace std;
long long a[100005],n,m,x,l,mw,j,i;
int bs[9]={0,10,100,1000,10000,100000,1000000,10000000,100000000};
int main(){
    cin>>n>>m;
    for(i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    for(i=1;i<=m;i++){
        cin>>l>>x;
        for (j=1;j<=n;j++){
            mw=a[j]%bs[l];
            if(mw==x){
                cout<<a[j]<<endl;
                break;
            }
        }
        if(j>n) cout<<"-1"<<endl;
    }
    return 0;
} 
1.其实结构体根本不需要,边输入边处理就可。
2.pow可以改为数组,更省时间。

by han1219 @ 2024-08-09 09:42:53

@tang_Simon 谢谢


|