);
};
-export default AssistedNimGamePage;
\ No newline at end of file
+export default AssistedNimGamePage;
\ No newline at end of file
diff --git a/src/pages/BagchalGamePage.tsx b/src/pages/BagchalGamePage.tsx
index 2e1ff48..3d65664 100644
--- a/src/pages/BagchalGamePage.tsx
+++ b/src/pages/BagchalGamePage.tsx
@@ -1,13 +1,12 @@
-import Layout from "@/components/Layout";
import BagchalGame from "@/components/BagchalGame";
const BagchalGamePage = () => {
return (
-
+
);
};
-export default DominoRetilingPuzzlePage;
\ No newline at end of file
+export default DominoRetilingPuzzlePage;
diff --git a/src/pages/ErdosDiscrepancyPuzzlePage.tsx b/src/pages/ErdosDiscrepancyPuzzlePage.tsx
index cb323f8..2578ef0 100644
--- a/src/pages/ErdosDiscrepancyPuzzlePage.tsx
+++ b/src/pages/ErdosDiscrepancyPuzzlePage.tsx
@@ -1,15 +1,12 @@
-import Layout from "@/components/Layout";
import ErdosDiscrepancyPuzzle from "@/components/ErdosDiscrepancyPuzzle";
const ErdosDiscrepancyPuzzlePage = () => {
return (
-
-
-
-
-
+
+
+
-
+
);
};
diff --git a/src/pages/EternalDominationGamePage.tsx b/src/pages/EternalDominationGamePage.tsx
index bd81bb9..54506fe 100644
--- a/src/pages/EternalDominationGamePage.tsx
+++ b/src/pages/EternalDominationGamePage.tsx
@@ -1,87 +1,12 @@
-import Layout from "@/components/Layout";
import EternalDominationGame from "@/components/EternalDominationGame";
-import SocialShare from "@/components/SocialShare";
-import { Badge } from "@/components/ui/badge";
-import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion";
const EternalDominationGamePage = () => {
return (
-
-
-
-
- Miscellany
-
Eternal Domination on a Grid
-
- Explore the m-eternal domination problem on a 12×10 grid. Guards must maintain
- a dominating set while defending against arbitrary attack sequences.
-
-
-
-
-
-
-
- Mathematical Background
-
-
- Dominating Set: A subset S of vertices in a graph G such that
- every vertex not in S has a neighbor in S. Think of guards placed at certain
- vertices that can "watch" their neighbors.
-
-
- m-Eternal Domination: A two-player game where the defender
- places guards on vertices, and the attacker repeatedly attacks unguarded vertices.
- The defender responds by moving guards (all can move simultaneously, but only to
- adjacent vertices) such that one guard ends on the attacked vertex and the guards
- still form a dominating set.
-
-
- The Challenge: The defender wins if they can maintain a dominating
- set forever against any attack sequence. The m-eternal domination number γ∞(G) is
- the minimum number of guards needed to win.
-
-
-
-
-
- Defense Strategy
-
-
- This implementation uses the strategy from research on finite grids:
-
-
-
Border guards: All vertices on the border (rows 0, 1, 8, 9 and
- columns 0, 11) are always guarded, forming a protective cycle C.
-
Interior guards: Placed in a pattern that ensures every interior
- vertex is dominated by exactly one guard.
-
Defense mechanism: When attacked, interior guards shift toward
- the attack, potentially pushing a guard to the border. Border guards shift along
- "complementary paths" to fill the resulting gaps.
-
-
-
-
-
- Reference
-
-
- Based on: "m-Eternal Domination and Variants on Some Classes of Finite and
- Infinite Graphs" by Calamoneri et al. (CIAC 2025), which establishes bounds
- and strategies for eternal domination on various grid types including square,
- hexagonal, and triangular grids.
-
-
-
-
-
-
-
+
+
+
-
+
);
};
diff --git a/src/pages/FerrersRogersRamanujanPage.tsx b/src/pages/FerrersRogersRamanujanPage.tsx
index c343f8e..35253d1 100644
--- a/src/pages/FerrersRogersRamanujanPage.tsx
+++ b/src/pages/FerrersRogersRamanujanPage.tsx
@@ -1,27 +1,12 @@
-import Layout from "@/components/Layout";
import FerrersRogersRamanujan from "@/components/FerrersRogersRamanujan";
-import SocialShare from "@/components/SocialShare";
const FerrersRogersRamanujanPage = () => {
return (
-
-
-
-
Ferrers Diagram & Rogers-Ramanujan Partition
-
- Explore integer partitions through visual Ferrers diagrams and discover the elegant Rogers-Ramanujan transformation.
-
- Practice applying resolution and equivalence rules to derive conclusions step by step.
-
-
-
-
-
-
+
+
+
);
};
-export default RulesOfInferencePlaygroundPage;
\ No newline at end of file
+export default RulesOfInferencePlaygroundPage;
diff --git a/src/pages/StackingBlocksPage.tsx b/src/pages/StackingBlocksPage.tsx
index 7239dfc..ccb4f78 100644
--- a/src/pages/StackingBlocksPage.tsx
+++ b/src/pages/StackingBlocksPage.tsx
@@ -1,29 +1,13 @@
import StackingBlocks from "@/components/StackingBlocks";
-import { useSearchParams } from "react-router-dom";
const StackingBlocksPage = () => {
- const [searchParams] = useSearchParams();
- const from = searchParams.get('from');
-
- if (from === 'puzzles') {
- return (
-
-
-
-
-
-
-
+ return (
+
+
+
- );
- }
-
- return ;
+
+ );
};
-export default StackingBlocksPage;
\ No newline at end of file
+export default StackingBlocksPage;
diff --git a/src/pages/SubtractionGamePage.tsx b/src/pages/SubtractionGamePage.tsx
index 302ca9c..75c3d78 100644
--- a/src/pages/SubtractionGamePage.tsx
+++ b/src/pages/SubtractionGamePage.tsx
@@ -1,7 +1,13 @@
import SubtractionGame from '@/components/SubtractionGame';
const SubtractionGamePage = () => {
- return ;
+ return (
+
+
+
+
+
+ );
};
-export default SubtractionGamePage;
\ No newline at end of file
+export default SubtractionGamePage;
diff --git a/src/pages/TernaryNumberGamePage.tsx b/src/pages/TernaryNumberGamePage.tsx
index 79ba882..a85620d 100644
--- a/src/pages/TernaryNumberGamePage.tsx
+++ b/src/pages/TernaryNumberGamePage.tsx
@@ -2,12 +2,12 @@ import TernaryNumberGame from '@/components/TernaryNumberGame';
const TernaryNumberGamePage = () => {
return (
-
-
-
+
+
+
);
};
-export default TernaryNumberGamePage;
\ No newline at end of file
+export default TernaryNumberGamePage;
diff --git a/src/pages/ZeckendorfGamePage.tsx b/src/pages/ZeckendorfGamePage.tsx
index 130ecfa..c585236 100644
--- a/src/pages/ZeckendorfGamePage.tsx
+++ b/src/pages/ZeckendorfGamePage.tsx
@@ -2,12 +2,12 @@ import ZeckendorfGame from '@/components/ZeckendorfGame';
const ZeckendorfGamePage = () => {
return (
-
-
-
+
+
+
);
};
-export default ZeckendorfGamePage;
\ No newline at end of file
+export default ZeckendorfGamePage;
\ No newline at end of file
diff --git a/src/pages/ZeckendorfSearchTrickPage.tsx b/src/pages/ZeckendorfSearchTrickPage.tsx
index 59e977f..f5cc437 100644
--- a/src/pages/ZeckendorfSearchTrickPage.tsx
+++ b/src/pages/ZeckendorfSearchTrickPage.tsx
@@ -2,12 +2,12 @@ import ZeckendorfSearchTrick from '@/components/ZeckendorfSearchTrick';
const ZeckendorfSearchTrickPage = () => {
return (
-
-
-
+
+
+
);
};
-export default ZeckendorfSearchTrickPage;
\ No newline at end of file
+export default ZeckendorfSearchTrickPage;
\ No newline at end of file
diff --git a/src/pages/theme-pages/discrete-math/Foundations.tsx b/src/pages/theme-pages/discrete-math/Foundations.tsx
index c4eba6c..c8eec1b 100644
--- a/src/pages/theme-pages/discrete-math/Foundations.tsx
+++ b/src/pages/theme-pages/discrete-math/Foundations.tsx
@@ -3,7 +3,6 @@ import { Link } from "react-router-dom";
import { Search } from "lucide-react";
import Layout from "@/components/Layout";
import InteractiveCard from "@/components/InteractiveCard";
-import SocialShare from "@/components/SocialShare";
import BinaryNumberGame from "@/components/BinaryNumberGame";
import TernaryNumberGame from "@/components/TernaryNumberGame";
import BalancedTernaryGame from "@/components/BalancedTernaryGame";
@@ -80,12 +79,6 @@ const Foundations = () => {