📄 stock.cpp
字号:
#include"stdio.h"
#include"malloc.h"
//void array(int c[],int n){
//int temp;
//temp=c[0];
//for(int i=0;i<n-1;i++)
// c[i]=c[i+1];
//c[i]=temp;
//}
int Matrix(int c[],int n){
int a[100][100],op[100][100];
int i,j,r,temp,k;
for(i=0;i<n;i++){
a[i][i]=c[i];op[i][i]=0;
}
for(r=1;r<n;r++)
for(i=0;i<n-r;i++){
j=i+r;
a[i][j]=a[i][j-1]+a[j][j];
op[i][j]=a[i][j]+op[i][i]+op[i+1][j];
for(k=i+1;k<j;k++){
temp=a[i][j]+op[i][k]+op[k+1][j];
if(temp<op[i][j])op[i][j]=temp;
}
}
return op[0][n-1];
}
int Maxtrix(int c[],int n){
int a[100][100],op[100][100];
int i,j,r,temp,k;
for(i=0;i<n;i++){
a[i][i]=c[i];op[i][i]=0;
}
for(r=1;r<n;r++)
for(i=0;i<n-r;i++){
j=i+r;
a[i][j]=a[i][j-1]+a[j][j];
op[i][j]=a[i][j]+op[i][i]+op[i+1][j];
for(k=i+1;k<j;k++){
temp=a[i][j]+op[i][k]+op[k+1][j];
if(temp>op[i][j])op[i][j]=temp;
}
}
return op[0][n-1];
}
int main(){
int i,n,temp,l;
int *c,*min,*max;
int big,little;
scanf("%d",&n);
c=(int *)malloc(sizeof(int)*n);
min=(int *)malloc(sizeof(int)*n);
max=(int *)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
scanf("%d",c+i);
for(i=0;i<n;i++){
min[i]=Matrix(c,n);
max[i]=Maxtrix(c,n);
temp=*c;
for(l=0;l<n-1;l++)
*(c+l)=*(c+l+1);
*(c+l)=temp;
}
little=min[0];
big=max[0];
for(i=1;i<n;i++){
if(*(min+i)<little)little=*(min+i);
if(*(max+i)>big)big=*(max+i);
}
printf("%d\n",little);
printf("%d",big);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -