From 91997a76953b5d104fd17bd5570118f12a716980 Mon Sep 17 00:00:00 2001 From: Pandurang Lad Date: Mon, 27 Nov 2023 16:55:58 +0530 Subject: [PATCH 1/4] feat: add cs solution to lc problem: No. 935 --- .../0900-0999/0935.Knight Dialer/Solution.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 solution/0900-0999/0935.Knight Dialer/Solution.cs diff --git a/solution/0900-0999/0935.Knight Dialer/Solution.cs b/solution/0900-0999/0935.Knight Dialer/Solution.cs new file mode 100644 index 0000000000000..729a2f2ae4442 --- /dev/null +++ b/solution/0900-0999/0935.Knight Dialer/Solution.cs @@ -0,0 +1,24 @@ +public class Solution { + public int KnightDialer(int n) { + if (n == 1) return 10; + int A = 4; + int B = 2; + int C = 2; + int D = 1; + int MOD = (int)1e9 + 7; + for (int i = 0; i < n - 1; i++) { + int tempA = A; + int tempB = B; + int tempC = C; + int tempD = D; + A = ((2 * tempB) % MOD + (2 * tempC) % MOD) % MOD; + B = tempA; + C = (tempA + (2 * tempD) % MOD) % MOD; + D = tempC; + } + + int ans = (A + B) % MOD; + ans = (ans + C) % MOD; + return (ans + D) % MOD; + } +} From c354ddd4af01d212b3b82ddc9f765034ae765acf Mon Sep 17 00:00:00 2001 From: Pandurang Lad Date: Mon, 27 Nov 2023 17:00:43 +0530 Subject: [PATCH 2/4] Update README_EN.md for solution to lc problem: No.1630 --- .../0900-0999/0935.Knight Dialer/README_EN.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/solution/0900-0999/0935.Knight Dialer/README_EN.md b/solution/0900-0999/0935.Knight Dialer/README_EN.md index d135772fa89c8..efe0c294269ab 100644 --- a/solution/0900-0999/0935.Knight Dialer/README_EN.md +++ b/solution/0900-0999/0935.Knight Dialer/README_EN.md @@ -176,6 +176,35 @@ func knightDialer(n int) int { } ``` +### **C#** + +```cs +public class Solution { + public int KnightDialer(int n) { + if (n == 1) return 10; + int A = 4; + int B = 2; + int C = 2; + int D = 1; + int MOD = (int)1e9 + 7; + for (int i = 0; i < n - 1; i++) { + int tempA = A; + int tempB = B; + int tempC = C; + int tempD = D; + A = ((2 * tempB) % MOD + (2 * tempC) % MOD) % MOD; + B = tempA; + C = (tempA + (2 * tempD) % MOD) % MOD; + D = tempC; + } + + int ans = (A + B) % MOD; + ans = (ans + C) % MOD; + return (ans + D) % MOD; + } +} +``` + ### **...** ``` From 2dc04dffd48e785a1aff3c69caa331bc2d7a3412 Mon Sep 17 00:00:00 2001 From: dev-mauli Date: Mon, 27 Nov 2023 11:31:32 +0000 Subject: [PATCH 3/4] style: format code and docs with prettier --- solution/0900-0999/0935.Knight Dialer/README_EN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solution/0900-0999/0935.Knight Dialer/README_EN.md b/solution/0900-0999/0935.Knight Dialer/README_EN.md index efe0c294269ab..a7c94eaabe008 100644 --- a/solution/0900-0999/0935.Knight Dialer/README_EN.md +++ b/solution/0900-0999/0935.Knight Dialer/README_EN.md @@ -197,7 +197,7 @@ public class Solution { C = (tempA + (2 * tempD) % MOD) % MOD; D = tempC; } - + int ans = (A + B) % MOD; ans = (ans + C) % MOD; return (ans + D) % MOD; From ad4b749581c2145092bca81850d99950f25734e4 Mon Sep 17 00:00:00 2001 From: Pandurang Lad Date: Mon, 27 Nov 2023 17:02:00 +0530 Subject: [PATCH 4/4] Update README.md to lc problem: No. 935 --- .../0900-0999/0935.Knight Dialer/README.md | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/solution/0900-0999/0935.Knight Dialer/README.md b/solution/0900-0999/0935.Knight Dialer/README.md index 2ff51c8a3288e..80585feab7454 100644 --- a/solution/0900-0999/0935.Knight Dialer/README.md +++ b/solution/0900-0999/0935.Knight Dialer/README.md @@ -195,6 +195,35 @@ func knightDialer(n int) int { } ``` +### **C#** + +```cs +public class Solution { + public int KnightDialer(int n) { + if (n == 1) return 10; + int A = 4; + int B = 2; + int C = 2; + int D = 1; + int MOD = (int)1e9 + 7; + for (int i = 0; i < n - 1; i++) { + int tempA = A; + int tempB = B; + int tempC = C; + int tempD = D; + A = ((2 * tempB) % MOD + (2 * tempC) % MOD) % MOD; + B = tempA; + C = (tempA + (2 * tempD) % MOD) % MOD; + D = tempC; + } + + int ans = (A + B) % MOD; + ans = (ans + C) % MOD; + return (ans + D) % MOD; + } +} +``` + ### **...** ```