这就是石,别点
2024-09-13 22:46:46
发布于:广东
我的CSP-2019、2020错题解析
阅读程序
#include<bits/stdc++.h>
using namespace std;
int n;
int d[50][2];
int ans;
void dfs(int n,int sum){
if(n==1){
ans=max(sum,ans);
return ;
}
for(int i=1;i<=n;i++){
int a=d[i-1][0],b=d[i-1][1];
int x=d[i][0],y=d[i][1];
d[i-1][0]=a+x;
d[i-1][1]=b+y;
for(int j=i;j<n-1;j++){
d[j][0] = d[j+1][0],d[j][1]=d[j+1][1];
}
int s=a+x+abs(b-y);
dfs(n-1,num+s);
for(int j=n-1;j>i;j--){
d[j][0]=d[j-1][0],d[j][1]=d[j-1][1];
}
d[i-1][0]=a,d[i-1][1]=b;
d[i][0]=x,d[i][1]=y;
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n;
for(int i=0;i<n;i++) cin>>d[i][0];
for(int i=0;i<n;i++) cin>>d[i][1];
ans=0;
dfs(n,0);
cout<<ans;
return 0;
}
1、n=0会直接退出,不会造成死循环
4,5:
纯dp,就硬算表示l、r区间的石子带价
程序填空
计数排序
1、表示第二关键字的排序结果,故选B:
2、此时表示第一关键字,故选C:
3、作为一个储存首先排序结果的数组,要套在外面,是储存全部排序的结果,套在里面就可以输出了
这里空空如也
有帮助,赞一个