1 条题解
-
0
C :
#include"stdio.h" int main() { int a[6],i,j,sum,s=0,c[6]={1,2,3,5,10,20},f[1001],k=0; for(i=0;i<6;i++) { scanf("%d",&a[i]); s+=a[i]*c[i]; } f[0]=1; for(i=0;i<6;i++) for(j=a[i];j>0;j--) for(sum=s;sum>=c[i];sum--) if(f[sum-c[i]]) f[sum]=1; for(i=1;i<=s;i++) if(f[i]==1) k++; printf("Total=%d",k); return 0; }
C++ :
#include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> using namespace std; unsigned char a[1001]={0}; int a1,a2,a3,a4,a5,a6; int main() { a[0]=1; int i,j,k,l,m,n,count; count =0; scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5,&a6); for (i = 0; i <= a1; i++) for (j = 0; j <= a2; j++) for (k = 0; k <= a3; k++) for (l = 0; l <= a4; l++) for (m = 0; m <= a5; m++) for (n = 0; n <= a6; n++) if (!a[i+2*j+3*k+l*5+m*10+20*n]) { a[i+2*j+3*k+l*5+m*10+20*n]=1; count++; } printf("Total=%d",count); return 0; }
Pascal :
const a:array[1..6]of longint=(1,2,3,5,10,20); var i,j,s,k,ans:longint; b,p:array[0..10000]of longint; begin fillchar(p,sizeof(p),0); s:=0; for i:=1 to 6 do begin read(b[i]); s:=s+b[i]*a[i]; end; p[0]:=1; for i:=1 to 6 do for j:=1000 downto a[i]do for k:=0 to b[i]do if(j-k*a[i]>=0)and(p[j-k*a[i]]=1)then p[j]:=1; ans:=0; for i:=1 to 1000 do if p[i]=1 then inc(ans); writeln('Total=',ans); end.
- 1
信息
- ID
- 809
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者