杭电ACM题1114。把并代码写一下给我,最好再写一下解决的方法说明。我懒得写。貌似挺简单的,帮个忙,谢了

杭电ACM题1114。把并代码写一下给我,最好再写一下解决的方法说明。我懒得写。貌似挺简单的,帮个忙,谢了,第1张

这是个简单的背包DP哦,建议你先去找那本《计算机算法设计与分析》的动态规划部分看看哦,看完0-1背包再看完全背包,这是个完全背包问题。
关于这个转移方程,书上有类似的解释,篇幅挺长的,这里就不写了

#include "stdioh"
int main()
{
int t=0;
int flag=0;
int m,n,temp;
int i;
int ge,shi,bai;
while (scanf("%d%d",&m,&n)!=EOF)
{
t=0; / Add this /
if (m>n)
{
temp=n;n=m;m=temp;
}
for (i=m;i<=n;i++)
{
ge=i%10;

shi=i/10%10;

bai=i/10/10;
if (i==gegege+shishishi+baibaibai)
{
if (t>0)
{
printf(" ");
}
printf("%d",i);
flag=1;
t++;

}
}
if (flag==0)
{
printf("no\n");
}
else
printf("\n");
flag=0;
}
return 0;
}

2010

#include<stdioh>
int main()
{int a,b,a1,a2,a3,t,e;
    while(scanf("%d %d",&a,&b)!=EOF)
{if(a>b) {t=a;a=b;b=t;}
for(e=0;a<=b;a++)
{a1=a/100;
a2=(a-100a1)/10;
a3=a%10;
if(a==a1a1a1+a2a2a2+a3a3a3)
{
e++;
if(e==1) printf("%d",a);
else printf(" %d",a);
}
}
if(e==0) printf("no");
printf("\n");
}return 0;
}

2013:

#include<stdioh>
int main()
{int i,e,a;
    while(scanf("%d",&a)!=EOF)
{if(i==1) e=1;
else {for(i=1,e=1;i<a;i++)
e=(e+1)2;}
printf("%d\n",e);
}
return 0;
}

 

你犯的错误可以避免的啊,肯定是编程的时候粗心了点。

printf("case %d:\n",i+1);改成printf("Case %d:\n",i+1);(C大写)
以后编程的时候小心点就可以了。
你的程序可以再写松散点的,这样便于发现错误。
改了之后提交过了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13360469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存