目录:
题目:
题意:
告诉我们一定的规格,以及方块的型号,求一共有多少种落地方法。
分析:
这道提,各位读者一定不能怕麻烦,其实只是很基础的暴力模拟题,只要注意好细节,处理得当即可AC。
AC后感想:
挺水的,就是给我们送的100分,发现我的指导老师AJ放上这题,是为了刷高评价分提高我们的模拟能力。
代码:
#include<cstdio>
#include<cstring>
int n,p,a[101],d;
int main()//整个就一暴力,各位读者注意下细节,小编就不解释啦
{
/* freopen("game.in","r",stdin);
freopen("game.out","w",stdout);*/
memset(a,0x7f,sizeof(a));
scanf("%d%d",&n,&p);
for (int i=1;i<=n;i++)
scanf("%d",&a[i]);
if (p==1)
{
d+=n;
for (int i=1;i<=n-3;i++)
if (a[i]==a[i+1]&&a[i+1]==a[i+2]&&a[i+2]==a[i+3]) d++;
}
else
if (p==2)
{
for (int i=1;i<=n-1;i++)
if (a[i]==a[i+1]) d++;
}
else
if (p==3)
{
for (int i=1;i<=n;i++)
{
if (a[i]==a[i+1]&&a[i+2]-a[i]==1) d++;
if (a[i]-a[i+1]==1) d++;
}
}
else
if (p==4)
{
for (int i=1;i<=n;i++)
{
if (a[i]-a[i+1]==1&&a[i+1]==a[i+2]) d++;
if (a[i+1]-a[i]==1) d++;
}
}
else
if (p==5)
{
for (int i=1;i<=n;i++)
{
if (a[i]==a[i+1]&&a[i+1]==a[i+2]) d++;
if (a[i]-a[i+1]==1&&a[i+2]-a[i+1]==1) d++;
if (a[i+1]-a[i]==1) d++;
if (a[i]-a[i+1]==1) d++;
}
}
else
if (p==6)
{
for (int i=1;i<=n;i++)
{
if (a[i]==a[i+1]&&a[i+1]==a[i+2]) d++;
if (a[i]==a[i+1]) d++;
if (a[i+1]==a[i+2]&&a[i+1]-a[i]==1) d++;
if (a[i]-a[i+1]==2) d++;
}
}
else
if (p==7)
{
for (int i=1;i<=n;i++)
{
if (a[i]==a[i+1]&&a[i+1]==a[i+2]) d++;
if (a[i]==a[i+1]) d++;
if (a[i+1]-a[i]==2) d++;
if (a[i]==a[i+1]&&a[i]-a[i+2]==1) d++;
}
}
printf("%d",d);
return 0;
fclose(stdin);fclose(stdout);
}