poj1742 在VC6++上运行没问题,提交的时候提示Compile Error,大神能帮我看下吧,谢谢哈,感激不尽~~

2024年11月16日 16:29
有3个网友回答
网友(1):

现在来简单说一下你的程序的问题,编译错误的原因应该是POJ的编译器不支持_int64的原因,改为long long就可以了,格式控制符为lld。还有就是搞ACM用VC是一大忌,使用VC你会在以后你可能在比赛和学习中吃很大的亏。因为很多VC承诺的东西ACM认可的GCC和G++编译器都没有承诺。建议使用code blocks。还有就是修改完之后发现你的代码超时了,你仔细检查一下你的算法吧。如果对这道题算法有疑问,欢迎追问。

网友(2):

报的什么错? 可能是_int64的问题,改成long long 试试看。

网友(3):

#include
#include
int cc[100010];
int main()
{
int m,n;
int a[110],c[110],i,j,k,t,count;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(m==0&&n==0)
break;
for(i=0;i scanf("%d",&a[i]);
for(i=0;i scanf("%d",&c[i]);
memset(cc,0,sizeof(cc));
for(i=0,t=0;i<=m&&t<=c[0];i+=a[0],t++)
cc[i]=1;
for(i=1;i {
for(j=m;j>=0;j--)
{
if(cc[j])
for(k=a[i],t=1;k+j<=m&&t<=c[i];k+=a[i],t++)
{
if(cc[j+k])
break;
cc[j+k]=1;
}
}
}
count=0;
for(i=1;i<=m;i++)
if(cc[i])
count++;
printf("%d\n",count);
}
return 0;
}