2 条题解

  • 2
    @ 2023-10-17 20:38:36
    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    int n, q;
    int a[1005];
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        cin >> n >> q;
        for (int i = 1; i <= n; i++) cin >> a[i];
        sort(a + 1, a + n + 1);
        while (q--)
        {
            int len;
            string s;
            cin >> len >> s;
            reverse(s.begin(), s.end());
            bool flag = 1;
            for (int i = 1; i <= n; i++)
            {
                // 检查 a[i] 的后缀有没有 s
                string t = to_string(a[i]);
                // 检查 t 的后缀是不是 s
                reverse(t.begin(), t.end());
                // 检查 t 的前缀是不是 s
                if (t.find(s) == 0)
                {
                    flag = 0;
                    cout << a[i] << "\n";
                    break;
                }
            }
            if (flag) cout << "-1\n";
        }
        return 0;
    }
    
    • 1
      @ 2023-10-20 22:02:52

      思路 图书编码是个数,而且求的是末尾,很容易让人想到通过取模拿余数。

      #include <bits/stdc++.h>
      using namespace std;
      int n,q;
      int a[1005];
      struct T{
      	int x;
      	int k;
      	int id;
      }s[1005];
      int main(){
      	cin>>n>>q;
      	for (int i=1;i<=n;i++){
      		cin>>a[i];
      	}
      	sort(a+1,a+n+1);//排序找最先 
      	for (int i=1;i<=q;i++){
      		int u=1;
      		cin>>s[i].x>>s[i].id;
      		for (int j=1;j<=s[i].x;j++){
      			u*=10;//计算取模的数 
      		}
      		s[i].k=u;
      	}
      	for (int i=1;i<=q;i++){
      		bool flag=false;
      		for (int j=1;j<=n;j++){
      			if (flag==false){
      		        if (a[j]%s[i].k==s[i].id){//计算余数 
      				    cout<<a[j]<<endl;
      				    flag=true;
      			    }
      			}
      		}
      		if (flag==false){
      			cout<<-1<<endl;
      		}
      	}
      	return 0;
      }
      
      • 1

      [NOIP2017 普及组] 图书管理员

      信息

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