2019.1.3


import java.util.*;
 
public class 括号匹配{
 
    public static void main(String[] args){
 
        Scanner scanner = new Scanner(System.in);
 
        while(scanner.hasNextInt()){
 
            int n=scanner.nextInt();
 
            scanner.nextLine();
 
            int[] pos=new int[400000];
 
            int[] neg=new int[400000];
 
            for(int i=0;i<n;i++){
 
                String s=scanner.nextLine();
 
                int minV=0;
 
                int v=0;
 
                for(int j=0;j<s.length();j++){
 
                    if(s.charAt(j)=='(')
 
                        v++;
 
                    else
 
                        v--;
 
                    if(v<minV)
 
                        minV=v;
 
                }
 
                if(v>=0&& minV>=0)
 
                    pos[v]++;
 
                else if(v<0&& minV==v)
 
                    neg[-v]++;
 
            }
 
            int result=pos[0]*pos[0];
 
            for(int j=0;j<400000;j++){
              result +=pos[j]*neg[j];
            }
 
                
 
  
 
            System.out.printf("%d\n",result);
 
              
 
        }
 
    }
 
}
点赞