社区讨论
0分求调
P1541[NOIP 2010 提高组] 乌龟棋参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mlhhps3r
- 此快照首次捕获于
- 2026/02/11 11:48 4 周前
- 此快照最后确认于
- 2026/02/12 22:30 4 周前
全WA,代码:(码风可能不太好,抱歉)
CPP#include<bits/stdc++.h>
using namespace std;
long long n,m,s[10001],dp[100][100][100][100],u,a=0,b=0,c=0,d=0;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>s[i];
}
for(int i=0;i<m;i++){
cin>>u;
switch(u){
case 1:a++;break;
case 2:b++;break;
case 3:c++;break;
case 4:d++;break;
}
}
dp[0][0][0][0]=s[1];
for(int i=1;i<=a;i++){
for(int j=1;j<=b;j++){
for(int k=1;k<=c;k++){
for(int l=1;l<=d;l++){
if(i!=0) dp[i][j][k][l]=max(dp[i][j][k][l],s[1+i+2*j+3*k+4*l]+dp[i-1][j][k][l]);
if(j!=0) dp[i][j][k][l]=max(dp[i][j][k][l],s[1+i+2*j+3*k+4*l]+dp[i][j-1][k][l]);
if(k!=0) dp[i][j][k][l]=max(dp[i][j][k][l],s[1+i+2*j+3*k+4*l]+dp[i][j][k-1][l]);
if(l!=0) dp[i][j][k][l]=max(dp[i][j][k][l],s[1+i+2*j+3*k+4*l]+dp[i][j][k][l-1]);
}
}
}
}
cout<<dp[a][b][c][d];
return 0;
}
帮调必关,谢谢
回复
共 1 条回复,欢迎继续交流。
正在加载回复...