2008 noip普及组复赛解决方案
第一个问题:很容易发分题。对于刚接触OI的玩家来说,可能很难处理弦乐。你不妨整体阅读,用st-'0'[fly]找出数字(C++写的,PASCAL忘了,希望有人补充)。最后,注意‘X’拿满分。
第二个问题:贪婪。这个问题的难点在于理解问题的含义。其实只需要记录下能隔多少行多少列来阻止学生发言,最后排序两次(一次找出最能阻止对数发言的行或列,一次按顺序输出),然后输出。请注意,行尾不应有空格。
第三题:动态编程或助记搜索,我的代码是用助记搜索写的,动态编程方程是:f[j]= f[I+1][j-1]+f[I-1][j-1]用内存搜索时,需要注意无解的情况,避免出现死循环。
第四个问题:一个很复杂的问题,但其实只要把问题的意思分析清楚,还是很容易解决的。
步骤1:将基本图形保存到数组中。
第二步:计算每个立方体左上角的坐标。
第三步:从后到前、从下到上、从左到右依次覆盖输出数组,最后一个数组中的内存为最终答案(将数组初始化为'.'在重写之前)。