站外题,但是
dp[u][0]=minn(inf,dp[u][2]+dp[v][1],dp[u][0]+dp[v][0]);
dp[u][1]=minn(inf,dp[u][3]+dp[v][3],dp[u][1]+dp[v][2]);
dp[u][2]=minn(inf,dp[u][2]+dp[v][0],dp[u][0]+dp[v][1]);
dp[u][3]=minn(inf,dp[u][1]+dp[v][3],dp[u][3]+dp[v][2]);
的运行结果与
t0=min(dp[u][2]+dp[v][1],dp[u][0]+dp[v][0]);
t1=min(dp[u][3]+dp[v][3],dp[u][1]+dp[v][2]);
t2=min(dp[u][2]+dp[v][0],dp[u][0]+dp[v][1]);
t3=min(dp[u][1]+dp[v][3],dp[u][3]+dp[v][2]);
dp[u][0]=min(t0,inf);
dp[u][1]=min(t1,inf);
dp[u][2]=min(t2,inf);
dp[u][3]=min(t3,inf);
竟然不同。
minn()的定义:
int minn(int a,int b,int c)
{
return min(min(a,b),c);
}
求谷民找找问题,谢谢!