ACM: uva 11375 - Matches
来源:互联网 发布:网络延迟多少ms算正常 编辑:程序博客网 时间:2024/06/06 03:42
Matches
We can make digits with matches as shownbelow:
Given
Input
Input contains no more than 100 lines.Each line contains oneinteger
Output
Foreach
Sample Input
3
4
Sample Output
2
4
题意:给你n根matches, 你可以拼出多少个数字0~9. 不必全部用完.
解题思路:
1. 计数题, 本题可以用图来理解. 把"已经使用了i根matches"看成状态, 这样就可以得到一个图.
每次从前往后在添加一个数字x时, 状态就从i变成i+c[x](c[x]拼x需要多少根matches);
2. 有了上面的基础, 可以得到状态方程: dp[i+c[x]] += dp[i];(dp[i]就是从0到节点i的路径数目)
那么结果是: dp[1]+dp[2]+...+dp[n](因为matches不必全部用完, 加法原理);
3. 最后要注意的是前导0是不允许的, 所以当n>=6的时候全部要加上1;
代码:
#include <cstdio>
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
#define MAX 2011
inline int max(int a, int b)
{
}
struct bign
{
//初始化.
//辅助函数
//加减乘除
};
istream &operator>> (istream&in,bign &x)
{
}
ostream &operator<< (ostream&out,const bign &x)
{
}
int n;
int c[12] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6};
bign dp[MAX];
void init()
{
}
int main()
{
//
}
- ACM: uva 11375 - Matches
- ACM: uva 1335 - Beijing Guards
- ACM: uva 10391 - Compound Words
- ACM: uva 10534 - Wavio Sequence
- ACM: uva 11538 - Chess Queen
- ACM: uva 1073 - Glenbow Museum
- ACM: 数学题 uva 11300
- ACM: uva 11584 -
- ACM: uva 11464
- ACM: uva 3902
- ACM: uva 10382
- ACM: uva 11134
- ACM: uva 11174 - Stand in a Line
- ACM: uva 1276 - Network
- ACM: uva 1450 - Airport
- ACM: uva 1467 - Installations
- ACM: uva 10125 - Sumsets
- ACM: uva 1451 - Average
- ACM: uva 11584 -
- ACM: uva 1424 - Salesmen
- ACM: uva 10534 - Wavio Sequence
- ACM: uva 11538 - Chess Queen
- ACM: uva 11401 - Triangle Counti…
- ACM: uva 11375 - Matches
- ACM: uva 11174 - Stand in a Line
- ACM: uva 1362 -&n…
- ACM: uva 11361 -&…
- ACM: uva 1073 - Glenbow Museum
- ACM: uva 10253 - Series-Parallel…
- ACM: uva 1069 -&n…
- ACM: uva 11426 -&…
- java之ReentrantLock公平锁和非公平锁