Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:奇怪 为什么我都除以1000了 怎么数组还得开那么大才过、、郁闷

Posted by 86645597 at 2012-12-11 23:52:12 on Problem 2063
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator