欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 读后感 > 田忌赛马读后感1000字

田忌赛马读后感1000字

时间:2016-10-01 08:41

田忌赛马续写

田忌和孙膑再次见面有一天,田忌和孙膑又见面了。

田忌看到了孙膑,就把他招呼过来,对他说:“上次多亏了你,给我出了一个好点子,否则我还不知道该怎么做呢。

这一回,你有什么需要我的,尽管说。

”孙膑说:“最近没什么事,以后再找你帮忙。

”孙膑带田忌来到赛马场,田忌问:“又是赛马

”孙膑回答:“没错。

”这时,齐威王来了,他笑了笑,对田忌说:“好久不见了,这次我们再来赛一场。

”一声锣响,比赛开始了。

齐威王的大臣为齐威王出了一个好主意,大臣说:“大王,您按上次他们赢你的顺序对他们。

”正好田忌也跟上回一样,结果两个人都出下等马,第一局,田忌输了。

中场休息时,田忌猜测齐威王也用了他的顺序,于是告诉了孙膑,孙膑说:“我也看出来了,齐威王用的正是上次我们赢他的出场顺序。

”田忌想了想,说:“下一局他会出中等马,我们怎么办

”两个人都陷入沉思。

突然,田忌想到,无论怎样,这一场都会输,他对孙膑说:“我们下一场想办法吧。

”孙膑说:“你跟我想的一样。

”第二局,田忌用上等马对齐威王的中等马,第二局赢了。

第三局,田忌用中等马队齐威王的上等马,这一局输了。

整场下来,田忌还是败给了齐威王。

田忌自己想了一套方案,孙膑听了说:“这套方案很好,下一场就用。

”另一边,齐威王的大臣说:“他们可能看出我们要用什么了,不妨我们换一种出场顺序。

”齐威王听了大臣的话,觉得大臣说得有道理,就采用了。

第二场比赛开始了。

第一局,田忌按方案出中等马探底,没想到齐威王换了顺序,出了上等马,这一局输了。

田忌想:这下只能随机应变了。

第二局,田忌猜测齐威王下一步会出下等马,就出了中等马,果然,田忌猜中了。

第三局,田忌只能出上等马,齐威王出的是中等马,这一局赢了。

田忌以三局两胜赢了齐威王。

这一次赛马,进一步增强了田忌和孙膑之间的友谊,他们只要一有空,就会在一起商量、讨论一些事情。

田忌赛马的道理

田忌常和齐威王(公元前356—320年在位)及诸公子以赛马赌博。

田忌的马有上、中、下三等;齐王的马也有上、中、下三等,但每一等都比田忌同等的马好,于是田忌屡赛屡输。

这次他俩又下了1000两黄金的赌注,田忌一筹莫展。

就在这时,孙膑对田忌说:“您尽管同他赛,我有办法让您赢。

”   比赛又开始了。

齐王令出上马,孙膑让田忌先出下马,给齐王舒舒服服、轻而易举地赢了第一场;然后齐王令出中马,孙膑让田忌出上马,经过激烈比赛,田忌的马赢了;最后齐王出下马,孙膑让田忌出中马,田忌的马又赢了。

3场比赛,田忌以2:1取胜,“卒得王千金”。

 这告诉了人们一个道理:只有知己知彼,避敌锋芒,才能后发制人,以弱胜强。

田忌赛马的教案

其实你的算法很简单,就是让渊子的马按照速度按照从小到大排序,取前1\\\/3为从小到大的顺序,然后剩下的2\\\/3按照从大到小排序。

让对手的马按照从大到小排序。

这样你就能保证渊子赢了。

c语言田忌赛马问题

代码写起来比较麻烦,我就光说思路了。

首先读入的两个人马的速度,可以放在两个数组里边,因为马的匹数不一定,代可以用一个int指表示,然后等用户输入了匹数以后,拿malloc去申请内存。

然后要对两个数组进行排序,从大到小,如果你能保证输入速度的时候就已经是排好序的,这一步也可以省略;之后,咱拿两个下标来表示两人的i表示田忌,j表王;tj[0]就是田忌最快的那匹马的速度,qw[0]就是齐王最快的那匹马的速度,(这样明白不啊。

)然后i从0开始,拿tj[i]去和qw[j]比较,如果小于,j++,往后找,直到找见等于或大于的为止,等于就算平,大于的话算赢,都要给对一个计数变量进行累加;这样第一匹能赢的马就找到对手了,然后给i加1,并从j+1的位置继续找,重复上边的操作,直到j加到最大值为止;这时统计出来的能赢的马和能平局的马,和总数相减一下就能得出要输的马,再计算输赢就很简单了。

急求 田忌赛马 详细题解 freePascal

type arr=array[1..2000] of longint;var tian,qi:arr; ans:array[1..2000,1..2000] of longint; i,j,k,n:longint; procedure qs(left,right:longint;var a:arr); var t,mid,l,r:longint; begin l:=left;r:=right;mid:=a[(l+r) div 2]; while l<=r do begin while a[l]>mid do inc(l); while a[r]left then qs(left,r,a); end; function cost(a,b:longint):longint; begin if a>b then exit(200); if a=b then exit(0); if ab then exit(a) else exit(b); end; begin readln(n); for i:=1 to n do read(tian[i]); for i:=1 to n do read(qi[i]); qs(1,n,tian); qs(1,n,qi); for i:=1 to n do ans[i,i]:=cost(tian[i],qi[n]); for k:=n-1 downto 1 do for i:=1 to k do begin j:=n-k+i; ans[i,j]:=max(ans[i+1,j]+cost(tian[i],qi[k]),ans[i,j-1]+cost(tian[j],qi[k])); end; writeln(ans[1,n]); end.

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片