社区讨论

80分求助哪错了

P2347[NOIP 1996 提高组] 砝码称重参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mi4f4ax3
此快照首次捕获于
2025/11/18 18:15
4 个月前
此快照最后确认于
2025/11/18 18:15
4 个月前
查看原帖
CPP
[codec]#include<cstdio>
int w[7]={0,1,2,3,5,10,20},a[1010],m;
void vd(int w)
{
    int i,j;
    for (i=0;i<=m;i++)
      if (a[i]) a[i+w]=1;
    m+=w;
}
int main()
{
    int i,j,k,n,x,y,t=0;
    a[0]=1;
    for (i=1;i<=6;i++)
    {
        scanf("%d",&x);
        k=1;
        while(x>=k)
        {
            vd(k*w[i]);
            x-=k;
            k*=2;
        }
        if (x!=0) vd(x*w[i]);
    }
    for(i=1;i<=m;i++)
      if (a[i]) t++;
    printf("Total=%d",t);
}[/codec]

回复

2 条回复,欢迎继续交流。

正在加载回复...