此题采用动态规划 设置dp,其中dp[i]表示高度为i的方案数起初,设置dp[i]全部为0,然后将dp[x]、dp[y]、dp[z]设为1,以此为初始状态。接着只需将高度依次增加,累加达到这个高度的方案数。 #include <iostream> #include <cstring> using std::cin; using std::cout; using std::endl; int main(){ int n,x,y,z; cin>>n>>x>>y>>z; int *dp = new ...