想了解少儿编程,机器人编程,C++,Python,信息学奥赛等详细了解南京少儿信息学奥赛编程小码王
1.pascal 信息学奥赛编程 50分跪求
数据规模 比较 小 可以考虑用 dp 做 背包问题 容量 为 total div 2 (如果 not odd(tot))tot 为奇数 那无解。 然后 算出 装满 total div 2 的总方案数。 应为 左右调换 是同一种情况 结果 就 div 2
2.信息学奥赛编程里的隔板排序问题,多谢达人解释一下
分析:连续命中的三枪与单独命中的一枪不能相邻,因而这是一个插空问题。另外没有命中的之间没有区别,不必计数。即在四发空枪之间形成的5个空中选出2个的排列,即。 例13. 马路上有编号为l,2,3,……,10 十个路灯,为节约用电又看清路面,可以把其中的三只灯关掉,但不能同时关掉相邻的两只或三只,在两端的灯也不能关掉的情况下,求满足条件的关灯方法共有多少种? 分析:即关掉的灯不能相邻,也不能在两端。又因为灯与灯之间没有区别,因而问题为在7盏亮着的灯形成的不包含两端的6个空中选出3个空放置熄灭的灯。 ∴ 共=20种方法。
3.信息学奥赛试题(计算机编程)
合并果子。。。。。。。 当然是合并9次了。。。(这个不解释了,稍微想下就懂了) 合并方法是取两堆最小的合并,然后把他们的和作为新的一堆,去掉原来的两堆,再选最小两堆(新加入的也要比较)。。。。直到只剩1堆 话说这数据很小。。。就合并一次排序一次吧。。。。
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 想了解线上,线下课程,费用,地址的详细了解pascal 信息学奥赛编程 50分跪求,信息学奥赛编程里的隔板排序问题,多谢达人解释一下,信息学奥赛试题(计算机编程),请教一道信息学奥赛的pascal语言编程题??