zoukankan      html  css  js  c++  java
  • 2015年普及租第三题求和40分解法

    今年好不容易过了初赛,复赛却考了个0分,具体的故事请到我的博客里查看。

    程序

    题目你们都知道,我就直接写了。

    //库我省略了。
    using namespace std;
    int color[105][105],colk[105],ans;
    struct point
    {
        int num,col;
    } a[3005];
    int main()
    {
        //freopen("sum.in","r",stdin);
        //freopen("sum.out","w",stdout);
        int n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i].num;
        }
        for(int i=1;i<=n;i++)
        {
            cin>>a[i].col;
            color[a[i].col][++colk[a[i].col]]=i;
        }
    
        for(int i=1;i<=m;i++)
        {
            for(int j=1;j<=colk[i];j++)
            {
                for(int k=j+1;k<=colk[i];k++)
                {
                    int x=color[i][j],z=color[i][k];
                    if(x!=z && (z-x)%2==0 && a[x].col==a[z].col)
                    {
                        ans+=(x+z)*(a[x].num+a[z].num);
                        ans%=10007;
                    }
                }
            }
        }
        cout<<ans<<endl;
        return 0;
    }

    解法

    让我们来看一下数据范围,40分是n<=3000,m<=100,n可能有点大,我们就不用他,用m,将颜色分类。因x和z要是同色,所以用三重循环,最外面一层循环颜色,中间x,最里面y,然后再循环中检验一下,这道题就顺利40分了。

  • 相关阅读:
    数据库外连接和内连接详解
    关于省市联动问题的分析
    邮箱验证修改密码,通过邮箱找回密码
    格式化Json传递的日期
    项目中验证码的使用
    水仙花数
    回文数
    冒泡排序
    《终结者·洛谷小说》总集
    题解 CF151A 【Soft Drinking】
  • 原文地址:https://www.cnblogs.com/NightRaven/p/9333272.html
Copyright © 2011-2022 走看看