Source code for submission s978

SialenyNixonovQueue.java

  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package senseofsecuritz;
  6.  
  7. import java.io.BufferedReader;
  8. import java.io.InputStreamReader;
  9. import java.math.BigInteger;
  10.  
  11. /**
  12.  *
  13.  * @author istenik3
  14.  */
  15. public class SialenyNixonovQueue {
  16. static public void main(String [] arguments) throws Exception {
  17.  
  18. String line;
  19. while((line = reader.readLine()) != null) {
  20. if(line.charAt(0) == ')') {
  21. System.out.println(0);
  22. continue;
  23. }
  24.  
  25. int [][] matica = new int[1001][1001];
  26.  
  27. matica[0][0] = 1;
  28.  
  29. for(int stlpec=1; stlpec<line.length()+1; stlpec++) {
  30. for(int riadok=0; riadok<=line.length()/2; riadok++) {
  31. int index = stlpec-1;
  32. char c = line.charAt(index);
  33.  
  34. if(c == '.') {
  35. int a = (riadok-1 >= 0 ? matica[riadok-1][stlpec-1] : 0);
  36. int b = (riadok+1 < 1001 ? matica[riadok+1][stlpec-1] : 0);
  37.  
  38. matica[riadok][stlpec] = a + b;
  39. } else if(c == '(') {
  40. if(riadok-1 >= 0)
  41. matica[riadok][stlpec] = matica[riadok-1][stlpec-1];
  42. } else if(c == ')') {
  43. if(riadok+1 < 1001)
  44. matica[riadok][stlpec] = matica[riadok+1][stlpec-1];
  45. }
  46.  
  47. matica[riadok][stlpec] = matica[riadok][stlpec] % 1000000;
  48. }
  49. }
  50.  
  51. /*for(int i=0; i<10; i++) {
  52.   for(int j=0; j<10; j++) {
  53.   System.out.print(matica[i][j]);
  54.  
  55.   }
  56.   System.out.println();
  57.   }*/
  58.  
  59. System.out.println(matica[0][line.length()]);
  60. }
  61. }
  62. }
  63.