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