zoukankan      html  css  js  c++  java
  • bzoj1215

    题解:

    暴力枚举每一种方案,然后hash判重

    代码:

    #include<bits/stdc++.h>
    #define eps 1e-7
    using namespace std;
    int v[4],r[4],hs[8000],p=0,ans=0;
    void add(int v1,int v2,int v3,int v4,int v5,int v6,int v7)
    {
        hs[++p]=(v1|v2<<3|v3<<6|v4<<9|v5<<12|v6<<15|v7<<18);
    }
    double f(double a,double b,int op)
    {
        if (op==0) return a+b;
        if (op==1) return a-b;
        if (op==2) return a*b;
        return a/b;
    }
    bool e(int a,int b)
    {
        if (a==0) return b>1;
        if (a==2) return b<2;
        return 1;
    }
    void check(int v1,int v2,int v3,int v4)
    {
        for (int i=0;i<4;i++)
         for (int j=0;j<4;j++)
          for (int k=0;k<4;k++)
           {
            bool e1=e(k,j),e2=e(j,i);
            if (fabs(f(f(f(v[v1],v[v2],i),v[v3],j),v[v4],k)-24)<eps)
             add(r[v1],r[v2],i+4,r[v3],j+4,r[v4],k+4);
            if (e1&&fabs(f(f(v[v1],v[v2],i),f(v[v3],v[v4],j),k)-24)<eps)
             add(r[v1],r[v2],i+4,r[v3],r[v4],j+4,k+4);
            if (e2&&fabs(f(f(v[v1],f(v[v2],v[v3],i),j),v[v4],k)-24)<eps)
             add(r[v1],r[v2],r[v3],i+4,j+4,r[v4],k+4);
            if (e1&&fabs(f(v[v1],f(f(v[v2],v[v3],i),v[v4],j),k)-24)<eps)
             add(r[v1],r[v2],r[v3],i+4,r[v4],j+4,k+4);
            if (e1&&e2&&fabs(f(v[v1],f(v[v2],f(v[v3],v[v4],i),j),k)-24)
            <eps)
             add(r[v1],r[v2],r[v3],r[v4],i+4,j+4,k+4);
           }
    }
    int main()
    {
        for (int i=0;i<4;i++)scanf("%d",&v[i]);
        for (int i=0;i<4;i++)
         for (int j=0;j<4;j++)r[i]+=v[i]<v[j];
        for (int i=0;i<4;i++)
         for (int j=0;j<4;j++)
          if (i!=j)
           for (int k=0;k<4;k++)
            if (i!=k&&j!=k)
             check(i,j,k,6-i-j-k);
        sort(hs+1,hs+p+1);
        if (p) ans=1;
        for (int i=2;i<=p;i++) if (hs[i]!=hs[i-1]) ans++;
        printf("%d",ans);
    }
  • 相关阅读:
    HNOI2018退役记
    codeforces 960G Bandit Blues
    codeforces 933D A Creative Cutout
    tyvj1953 Normal
    loj6119 「2017 山东二轮集训 Day7」国王
    codeforces 293E Close Vertices
    bzoj1808 [Ioi2007]training 训练路径
    bzoj2219 数论之神
    bzoj4361 isn
    loj2064[HAOI2016]找相同字符
  • 原文地址:https://www.cnblogs.com/xuanyiming/p/7636511.html
Copyright © 2011-2022 走看看