洛谷 P1149 火柴棒等式
生活随笔
收集整理的這篇文章主要介紹了
洛谷 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 }?
?
?
?轉載于:https://www.cnblogs.com/New-ljx/p/10665545.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的洛谷 P1149 火柴棒等式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 欧拉公式C++实现
- 下一篇: Flutter之Decoration(边