Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ jobs:
- name: Run C++ Primes test
run: src/cpp/test/Math/Calc/test_primes.sh

- name: Run C++ Comb test
run: src/cpp/test/Math/Combination/test_comb.sh
- name: Run C++ Combination test
run: src/cpp/test/Math/Combination/test_combination.sh

- name: Run C++ ModPow test
run: src/cpp/test/Math/ModPow/test_modpow.sh
Expand Down Expand Up @@ -118,14 +118,14 @@ jobs:
- name: Run Java Primes test
run: src/java/test/Math/Calc/test_primes.sh

- name: Run Java Comb test
run: src/java/test/Math/Combination/test_comb.sh
- name: Run Java Combination test
run: src/java/test/Math/Combination/test_combination.sh

- name: Run Java ModPow test
run: src/java/test/Math/ModPow/test_modpow.sh

- name: Run Java SegTree test
run: src/java/test/Tree/SegmentTree/test_segtree.sh
- name: Run Java SegmentTree test
run: src/java/test/Tree/SegmentTree/test_segmenttree.sh

- name: Run Java UnionFind test
run: src/java/test/Tree/UnionFind/test_unionfind.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#include <bits/stdc++.h>
using namespace std;

struct Comb {
struct Combination {
int n;
long long MOD;
vector<long long> facts;

Comb(int n, long long MOD) : n(n), MOD(MOD), facts(n + 1) {
Combination(int n, long long MOD) : n(n), MOD(MOD), facts(n + 1) {
facts[0] = 1;
for (int i = 1; i < n + 1; i++) {
facts[i] = facts[i - 1] * i % MOD;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SRC="$SCRIPT_DIR/../../../lib/Math/Combination/Comb.cpp"
SRC="$SCRIPT_DIR/../../../lib/Math/Combination/Combination.cpp"
TMPDIR=$(mktemp -d)
BIN="$TMPDIR/test_comb"

Expand All @@ -11,7 +11,7 @@ int main() {
int n;
long long MOD;
cin >> n >> MOD;
Comb comb(n, MOD);
Combination comb(n, MOD);
int q;
cin >> q;
for (int i = 0; i < q; i++) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package Math.Combination;

public class Comb {
public class Combination {
int n; // number of elements
int MOD = (int)1e9+7;
long[] facts;

public Comb(int n, int MOD){
public Combination(int n, int MOD){
this.n = n;
this.MOD = MOD;
facts = new long[n+1];
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
//RMQ (Range Minimum Query)
package Tree.SegmentTree;

public class SegTree {
public class SegmentTree {

int n = 1;
int[] val;

public SegTree(int n) {
public SegmentTree(int n) {
while (this.n < n) this.n *= 2;
val = new int[2*this.n-1];
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SRC="$SCRIPT_DIR/../../../lib/Math/Combination/Comb.java"
SRC="$SCRIPT_DIR/../../../lib/Math/Combination/Combination.java"
TMPDIR=$(mktemp -d)
PKG_DIR="$TMPDIR/Math/Combination"

mkdir -p "$PKG_DIR"
cp "$SRC" "$PKG_DIR/Comb.java"
cp "$SRC" "$PKG_DIR/Combination.java"

cat > "$PKG_DIR/CombTest.java" << 'DRIVER'
cat > "$PKG_DIR/CombinationTest.java" << 'DRIVER'
package Math.Combination;
import java.util.Scanner;

public class CombTest {
public class CombinationTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int MOD = sc.nextInt();
Comb comb = new Comb(n, MOD);
Combination comb = new Combination(n, MOD);
int q = sc.nextInt();
for (int i = 0; i < q; i++) {
String cmd = sc.next();
Expand All @@ -32,14 +32,14 @@ public class CombTest {
}
DRIVER

javac "$PKG_DIR/Comb.java" "$PKG_DIR/CombTest.java" || { echo "COMPILE FAILED"; rm -rf "$TMPDIR"; exit 1; }
javac "$PKG_DIR/Combination.java" "$PKG_DIR/CombinationTest.java" || { echo "COMPILE FAILED"; rm -rf "$TMPDIR"; exit 1; }

pass=0
fail=0

run_test() {
local name="$1" input="$2" expected="$3"
actual=$(echo "$input" | java -cp "$TMPDIR" Math.Combination.CombTest | sed 's/[[:space:]]*$//')
actual=$(echo "$input" | java -cp "$TMPDIR" Math.Combination.CombinationTest | sed 's/[[:space:]]*$//')
expected=$(echo "$expected" | sed 's/[[:space:]]*$//')
if [ "$actual" = "$expected" ]; then
echo "PASS: $name"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
SRC="$SCRIPT_DIR/../../../lib/Tree/SegmentTree/SegTree.java"
SRC="$SCRIPT_DIR/../../../lib/Tree/SegmentTree/SegmentTree.java"
TMPDIR=$(mktemp -d)
PKG_DIR="$TMPDIR/Tree/SegmentTree"

mkdir -p "$PKG_DIR"
cp "$SRC" "$PKG_DIR/SegTree.java"
cp "$SRC" "$PKG_DIR/SegmentTree.java"

cat > "$PKG_DIR/SegTreeTest.java" << 'DRIVER'
cat > "$PKG_DIR/SegmentTreeTest.java" << 'DRIVER'
package Tree.SegmentTree;
import java.util.Scanner;

public class SegTreeTest {
public class SegmentTreeTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int q = sc.nextInt();
SegTree st = new SegTree(n);
SegmentTree st = new SegmentTree(n);
st.init(n);
for (int i = 0; i < q; i++) {
String cmd = sc.next();
Expand All @@ -34,14 +34,14 @@ public class SegTreeTest {
}
DRIVER

javac "$PKG_DIR/SegTree.java" "$PKG_DIR/SegTreeTest.java" || { echo "COMPILE FAILED"; rm -rf "$TMPDIR"; exit 1; }
javac "$PKG_DIR/SegmentTree.java" "$PKG_DIR/SegmentTreeTest.java" || { echo "COMPILE FAILED"; rm -rf "$TMPDIR"; exit 1; }

pass=0
fail=0

run_test() {
local name="$1" input="$2" expected="$3"
actual=$(echo "$input" | java -cp "$TMPDIR" Tree.SegmentTree.SegTreeTest | sed 's/[[:space:]]*$//')
actual=$(echo "$input" | java -cp "$TMPDIR" Tree.SegmentTree.SegmentTreeTest | sed 's/[[:space:]]*$//')
expected=$(echo "$expected" | sed 's/[[:space:]]*$//')
if [ "$actual" = "$expected" ]; then
echo "PASS: $name"
Expand Down