Lang:G++
Edit12345678910111213141516171819202122232425#include<bits/stdc++.h>int N;int L;char s[100010];int pe[50010][2];int stack[50010];int main(){int i,j,k;scanf("%s",&s[1]);L=strlen(&s[1]);N=L/2;j=k=0;for(i=1;i<=L;i++){if(s[i]=='('){pe[++k][0]=i;stack[++j]=k;}else{pe[stack[j--]][1]=i;}}for(i=1;i<=N;i++)printf("%d %d\n",pe[i][0],pe[i][1]);return 0;}