Cod sursa(job #1049520)
| Utilizator | Data | 7 decembrie 2013 14:03:11 | |
|---|---|---|---|
| Problema | Parantezare optima de matrici | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
#include<stack>
#include <string.h>
using namespace std;
ifstream fin("parantezare.in");
ofstream fout("parantezare.out");
char e[100005];
int M, v[100005];
stack<int> s;
int main()
{
int i, n;
fin>> e>> M;
n = strlen(e);
for( i = 0; i < n; i++ )
if(e[i] == '(')
s.push(i);
else if( e[i] == ')')
{
v[s.top()] = i;
s.pop();
}
for( i = 1; i <= M; i++)
{
int x;
fin>>x;
fout<<v[x]<<" ";
}
return 0;
}
