1 solutions
-
0
C++ :
#include<iostream> #include<cstdio> using namespace std; long long num[201][21]; long long f[201]; int n,m,a,b,i,j,k,nums=0; void zhi(int m,int a,int b) { long long x; long long i,j; for(i=1;i<=n;i++) { x=1; for(j=1;j<=b;j++) { x=x*i; } num[i][m]=a*x; } } int main() { scanf("%d%d",&n,&m); for(i=1;i<=m;i++) { f[i]=0x7ffffffffffffff; } f[1]=0; for(i=1;i<=m;i++) { scanf("%d%d",&a,&b); zhi(i,a,b); } for(i=1;i<=n;i++) { f[i]=num[i][1]; } for(i=2;i<=m;i++)//循环课题数 { for(j=n;j>=1;j--)//循环容量 { for(k=j-1;k>=0;k--)//循环数 { if(f[j]>f[k]+num[j-k][i]) { f[j]=f[k]+num[j-k][i]; } } } } cout<<f[n]<<endl; }
- 1
Information
- ID
- 18432
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By