乐陵seo网站优化,网站后期维护是做什么,百度搜索指数入口,买了域名后怎么建立网址正题
链接 需要纪中OJ账号 有7种方块 有n列#xff0c;给出每列的方块高度#xff0c;求一种方块所有方面都落地的方案数 输入输出#xff08;需要自取#xff09;
Input
第一行为二个整数C和P#xff0c;1 ≤ C ≤ 100, 1 ≤ P ≤ 7#xff0c;表示列数和下落方…正题
链接 需要纪中OJ账号 有7种方块 有n列给出每列的方块高度求一种方块所有方面都落地的方案数 输入输出需要自取
Input
第一行为二个整数C和P1 ≤ C ≤ 100, 1 ≤ P ≤ 7表示列数和下落方块的编号 第二行共有用一个空隔隔开的C个整数每一个数字在 0 到 100,之间包含0和100表示每一列的初始高度
Output
输出为一个整数表示落地的方法总数
Sample Input
Input1 6 5 2 1 1 1 0 1Input2 5 1 0 0 0 0 0Input3 9 4 4 3 5 4 6 5 7 6 6
Sample Output
Output1 5Output2 7Output3 1 解题思路
纯模拟能过。反正不需要考虑上方的方块只要在最低层的方块落地就行了 代码就不解释了
#includecstdio
using namespace std;
int h[101],s,n,p;
int main()
{scanf(%d%d,n,p);for (int i1;in;i)scanf(%d,h[i]);if (p1){sn;for (int i1;in-3;i){if (h[i]h[i1]h[i]h[i2]h[i]h[i3]) s;}}else if (p2){for (int i1;in;i){if (h[i]h[i1]) s;}}else if (p3){for (int i1;in-2;i){if (h[i]h[i1]h[i]h[i2]-1) s;}for (int i1;in-1;i){if (h[i]-1h[i1]) s;}}else if (p4){for (int i1;in-2;i){if (h[i]-1h[i1]h[i1]h[i2]) s;}for (int i1;in-1;i){if (h[i]h[i1]-1) s;}}else if(p5){for (int i1;in-2;i){if (h[i]h[i1]h[i1]h[i2]) s;}for (int i1;in-1;i){if (h[i]h[i1]-1) s;}for (int i1;in-1;i){if (h[i]-1h[i1]) s;}for (int i1;in-2;i){if (h[i]h[i1]1h[i1]1h[i2]) s;}}else if (p6){for (int i1;in;i){if (h[i]h[i1]) s;}for (int i1;in-2;i){if (h[i]h[i1]h[i1]h[i2]) s;}for (int i1;in-2;i){if (h[i]1h[i1]h[i1]h[i2]) s;}for (int i1;in-1;i){if (h[i]h[i1]2) s;}}else if (p7){for (int i1;in;i){if (h[i]h[i1]) s;}for (int i1;in-2;i){if (h[i]h[i1]h[i1]h[i2]) s;}for (int i1;in-2;i){if (h[i]h[i1]h[i1]h[i2]1) s;}for (int i1;in-1;i){if (h[i]2h[i1]) s;}}printf(%d,s);
}