zoukankan      html  css  js  c++  java
  • 嵊州普及Day4T1

    题意:从n个数中选出k个数,使他们任意两数之差都等于m。

    思路:任意差值都等于m,不就等价于k个数模m余数相同吗?

    然后桶排储蓄一下各数余数即可。

    见代码:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int n,k,m,s,flag,sum,a[100001],b[100001];
    int main()
    {
    //    freopen("rollover.in","r",stdin);
    //    freopen("rollover.out","w",stdout);
        cin>>n>>k>>m;
        for(int i=1;i<=n;i++)
        {
            cin>>s;
            a[s]++;
            b[s%m]++;
        }
        for(int i=1;i<=n;i++)
        if(b[i]>=k)
        {
            flag=i;
            cout<<"Yes"<<endl;
            break;
        }
        if(flag!=0)
        for(int i=flag;sum<=k;i+=m)
        {
            while(a[i]>0&&sum<k)
            {
                cout<<i<<" ";
                a[i]--;
                sum++;
            }
        }
        else
        cout<<"No";
        return 0;
    }

    好吧又炸了。

    注意主函数第10行循环细微的区别,本来循环m的循环了n,这里就不解释了。

    见代码*2:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int n,k,m,s,flag,sum,a[100001],b[100001];
    int main()
    {
    //    freopen("rollover.in","r",stdin);
    //    freopen("rollover.out","w",stdout);
        cin>>n>>k>>m;
        for(int i=1;i<=n;i++)
        {
            cin>>s;
            a[s]++;
            b[s%m]++;
        }
        for(int i=0;i<m;i++)
        if(b[i]>=k)
        {
            flag=i;
            cout<<"Yes"<<endl;
            break;
        }
        if(flag!=0)
        for(int i=flag;sum<=k;i+=m)
        {
            while(a[i]>0&&sum<k)
            {
                cout<<i<<" ";
                a[i]--;
                sum++;
            }
        }
        else
        cout<<"No";
        return 0;
    }

    好题哉!!!

     

  • 相关阅读:
    Stm32ADC-内部温度传感器的使用
    Stm32 ADC学习
    wpf数据绑定
    06 MyBatis——实体类注意事项
    05 MyBatis——环境搭建及demo
    96 项目导jar包
    04 SSM框架概述
    03 MVC开发模式
    02 Mybaits——包名的命名规范
    26 监听器实现网站在线人数统计
  • 原文地址:https://www.cnblogs.com/qing1/p/11185290.html
Copyright © 2011-2022 走看看