首页 > 编程知识 正文

对于暴力事件的总结,科学归纳推理与简单枚举法的关系

时间:2023-05-04 16:45:09 阅读:148791 作者:2308

暴力(枚举法1 )枚举定义)如果事先知道结果或某个约束的范围,并且范围不是很广,则使用枚举法。 枚举俗称“暴力”,也叫包罗万象。

2 ) 3358 www.Sina.com/: http://www.Sina.com /

3 )例题

一、' r '表示红色珠子,' b '表示蓝色珠子,' w '表示可以改变颜色的珠子。

第二个主题是分解链(在任何地方都能分解),从左到右数,相同颜色的珠子能数到多少,从右到左数,相同颜色的珠子能数到多少,左右一起数到多少。

三、输出最多的珠子数量。

4 )破碎的项链

首先,输入表示链长的n,输入表示每个珠子颜色的s1; 接着列举起点I,在判断为不是w的情况下,再打开2个循环。 一个枚举是从前到后数的个数,存储在sum中; 将从枚举后面计数的个数存储在num中。 把两个数加起来和sub做环。 循环结束,输出sub;

5 )自我理解:

首先输入:

cinn; cins1; s2=s1 s1; //处理环; 核心代码:

for(intI=0; in; I ) )//是字符串,因此列出0到if(SDC==n ) )//的两种特殊情况。 这都是w,输出是n; {sub=n; 黑; (if ) sum==n )//如果全部为r或全部为b,则输出为n; {sub=n; 黑; (if ) s2[I]=='w ' ) /如果开头为w,则累计下一个) SDC; 连续; //跳过这次的循环(if ) S2[I]!='w ' )//满足不是w{sum=0; //计数器清除; num=0; //同上l=s2[i]; //放入第一个不是w的数for中(intf=In-1; f0; f----//特殊情况{if(S2[F]!='w ' )当i n-1的数不是w时存放在K中; {k=s2[f]; 黑; }for(intj=I; j=i n-1; j ) ) /累积进程if(S2[J]==L||S2[J]=='W ' ) sum; else break; }for(intj=In-1; j=sum; j-- () /累积过程if(S2[J]==K||S2[J]=='W ' ) num; else break; (if ) sumnumsub ) sub=sum num; //环}}coutsub; //输出-6)思路:

这个问题并不太难,但细节很多,例如循环的次数、累加器的清除等; 我个人认为解决暴力问题很实用,但是细节太多了,需要慎重。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。