动态规划
代码供参考
#include<stdio.h>int f[101][101]
int main()
{
int k,l,i,j,p
int sum=0
scanf("%d%d",&k,&l)
for(i=0i<=k-1i++)
f[1][i]=1
for(i=2i<=li++)
{
for(j=0j<=k-1j++)
{
for(p=0p<=k-1p++)
{
if(p!=j-1&&p!=j+1)
{
f[i][j]+=f[i-1][p]
if(f[i][j]>1000000007)f[i][j]%=1000000007
}
}
}
}
for(i=1i<=k-1i++)
{
sum+=f[l][i]
if(sum>1000000007)sum%=1000000007
}
printf("%d",sum)
return 0
}
1.x=4第一行和第二行无实际意义。因为它们都操作空。
第三行判断c是否等于零,如是,则执行x=3,否则,执行x=4。
2.m4=1;
m2==m3+1先执行m3+1,得2
然后执行m2==m3,由于m2等于m3,所以为1
首先判断1是否等于1,是的,执行m4=1,跳到第七行(下一语句)
3.b=-4
b--<0的意思是,先判断b是否小于0,再使b减一.
4.y=51
因为循环中未对y进行变换.
5.
00000011(3)
00000101(6)
----------
00000110(7)
1^1=0,1^0=1,0^0=0,0^1=1
3^6=7