| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:奇怪 为什么我都除以1000了 怎么数组还得开那么大才过、、郁闷In Reply To:奇怪 为什么我都除以1000了 怎么数组还得开那么大才过、、郁闷 Posted by:Drecik__ at 2011-04-29 23:45:28 > #include <iostream>
> #define MAX(A, B) (A) > (B)? (A):(B)
> using namespace std;
> int f[101000];
> struct money
> {
> int mone;
> int increa;
> }p[20];
> int main()
> {
> int t;
> cin >> t;
> while (t--)
> {
> int n, year;
> cin >> n >> year;
> int m;
> cin >> m;
> for (int k = 1; k <= m; ++k)
> {
> cin >> p[k].mone >> p[k].increa;
> p[k].mone /= 1000;
> }
> int temp = n;
> n /= 1000;
> while (year--)
> {
> int i;
> memset(f, 0, sizeof(f));
> for (i = 1; i <= m; ++i)
> {
> for (int j = p[i].mone; j <= n; ++j)
> {
> f[j] = MAX(f[j], f[j-p[i].mone] + p[i].increa);
> }
> }
> temp += f[n];
> n = temp/1000;
> }
> cout << temp << endl;
> }
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator