第2章_蛮力法.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章_蛮力法.ppt

第2章 蛮力法;本章5题的出处;1021 Fibonacci Again;;其实这个题目我们关注的是F(n)能不能被3整除的问题,我们要看的就是F(n)%3是否等于零的问题。 我们接下来关注一下这个序列,F(n)如下:F(0):7,F(1):11,F(2):18,F(3):29,F(4):47,F(5):76,F(6):123,F(7):199,F(8):322....;题目分析;Hdoj_1021程序清单:;2.0 综述;2.0 综述(续);2.0 综述(续);2.1 有哪些信誉好的足球投注网站所有的解空间;2.1.1 〖案例1〗假金币;;;求解方法一;;short jd(int j,int *s, char c) { int i,f,qq; qq=s[0]1; for(i=f=1;i=qqf;) if(s[i]==j) f=0; else ++i; if(!fc===||fc!==)return 0; return 1; } ;声明全局变量;read;Main();第二种方法;声明全局变量;read;;main;2.1.2 〖案例2〗现在的时间是多少?;;;解题思路;;;;编码与判定方法;核心代码;将时间转化为显示的数码数;输入的一个实例进行编码;int main() { int d,f,t,k,count,hms[4]; scanf(%d\n,d); while(d--) { gets(s1);gets(s2);gets(s3); code(s1,s2,s3); //输入进行编码 for(t=count=0;(t=1440)count2;t++) {//这个循环遍历每一分钟,count统计可能解的组数 stime(t,s); //时间转换为8个数字 for(k=f=0;k8!f;++k)//检查8个数字是否与输入数据冲突,f为0表示不冲突 f=num[s[k]]disp[k]; //如果数字的补码与读入的数据编码非0,则不是该数字 if(!f){ //f=0表示8个数字与输入数据不冲突,是可能解 ++count; for(k=0;k4;++k)hms[k]=s[k];} } //记录该解 if (count==1) printf(%d%d%d%d\n,hms[0],hms[1],hms[2],hms[3]); else printf(Not Sure\n); } system(PAUSE); };2.2 有哪些信誉好的足球投注网站所有的路径;2.2.1 〖案例3〗矩阵;;2 4 6 3 7 3 1 2 3 4 5 6 7 8 9 -1;解题思路;;;;;int maxcolumn(int *s) { // 函数返回在指定路径下的最大值。 int max,temp,i,j; for(max=matrix[0][0+s[0]],i=1;in;i++) max+=matrix[i][0+s[i]]; //计算第一列的和 for(j=1;jn;j++) { temp=matrix[0][(j+s[0])%n]; for(i=1;in;i++) temp+=matrix[i][(j+s[i])%n]; //计算第i列的和 if(tempmax)max=temp; } return max; } //返回最大值;int main() { int min,temp,i,k; while(scanf(%d,n)(n+1)) { read(n); k=pown(n); inttoseries(0,s); //最开始给定的矩阵,所有行都无移动。 min=maxcolumn(s); //最开始给定的矩阵列和的最大值 for(i=1;ik;i++) //循环将遍历所有移动情况k=nn. { inttoseries(i,s); //第i条路径 temp=maxcolumn(s);//第i条路径矩阵列和的最大值 if(

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档