Пример #1
0
 /**
  * Test client
  *
  * @param args
  */
 public static void main(String[] args) {
   WordNet wordnet = new WordNet("/resources/synsets.txt", "/resources/hypernyms.txt");
   Outcast outcast = new Outcast(wordnet);
   In in = new In("/resources/outcast11.txt");
   String[] nouns = in.readAllStrings();
   StdOut.println("outcastX.txt: " + outcast.outcast(nouns));
 }
Пример #2
0
 /**
  * Initializes a board from the given filename.
  *
  * @param filename the name of the file containing the Boggle board
  */
 public BoggleBoard(String filename) {
   In in = new In(filename);
   M = in.readInt();
   N = in.readInt();
   if (M <= 0) {
     throw new IllegalArgumentException("number of rows must be a positive integer");
   }
   if (N <= 0) {
     throw new IllegalArgumentException("number of columns must be a positive integer");
   }
   board = new char[M][N];
   for (int i = 0; i < M; i++) {
     for (int j = 0; j < N; j++) {
       String letter = in.readString().toUpperCase();
       if (letter.equals("QU")) {
         board[i][j] = 'Q';
       } else if (letter.length() != 1) {
         throw new IllegalArgumentException("invalid character: " + letter);
       } else if (ALPHABET.indexOf(letter) == -1) {
         throw new IllegalArgumentException("invalid character: " + letter);
       } else {
         board[i][j] = letter.charAt(0);
       }
     }
   }
 }
  public BaseballElimination(
      String filename) // create a baseball division from given filename in format specified below
      {
    In in = new In(filename);
    String s = in.readLine();
    numTeams = Integer.parseInt(s);
    teamID = new HashMap<String, Integer>();
    teams = new String[numTeams];
    wins = new int[numTeams];
    loses = new int[numTeams];
    remains = new int[numTeams];
    games = new int[numTeams][numTeams];

    for (int i = 0; i < numTeams; i++) {
      s = in.readLine();
      String[] data = s.trim().split("\\s+");
      teams[i] = data[0];
      teamID.put(teams[i], i);
      wins[i] = Integer.parseInt(data[1]);
      loses[i] = Integer.parseInt(data[2]);
      remains[i] = Integer.parseInt(data[3]);
      for (int j = 4; j < data.length; j++) {
        games[i][j - 4] = Integer.parseInt(data[j]);
      }
    }
  }
Пример #4
0
 public static void main(String[] args) {
   In giris = new In(args[0]);
   int[] a = giris.readAllInts();
   Saat saat = new Saat();
   int sayac = say(a);
   StdOut.println("geçen süre = " + saat.gecenSure());
   StdOut.println(sayac);
 }
Пример #5
0
  public Graph_model(In in) {
    this(in.readInt());
    int E = in.readInt();

    for (int i = 0; i < E; i++) {
      int v = in.readInt();
      int w = in.readInt();
      addEdge(v, w);
    }
  }
Пример #6
0
 public static void main(String[] args) {
   In in = new In(args[0]);
   String[] dictionary = in.readAllStrings();
   BoggleSolver solver = new BoggleSolver(dictionary);
   BoggleBoard board = new BoggleBoard(args[1]);
   int score = 0;
   for (String word : solver.getAllValidWords(board)) {
     StdOut.println(word);
     score += solver.scoreOf(word);
   }
   StdOut.println("Score = " + score);
 }
Пример #7
0
  // constructor takes the name of the two input files
  public WordNet(String synsets, String hypernyms) {
    ifNullThrowException(synsets);
    ifNullThrowException(hypernyms);

    st = new LinearProbingHashST<String, ArrayList<Integer>>();
    In in = new In(synsets);

    int len = 0;
    int No;
    String[] words;
    ArrayList<String> tempKeys = new ArrayList<String>();
    while (in.hasNextLine()) {
      String[] a = in.readLine().split(",");
      tempKeys.add(a[1]);

      No = Integer.parseInt(a[0]);
      words = a[1].split(" ");
      for (String word : words) {
        if (st.contains(word)) {
          st.get(word).add(No);
        } else {
          ArrayList<Integer> list = new ArrayList<Integer>();
          list.add(No);
          st.put(word, list);
        }
      }
      len++;
    }

    keys = new String[len];
    tempKeys.toArray(keys);

    G = new Digraph(len);
    in = new In(hypernyms);

    while (in.hasNextLine()) {
      String temp = in.readLine();
      String[] a = temp.split(",");
      int v = Integer.parseInt(a[0]);
      for (int i = 1; i < a.length; i++) {
        int w = Integer.parseInt(a[i]);
        G.addEdge(v, w);
      }
    }

    ifNotDagThrowException(G);
    sap = new SAP(G);
  }
 public Digraph(In in) {
   this(in.readInt());
   int edge = in.readInt();
   try {
     for (int i = 0; i < edge; i++) {
       if (in.hasNextLine()) {
         int v = in.readInt();
         int w = in.readInt();
         addEdge(v, w);
       }
     }
   } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
   }
 }
Пример #9
0
 /** @param args */
 public static void main(String[] args) {
   // TODO Auto-generated method stub
   In in = new In("E:\\Further study in north America\\CS\\algorithmI\\collinear\\input6.txt");
   int N = in.readInt();
   Point[] pts = new Point[N];
   for (int i = 0; i < N; i++) {
     int x = in.readInt();
     int y = in.readInt();
     pts[i] = new Point(x, y);
     // pts[i].draw();
   }
   for (int i = 0; i < pts.length - 3; i++) {
     Arrays.sort(pts, i + 1, pts.length, pts[i].SLOPE_ORDER);
     Arrays.sort(pts, 0, i, pts[i].SLOPE_ORDER);
     check(pts, i);
   }
 }
Пример #10
0
  public static void main(String[] args) {

    StdDraw.setXscale(0, 32768);
    StdDraw.setYscale(0, 32768);
    StdDraw.show(0);
    In in = new In(args[0]);

    int N = in.readInt();
    Point[] points = new Point[N];
    for (int i = 0; i < N; i++) {
      int x = in.readInt();
      int y = in.readInt();
      Point p = new Point(x, y);
      p.draw();
      points[i] = p;
    }
    brute(points);
    StdDraw.show(0);
  }
  public static void main(String[] args) {
    In in = new In(args[0]); // input file
    int N = in.readInt(); // N-by-N percolation system

    // turn on animation mode
    StdDraw.show(0);

    // repeatedly read in sites to open and draw resulting system
    Percolation perc = new Percolation(N);
    draw(perc, N);
    StdDraw.show(DELAY);
    while (!in.isEmpty()) {
      int i = in.readInt();
      int j = in.readInt();
      perc.open(i, j);
      draw(perc, N);
      StdDraw.show(DELAY);
    }
  }
Пример #12
0
  public static void main(String[] args) {

    In in1 = new In(Inputs.DIGRAPH_SMALL);
    In in2 = new In(Inputs.DIGRAPH_SMALL);
    edu.princeton.cs.algs4.Digraph sedgewicks = new edu.princeton.cs.algs4.Digraph(in1);
    Digraph digraph = new Digraph(in2);
    in1.close();
    in2.close();

    StdOut.printf("Sedgewicks - v: %d, e: %d\n", sedgewicks.V(), sedgewicks.E());
    for (int i = 0; i < sedgewicks.V(); i++) {
      for (int w : sedgewicks.adj(i)) {
        StdOut.printf("%d -> %d\n", i, w);
      }
    }
    StdOut.println();

    StdOut.printf("My - v: %d, e: %d\n", digraph.V(), digraph.E());
    for (int i = 0; i < digraph.V(); i++) {
      for (int w : digraph.adj(i)) {
        StdOut.printf("%d -> %d\n", i, w);
      }
    }
    StdOut.println();

    edu.princeton.cs.algs4.Digraph sedwickDi = sedgewicks.reverse();
    StdOut.printf("Sedgewicks reverse - v: %d, e: %d\n", sedwickDi.V(), sedwickDi.E());
    for (int i = 0; i < sedwickDi.V(); i++) {
      for (int w : sedwickDi.adj(i)) {
        StdOut.printf("%d -> %d\n", i, w);
      }
    }
    StdOut.println();

    Digraph myReverse = digraph.reverse();
    StdOut.printf("My reverse - v: %d, e: %d\n", myReverse.V(), myReverse.E());
    for (int i = 0; i < myReverse.V(); i++) {
      for (int w : myReverse.adj(i)) {
        StdOut.printf("%d -> %d\n", i, w);
      }
    }
  }
Пример #13
0
  /**
   * Ex_4.1.4 Ex_Graph_model 生成函数 使用一个没用的类来表明本图不允许自环
   *
   * @param in 输入流
   * @param isGraphWithoutSelfLoop 只是一个flag区别构造函数,代码中并未使用
   */
  public Ex_Graph_model(In in, boolean isGraphWithoutSelfLoop) {
    this(in.readInt());
    int E = in.readInt();

    try {
      for (int i = 0; i < E; i++) {
        int v = in.readInt();
        int w = in.readInt();

        if (v == w) {
          // 自环
          throw new SelfLoopException();
        }

        addEdgeWithoutParallelEdges(v, w);
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
Пример #14
0
  public static void main(String args[]) throws IOException {

    int[] whitelist = In.readInts(args[0]);
    Arrays.sort(whitelist);
    Counter counter = new Counter("Keys");

    while (!StdIn.isEmpty()) {
      // Liest Schlüssel ein, gibt ihn aus, wenn er nicht in der Positivliste ist.
      int key = StdIn.readInt();
      if (rank(key, whitelist, counter) < 0) StdOut.println(key);
    }
    StdOut.println(counter.toString());
  }
 /**
  * Create a baseball division from given filename in format specified below.
  *
  * @param filename
  */
 public BaseballElimination(String filename) {
   In in = new In(filename);
   int l = in.readInt();
   wins = new int[l];
   loses = new int[l];
   remaining = new int[l];
   games = new int[l][l];
   for (int i = 0; i < l; i++) {
     teams.add(in.readString());
     wins[i] = in.readInt();
     loses[i] = in.readInt();
     remaining[i] = in.readInt();
     for (int j = 0; j < l; j++) {
       games[i][j] = in.readInt();
     }
   }
 }
Пример #16
0
  public static void main(String[] args) {

    String filename = args[0];
    In in = new In(filename);

    StdDraw.show(0);

    // initialize the data structures with N points from standard input
    PointSET brute = new PointSET();
    KdTree kdtree = new KdTree();
    while (!in.isEmpty()) {
      double x = in.readDouble();
      double y = in.readDouble();
      Point2D p = new Point2D(x, y);
      kdtree.insert(p);
      brute.insert(p);
    }

    double x0 = 0.0, y0 = 0.0; // initial endpoint of rectangle
    double x1 = 0.0, y1 = 0.0; // current location of mouse
    boolean isDragging = false; // is the user dragging a rectangle

    // draw the points
    StdDraw.clear();
    StdDraw.setPenColor(StdDraw.BLACK);
    StdDraw.setPenRadius(.01);
    brute.draw();

    while (true) {
      StdDraw.show(40);

      // user starts to drag a rectangle
      if (StdDraw.mousePressed() && !isDragging) {
        x0 = StdDraw.mouseX();
        y0 = StdDraw.mouseY();
        isDragging = true;
        continue;
      }

      // user is dragging a rectangle
      else if (StdDraw.mousePressed() && isDragging) {
        x1 = StdDraw.mouseX();
        y1 = StdDraw.mouseY();
        continue;
      }

      // mouse no longer pressed
      else if (!StdDraw.mousePressed() && isDragging) {
        isDragging = false;
      }

      RectHV rect =
          new RectHV(Math.min(x0, x1), Math.min(y0, y1), Math.max(x0, x1), Math.max(y0, y1));
      // draw the points
      StdDraw.clear();
      StdDraw.setPenColor(StdDraw.BLACK);
      StdDraw.setPenRadius(.01);
      brute.draw();

      // draw the rectangle
      StdDraw.setPenColor(StdDraw.BLACK);
      StdDraw.setPenRadius();
      rect.draw();

      // draw the range search results for brute-force data structure in
      // red
      StdDraw.setPenRadius(.03);
      StdDraw.setPenColor(StdDraw.RED);
      for (Point2D p : brute.range(rect)) p.draw();

      // draw the range search results for kd-tree in blue
      StdDraw.setPenRadius(.02);
      StdDraw.setPenColor(StdDraw.BLUE);
      for (Point2D p : kdtree.range(rect)) p.draw();

      StdDraw.show(40);
    }
  }
Пример #17
-1
  public static void main(String[] args) {
    String input = "C:/Users/gkoontz/workspace/algoAssignments/src/collinear/equidistant.txt";
    // read the N points from a file
    //	    In in = new In(args[0]);
    In in = new In(input);
    int N = in.readInt();
    Point[] points = new Point[N];
    for (int i = 0; i < N; i++) {
      int x = in.readInt();
      int y = in.readInt();
      points[i] = new Point(x, y);
    }

    // draw the points
    StdDraw.show(0);
    StdDraw.setXscale(0, 32768);
    StdDraw.setYscale(0, 32768);
    for (Point p : points) {
      p.draw();
    }
    StdDraw.show();

    // print and draw the line segments
    // BruteCollinearPoints collinear = new BruteCollinearPoints(points);
    FastCollinearPoints collinear = new FastCollinearPoints(points);
    for (LineSegment segment : collinear.segments()) {
      StdOut.println(segment);
      segment.draw();
    }
  }
  public static void main(String[] args) {
    // read the n points from a file
    In in = new In(args[0]);
    int n = in.readInt();
    Point[] points = new Point[n];
    for (int i = 0; i < n; i++) {
      int x = in.readInt();
      int y = in.readInt();
      points[i] = new Point(x, y);
    }

    // draw the points
    StdDraw.enableDoubleBuffering();
    StdDraw.setXscale(0, 32768);
    StdDraw.setYscale(0, 32768);
    for (Point p : points) {
      p.draw();
    }
    StdDraw.show();

    // print and draw the line segments
    FastCollinearPoints collinear = new FastCollinearPoints(points);
    for (LineSegment segment : collinear.segments()) {
      StdOut.println(segment);
      segment.draw();
    }
    StdDraw.show();
  }
Пример #19
-1
  public static void main(String[] args) {

    // read the N points from a file
    args = new String[1];
    args[0] = "test/rs1423.txt";
    In in = new In(args[0]);
    int N = in.readInt();
    Point[] points = new Point[N];
    for (int i = 0; i < N; i++) {
      int x = in.readInt();
      int y = in.readInt();
      points[i] = new Point(x, y);
    }

    // draw the points
    StdDraw.show(0);
    StdDraw.setXscale(0, 32768);
    StdDraw.setYscale(0, 32768);
    for (Point p : points) {
      p.draw();
    }
    StdDraw.show();

    // print and draw the line segments
    FastCollinearPoints collinear = new FastCollinearPoints(points);
    for (LineSegment segment : collinear.segments()) {
      StdOut.println(segment);
      segment.draw();
    }
  }