wo是完全不懂为啥只过了45%for(int i=1;i<=n;++i){for(int j=1;j<=m;++j){dp[i][j]=-1;//初始化为-1if(i==1&&j==1){dp[i][j]=a[i][j];continue;}if(i-1>=1&&dp[i-1][j]>=0){//可以转移if(s[i-1][j]==s[i][j]){//相同dp[i][j]=max(dp[i-1][j]+a[i][j],dp[i][j]);}if(s[i-1][j]!=s[i][j]&&dp[i-1][j]-k>=0){//不相同dp[i][j]=max(dp[i-1][j]+a[i][j]-k,dp[i][j]);}}if(j-1>=1&&dp[i][j-1]>=0){//可以转移的必要条件if(s[i][j-1]==s[i][j]){//相同dp[i][j]=max(dp[i][j],dp[i][j-1]+a[i][j]);}if(s[i][j-1]!=s[i][j]&&dp[i][j-1]-k>=0){//不相同dp[i][j]=max(dp[i][j],dp[i][j-1]+a[i][j]-k);}}ans=max(ans,dp[i][j]);//更新结果}}