Перевод С++ в Pascal
Всем привет! В С++ не силен, можете помочь? Перевести код
Код:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
#define HUGE 10000
char st[200];
int dyn[200][200];
int min(int a, int b) {
return a > b ? b : a;
}
bool check(char c1, char c2) {
if (c1 == '{' && c2 == '}') return true;
if (c1 == '[' && c2 == ']') return true;
if (c1 == '(' && c2 == ')') return true;
return false;
}
int calc(int x, int y) {
if (dyn[x][y] != HUGE) return dyn[x][y];
if (x > y) return 0;
dyn[x][y] = min(calc(x+1,y), calc(x,y-1)) + 1;
int i;
for (i = x; i < y; i++) {
dyn[x][y] = min(dyn[x][y],calc(x,i)+calc(i+1,y));
}
if (check(st[x],st[y])) {
dyn[x][y] = min(dyn[x][y],calc(x+1,y-1));
}
return dyn[x][y];
}
int main() {
freopen("e.in","r",stdin);
freopen("e.out","w",stdout);
scanf("%s",&st);
int len = strlen(st);
int i,j;
for (i = 0; i < len; i++) {
for (j = 0; j < len; j++) {
dyn[i][j] = HUGE;
}
}
printf("%d\n",calc(0,len-1));
return 0;
}
в паскаль.
Заранее спасибо!
|