zoukankan      html  css  js  c++  java
  • 洛谷 P1149 火柴棒等式

    嗯....

     

    这道题好讨厌啊!!!!

     

    一开始莫名RE,然后发现数组小了,然后发现后面几个点总是WA,原来推的少了....

     

    并且这道题的思路真的好水啊!!

     

    先看一下题:https://www.luogu.org/problemnew/show/P1149

     

    思路:

    竟然自己估摸一个数(当然可以通过一定的计算算出来,但还不如自己估摸一个数),将这些数所需要的火柴数量一一求出,然后再枚举,寻找可能...

     

    下面是AC代码(当然不是最优化代码...

     1 #include<cstdio>
     2 #include<iostream>
     3 
     4 using namespace std;
     5 
     6 int a[5006] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6};//0-9所需的火柴个数 
     7 int cnt;
     8 
     9 int main(){
    10     int n;
    11     scanf("%d", &n);
    12     for(int i = 10; i <= 2000; i++){//先将2000以内的数所需的火柴数全都求出 
    13         int x = i;//当然可以用while循环来做 
    14         if(x < 100) a[x] = a[x%10] + a[x/10];
    15         else if(x >= 100 && x <= 999) a[x] = a[x%10] + a[x/100] + a[x/10%10];
    16         else a[x] = a[x/1000] + a[x/100%10] + a[x/10%10] + a[x%10];
    17     }
    18     for(int i = 0; i <= 1000; i++){
    19         for(int j = 0; j <= 1000; j++){
    20             if(a[i] + a[j] + a[i+j] + 4 == n) cnt++;
    21         }
    22     }//枚举 
    23     printf("%d", cnt);
    24     return 0;
    25 }
     
  • 相关阅读:
    343. Integer Break
    338. Counting Bits
    322. Coin Change
    304. Range Sum Query 2D
    303. Range Sum Query
    221. Maximal Square
    213. House Robber II
    cf
    poj2478欧拉函数
    lightoj1138
  • 原文地址:https://www.cnblogs.com/New-ljx/p/10665545.html
Copyright © 2011-2022 走看看