想了解少儿编程,机器人编程,C++,Python,信息学奥赛等详细了解南京少儿信息学奥赛编程十*习排行榜
信息学奥赛编程 50分跪求数据规模 比较 小 可以考虑用 dp 做 背包问题 容量 为 total div 2 (如果 not odd(tot))tot 为奇数 那无解。 然后 算出 装满 total div 2 的总方案数。 应为 左右调换 是同一种情况 结果 就 div 2
2.信息学奥赛的编程软件是什么记得是Pascal吧。不能使用smartdrv驱动的那种环境。现在也可以用delphi了,记得上次一个朋友告诉我的。总之学习object pascal就没错了。
3.信息学奥赛编程里的隔板排序问题,多谢达人解释一下分析:连续命中的三枪与单独命中的一枪不能相邻,因而这是一个插空问题。另外没有命中的之间没有区别,不必计数。即在四发空枪之间形成的5个空中选出2个的排列,即。 例13. 马路上有编号为l,2,3,……,10 十个路灯,为节约用电又看清路面,可以把其中的三只灯关掉,但不能同时关掉相邻的两只或三只,在两端的灯也不能关掉的情况下,求满足条件的关灯方法共有多少种? 分析:即关掉的灯不能相邻,也不能在两端。又因为灯与灯之间没有区别,因而问题为在7盏亮着的灯形成的不包含两端的6个空中选出3个空放置熄灭的灯。 ∴ 共=20种方法。
4.请教一道信息学奥赛的pascal语言编程题var name:array[1..100]of string; m:array[1..100]of longint; i,k,l,n,s1,s2:integer; max,sum:longint; ch1,ch2,ch:char; begin assign(input,'***.in'); reset(input); readln(n); for i:=1 to n do begin name[i]:='';m[i]:=0; repeat read(ch); if ch' ' then name[i]:=name[i]+ch; until ch=' '; read(s1,s2); read(ch1,ch1,ch2,ch2); readln(l); if (s1>80)and(l>=1) then m[i]:=m[i]+8000; if (s1>85)and(s2>80) then m[i]:=m[i]+4000; if s1>90 then m[i]:=m[i]+2000; if (s1>85)and(ch2='Y') then m[i]:=m[i]+1000; if (s2>80)and(ch1='Y') then m[i]:=m[i]+850; end; close(input); sum:=0;max:=0; for i:=1 to n do begin sum:=sum+m[i]; if max