zoukankan      html  css  js  c++  java
  • noip2008T2 火柴棒等式

    只会做这种弱智的水题了怎么办。。

    范围太小枚举便可

    若范围n<=100?或更大?

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #include <cstdlib>
    using namespace std;
    int n;
    int pd[10000]; 
    int a[10]={6,2,5,5,4,5,6,3,7,6};
    int b[4][6];
    int fj(int t,int w)
    {
        int ws=0;
        if (t==0)
          return 1;
        while (t)
        {
            b[w][++ws]=t%10;
            t/=10;
        }
        return ws;
    }
    int main()
    {
        cin>>n;
        int ans=0;
        n-=4;
        for (int i=0;i<=2500;i++)
          for (int j=0;j<=2500;j++)
          {
              if (i==j&&pd[i])
                continue;
              if (i==j)
              pd[i]=1; 
              memset(b,0,sizeof(b));
            int ws1=fj(i,1);
              int ws2=fj(j,2);
              int ws3=fj(i+j,3);
              int sum=0;
              for (int k=1;k<=ws1;k++)
                sum+=a[b[1][k]];
              for (int k=1;k<=ws2;k++)
              sum+=a[b[2][k]];
            for (int k=1;k<=ws3;k++)
              sum+=a[b[3][k]];
            if (sum==n)
              ans++;  
          }
        cout<<ans;
    } 

    枚举a和b&a+b

    似乎也可以先处理n-4根火柴能组成的数字,再枚举插入符号的位置

  • 相关阅读:
    查找 Search
    [HEOI2016/TJOI2016]排序
    [SDOI2011\]染色
    [构造题选讲]
    [LNOI2014]LCA
    [POI2013]LUKTriumphal arch
    java取得某月最后一天
    设置上网代理服务器
    Richfaces改变我的编程方式
    Richfaces Style
  • 原文地址:https://www.cnblogs.com/iamszy/p/4060981.html
Copyright © 2011-2022 走看看