【C++非递归剪枝问题凑钱方案数】2024-7-18

缘由C++剪枝问题凑钱方案数_编程语言-CSDN问答

在这个题目中,很明显能分析出当有重复面值且能符合的则可以跳过不需要搜索匹配,从而节省搜索匹配的时间,即3个2只要搜索一个2+1是符合的其它2个2则可以跳过即剪枝,特别考虑输入数据是无序的,也不需要提前排序的情况下能提高效率,在不使用递归的情况下使用数组可节省占用内存空间。

cpp 复制代码
void 两步剪枝算法凑钱方案数()
{//缘由https://ask.csdn.net/questions/8130813    样例5 3 1 2 2 2 3
	int sj[200]{}, je[200]{}, sx = 0, jx = 0, px = 0, zx = 0, gs = 0, n = 0, k = 0;
	cin >> n >> k;
sr:if (sx < n){ cin >> sj[sx]; ++sx; goto sr; }px = --sx - 1;
ss:if (sx > 0)
{//搜索
jz:if (zx < jx)
{//数组剪枝
	if (je[zx] == sj[sx] || je[zx] == -sj[sx])
	{ 
		if (je[zx] == sj[sx])
			++gs; else;
		px = --sx - 1;
		if (sx <= 0)goto ss;
	}
	else ++zx; 
	goto jz; 
}zx = 0;
   if (sj[sx] > k)px = --sx - 1;//剪枝
   else if(sj[sx] == k)
		je[jx] = sj[sx], ++gs, ++jx, px = --sx - 1;
	else
	{//匹配
		if (sj[sx] + sj[px] == k)
			je[jx] = sj[sx], ++gs, ++jx, je[jx] = sj[px], ++jx, px = --sx - 1;
		else
			if (--px >= 0); else
				je[jx] = -sj[sx], px = --sx - 1;//未匹配剪枝
	}
	goto ss;
}
   cout << gs << "\n";
}

递序扫描:定序下位扫描至数组量结束,统计有几个符合要求。

如K=4,则3+1,2+2;

如K=5,则3+2,2+2+1;

如K=6,则3+2+1,2+2+2,尝试2个后,再尝试3个,到数组量结束。

佛說福力太子因緣經卷第三

西天譯經三藏朝奉大夫試光祿卿傳法大師賜紫沙門臣施護等奉 詔譯

「爾時帝釋天主,見是福力,現生果報,希有瑞相,又知人天悉皆胥悅,心頗異之。乃謂福力太子言:『太子!汝今如是勤修勝行,有何所求?』太子白言:『天主!我為求證阿耨多羅三藐三菩提果,拯拔一切有情,出生死海,悉令安住究竟涅槃。』時帝釋天主,知福力太子勤求阿耨多羅三藐三菩提,深心不動,猶若須彌,稱可其意,作是讚言:『善哉,善哉!大士!汝有廣大最上願力,必當速證阿耨多羅三藐三菩提。』如是言已,隱身不現。

「復次,於後彼國之王耆年而終,其王未立灌頂太子,於是王之宗族臣佐人民,共會議言:『我等于今當令何人紹灌頂位?』時一人言:『若有福力大名稱者,可宜紹位。』如是言已,眾意悉同,即遣使人周行求訪。

「是時福力太子,當繼王位,善根開發,與諸侍從,出遊園林;太子行時,道路平坦,觸處皆無荊棘砂礫;於其中路,吉祥相現:細雨散空,旋布其頂;異色飛鳥,順次宛轉;童男童女,發勝妙聲,踊躍奔馳,咸生歡悅;一切人眾,身毛喜豎,皆得輕安。又聞空中悅意之言。太子覩斯事相,即起思念:『此相出現,我當決定紹灌頂位。』作是念已,進詣園中,受諸福樂。其園有一大無憂樹,華開茂盛,太子於彼安然寢寐。諸同往者,樂華果故,各於園中,隨處遊賞。又復太子,福威力故,彼有龍王,忽然從地涌出千葉微妙蓮華,其量廣大,色香具足,最上可愛。而彼龍王,又以神力徐置太子在蓮華上;爾時太子都無動覺。由是漸過食時,日正中分,餘諸樹影悉皆移動,唯無憂樹影覆太子身,如故不動。又彼園中諸餘華樹,皆悉傾向,大無憂樹,吉祥勝相,悅意可觀。

「時福力太子,夢見自身處穢污上,又見自身穢污所染,又見自以舌舐虛空,又見自身蓮華中立,又見自身上起山峯,又見眾人頂禮於己。太子寤已,隨應占察如上所夢:『如我夢見自身在於穢污上者,我必應居灌頂王位,大富自在,斯為前相。如我所見穢污染身者,我應處于大師子座。如我所見上起山峯者,我應於一切處常居最上。如我所見眾人頂禮者,我應為彼眾所尊重。如是等事,審占其相,我今決定為灌頂王。』

「爾時彼國臣佐,先遣使人周行求訪到彼園中,具見太子次第相續吉祥勝相;心生驚異,此大福力,有大名稱。即時速還,具陳上事。時諸臣佐,聞彼言已,皆生歡喜。即依法儀,悉備所須,行詣園中,授其灌頂,到已見諸吉祥勝相。

「時福力太子,即於微妙大蓮華上,結加趺坐。以福力開發故,四大天王奉天莊嚴大師子座,帝釋天主奉天妙蓋及眾寶拂,忉利諸天奉種種寶嚴飾露幔,散眾寶華如雲而下。四大王天諸天子眾,雨種種寶,奏天微妙可愛音樂,及散妙衣。國中園林,周遍清淨,一切悉無荊棘砂礫。豎立幢幡珠繒交絡,設妙香瓶,散諸異華與天宮等。帝釋天主,勅毘首羯磨天子,普於園林,悉令化出四寶所成廣大樓閣,以備太子隨意受用。時彼臣佐,又觀如是希有勝相,轉復異之,咸各肅恭,虔命太子處師子座,頂禮尊奉,如其法儀,為授灌頂。太子得灌頂已,身出光明,周遍照耀一由旬量,映蔽日光而不顯現。是時眾中,有一類人,見斯光已,咸悉稱言:『此勝光王。』一類人言:『此福力王。』

「爾時福力王將入王城,帝釋天主等,於其王前,隨依法儀,作供獻已,隱復天宮。時福力王,既入城已,善布國政,人民熾盛,安隱豐樂,息諸鬪諍,却除他敵,悉無賊盜、飢饉、疾病,愛護人民,猶如一子。華果樹林,悉皆茂盛,時令不愆,稼穡豐阜,雨澤順時,大地受潤。復次,其後王之四兄,聞斯異事,咸生驚怪,共會議言:『福力太子,勝過我等,福慧二全,以福力故,為大國王,最上大富,稱可我心,我等今時宜共往彼。』於是四兄,同詣福力王所。到已即時咸祝之言:『願汝最勝增長壽命。』又復讚言:『善哉!大王!汝昔要期,今能固立福慧若斯,勝過我等,於他國中,統王大位,皆由汝勝福力所成。我等親朋,具悉瞻覩。』

「時福力王,從師子座歡喜而下,致敬問訊,如應施設高廣之座,命彼諸兄次第而坐。諸兄即令王復本座。眾坐已定,作諸供獻。如先所論,互談議已,皆生決定歡喜之心。時王起尊重意,各以所奉。如是集會過二三日,王為諸兄及彼人眾開發,令知福非福事,說伽陀曰:

「『無福者墮地獄中,  受大苦惱常無間;

或墮餓鬼或畜生,  受飢渴苦及負重。

無福之者壞其身,  無福為奴重疲極,

無福墮於聾瘂中,  無福愚鈍多邪慧。

無福之者魑魅著,  無福之者醜形容,

無福多於下族生,  無福心亂人所惡,

無福之者多迷惑,  無福為他所輕謗,

無福之者諸所為,  雖復勤力不成就。

無福之者身麤澁,  悉無威光不可意;

無福之人兄所居,  草木青潤成枯瘁。

無福人所不隨順,  外境觸害亦復然;

諸惡鬼神羅剎娑,  常時侵嬈無福者。

無福者用藥治病,  返成非藥病增劇;

由無福故受貧窮,  復為他人所輕慢。

無福之人生子息,  其性麤惡眾憎嫌;

無福者雖眷屬多,  常時離散生苦惱。

無福者壞於眼目,  而復相續諸苦生,

多病皆由無福因,  小生疾病固難差。

無福之人多兇惡,  無福常發麤惡聲;

手指攣拳體不完,  語言人多不信順。

無福之人諸所有,  王官水火盜賊銷;

無福唯聞非愛言,  觸處常生於驚怖。

無福雖居平坦地,  隨處旋當荊棘生;

設或植種及經商,  雖常多作無義利。

無福者於一切時,  所有財寶皆散壞;

世間無少顧戀心,  實不可愛無善利;

諸無福者如是相,  智者當知皆破壞。

福者所作善護持,  於一切時無散失。

福者所行不懈倦,  常起堅固勇悍心,

如蓋覆蔭廣無邊,  復能制除諸惡雨。

猶犢隨母常飼乳,  福者如意善欲同;

又如劫樹悅意觀,  常獲一切所欲果。

福者能具忍辱力,  及得悅意大吉祥;

信行深固可依從,  生生皆具妙色相。

福者廣布大名稱,  能具多聞及智慧;

見者咸生愛樂心,  又能獲得聞持念。

福者臨終無疾病,  臨終亦復歡喜生,

極惡境相不現前,  遠離驚怖及苦惱。

福者臨終受天樂,  天宮樓閣現其前;

忉利諸天夜摩天,  彼彼天人來引接;

兜率天宮諸天子,  化樂天眾亦復然,

他化自在欲界天,  咸來衛護於福者。

福者猶如大梵王,  俱胝天眾皆宗奉,

於其一千梵界中,  廣大尊勝而自在。

福者諸所作皆成,  復常處於快樂位,

一切皆生愛樂心,  乃至外境無觸害。』

「是時諸兄及其人眾,聞伽陀已,於福力王,心皆信伏,極大歡喜。現世他生,顯明開示,一向悉知,福力最勝。

「時福力王,為諸人眾廣說福事,開發心已,觀察虛空,作是念言:『快哉!我今可能徧於王城內外,悉雨種種珍寶衣服。』發是心時,忽有種種殊妙衣服,及悅意華諸妙珍寶,自天而降,悉皆充滿王城內外。現是相時,人天胥悅,咸生驚異,悉起廣大淨信之心,俱發是言:『快哉!天子,有是福力,具大威德。』

「復次其後諸小國王,聞是事已,咸起思念:『彼王有大福力,具大名稱,我今宜應往彼尊奉。』由是諸王共會一處,各領四兵,所謂象、馬、車、步兵眾,同詣福力王所,下車前進,肅恭伸拜,合掌白言:『天子大福,具大名稱,為大國王,威德特尊,我等今時故來親奉。』

「時福力王,即復致問,普為慰安,如次坐已,并其官屬,各與無價上妙珍寶;又以十善法門,普為攝化。是時諸王,俱獲勝利,各還本國。

「復次,其後父眼力王,展轉聞知如是奇事,先遣使人詣彼國已,自當速疾與諸官屬,終日竟夜,促途前進。父王到已,愛念子故,即時遙見,雙目淚垂,悲喜交盈,聲哀心切,速從車下,前執其手,久而視之,父王乃言:『我是汝父,汝必深知,我今年耄衰朽若斯,國政甚難,我不堪任,今付於汝,汝當負荷。』言已即時卸自寶冠,置於子頂,子如父教,兼統其國。

佛說福力太子因緣經卷第三

相关推荐
BigLeo1 小时前
c++中,声明(Declaration)与定义(Definition)有什么不同?
c++
YJlio2 小时前
《Windows 11 从入门到精通》读书笔记 1.4.10:集成的微软 Teams——办公与社交的无缝衔接
c语言·网络·python·数码相机·ios·django·iphone
身如柳絮随风扬2 小时前
Git 超详细学习笔记
笔记·git
星辰徐哥2 小时前
C语言Web开发:CGI、FastCGI、Nginx深度解析
c语言·前端·nginx
Yolo_TvT2 小时前
C++:缺省参数
开发语言·c++·算法
进击的小头2 小时前
第19篇:多个PI控制器串联控制系统设计与参数整定调试实战
python·算法
云潮汐表2 小时前
浒浦潮汐表查询2026-03-28
笔记
承渊政道2 小时前
【优选算法】(实战领略前缀和的真谛)
开发语言·数据结构·c++·笔记·学习·算法
xiaoliuliu123452 小时前
Dev C++ 5.11开发编辑器 安装教程:详细步骤+自定义安装路径(附简体中文设置)
开发语言·c++