javascript zip.js 壓縮檔案操作
阿新 • • 發佈:2020-11-05
#include<cstdio> #include<algorithm> #include<cstring> #define MAXN 520 using namespace std; int n; int f[MAXN][MAXN],c[MAXN]; bool judge(int a,int b); int main() { memset(f,0x3f3f3f,sizeof(f)); scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&c[i]); f[i][i]=1; } for(int len=1;len<=n;len++) { for(int i=1;i+len<=n;i++) { int j=i+len; if(judge(i,j)) { printf("%d %d:HUIWEN\n",i,j); f[i][j]=1; } else { for(int k=i;k<j;k++) { f[i][j]=min(f[i][k]+f[k+1][j],f[i][j]); printf("LEFT=%d|RIGHT=%d;k=%d____f[%d][%d]=%d\n",i,j,k,i,j,f[i][j]); } } } } printf("%d",f[1][n]); return 0; } bool judge(int a,int b) {if((b-a)==1) { if(c[a]==c[b]) return true; else return false; } int t=0; if((b-a)&1==0) { int temp=0; for(int i=a;i<=a+(b-a)/2;i++) { t=b-temp; temp++; if(c[i]!=c[t]) return false; } } else { int temp=0; for(int i=a;i<=a+(b-a+1)/2;i++) { t=b-temp; temp++; if(c[i]!=c[t]) return false; } } return true; }