码迷,mamicode.com
首页 > 其他好文 > 详细

bzoj1215

时间:2017-10-08 10:07:15      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:枚举   bsp   scan   代码   include   div   main   mes   color   

题解:

暴力枚举每一种方案,然后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);
}

 

bzoj1215

标签:枚举   bsp   scan   代码   include   div   main   mes   color   

原文地址:http://www.cnblogs.com/xuanyiming/p/7636511.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!