From d0908d2323111af25bbe54e606482854136ec5f0 Mon Sep 17 00:00:00 2001 From: shuklaji23 <shuklaayushanand@gmail.com> Date: Tue, 25 Jun 2024 12:09:21 +0530 Subject: [PATCH 1/5] added java and python solution for cf581d --- solutions/bronze/cf-581D.mdx | 144 ++++++++++++++++++++++++++++++++++- 1 file changed, 143 insertions(+), 1 deletion(-) diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx index 7f4ad4badc..974d762c00 100644 --- a/solutions/bronze/cf-581D.mdx +++ b/solutions/bronze/cf-581D.mdx @@ -2,7 +2,7 @@ id: cf-581D source: CF title: Three Logos -author: Chongtian Ma +author: Chongtian Ma, Ayush Shukla --- [Official Editorial](https://codeforces.com/blog/entry/20508) @@ -89,4 +89,146 @@ int main() { ``` </CPPSection> + +<JavaSection> + +```java +import java.io.*; +import java.util.*; + +public class Logos { + public static void main(String[] args) { + Kattio io = new Kattio(); + int logos[] = new int[6]; + for(int i = 0; i < logos.length; i++) { + logos[i] = io.nextInt(); + } + int k; + for(int i = 0; i < logos.length; i += 2) { + if(logos[i] < logos[i+1]){ + k = logos[i]; + logos[i] = logos[i+1]; + logos[i+1] = k; + } + } + if( logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) { + int n = logos[0]; + char c = 'A'; + io.println(n); + k = 0; + for(int j, i = 1; i < 6; i += 2, c++){ + for(j = 0; j < logos[i]; j++){ + for(k = 0; k < n; k++) { + io.print(c); + } + io.println(); + } + } + io.flush(); + io.close(); + return; + } + + int n = Math.max(logos[0], Math.max(logos[2], logos[4])); + int h = -1; + + char let[] = new char[]{'A', 'B', 'C'}; + for(int i = 0; i < 6; i += 2) { + if(logos[i] == n) { + h = logos[i+1]; + char _t = let[2]; + let[2] = let[i/2]; + let[i/2] = _t; + logos[i] = logos[4]; + logos[i+1] = logos[5]; + logos[4] = -1; + logos[5] = -1; + break; + } + } + if(h == -1) { + io.println(-1); + io.flush(); + io.close(); + return; + } + boolean ok=false; + int p =- 1; + if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) { + ok = true; + p = logos[1]; + } else if(logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) { + ok = true; + p = logos[1]; + } else if(logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) { + ok = true; + p = logos[0]; + } else if(logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) { + ok=true; + p=logos[0]; + } + if(!ok) { + io.println(-1); + io.flush(); + io.close(); + return; + } + io.println(n); + k=0; + for(int j = 0; j < h; j++) { + for(k = 0; k < n; k++) { + io.print(let[2]); + } + io.println(); + } + k=0; + for(int j = h; j < n; j++) { + for(k = 0; k < p; k++) { + io.print(let[0]); + } + for(k = p; k < n; k++) { + io.print(let[1]); + } + io.println(); + } + io.flush(); + io.close(); + } + //CodeSnip{Kattio} +} +``` + +</JavaSection> + +<PySection> +```py + +a, b, c, d, e, f = list(map(int, input().split())) +n, n2 = 1, a * b + c * d + e * f +while n ** 2 < n2: + n += 1 +if n ** 2 > n2: + print(-1) + exit() +l = sorted([[max(a, b), min(a, b), 'A'], [max(c, d), min(c, d), 'B'], [max(e, f), min(e, f), 'C']]) +if l[2][0] != n: + print(-1) + exit() +v = str(n) + '\n' + (l[2][2] * n + '\n') * l[2][1] +if l[0][0] == n and l[1][0] == n: + for i in range(2): + v += (l[i][2] * n + '\n') * l[i][1] +else: + s = n - l[2][1] + if s not in l[0] or s not in l[1]: + print(-1) + exit() + logos, y = l[0][1] if l[0][0] == s else l[0][0], l[1][1] if l[1][0] == s else l[1][0] + v += (l[0][2] * logos + l[1][2] * y + '\n') * s +print(v) + +``` + +</PySection> + </LanguageSection> From 45884dd7ed1f46dc751d3e2a356aab00e48d8fb0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 06:45:27 +0000 Subject: [PATCH 2/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- solutions/bronze/cf-581D.mdx | 132 ++++++++++++++++++----------------- 1 file changed, 67 insertions(+), 65 deletions(-) diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx index 974d762c00..a2a3e1d70a 100644 --- a/solutions/bronze/cf-581D.mdx +++ b/solutions/bronze/cf-581D.mdx @@ -100,101 +100,96 @@ public class Logos { public static void main(String[] args) { Kattio io = new Kattio(); int logos[] = new int[6]; - for(int i = 0; i < logos.length; i++) { - logos[i] = io.nextInt(); - } + for (int i = 0; i < logos.length; i++) { logos[i] = io.nextInt(); } int k; - for(int i = 0; i < logos.length; i += 2) { - if(logos[i] < logos[i+1]){ + for (int i = 0; i < logos.length; i += 2) { + if (logos[i] < logos[i + 1]) { k = logos[i]; - logos[i] = logos[i+1]; - logos[i+1] = k; + logos[i] = logos[i + 1]; + logos[i + 1] = k; } - } - if( logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) { + } + if (logos[0] == logos[2] && logos[4] == logos[2] && + (logos[1] + logos[3] + logos[5]) == logos[0]) { int n = logos[0]; char c = 'A'; io.println(n); k = 0; - for(int j, i = 1; i < 6; i += 2, c++){ - for(j = 0; j < logos[i]; j++){ - for(k = 0; k < n; k++) { - io.print(c); - } + for (int j, i = 1; i < 6; i += 2, c++) { + for (j = 0; j < logos[i]; j++) { + for (k = 0; k < n; k++) { io.print(c); } io.println(); } } io.flush(); io.close(); return; - } + } int n = Math.max(logos[0], Math.max(logos[2], logos[4])); int h = -1; - char let[] = new char[]{'A', 'B', 'C'}; - for(int i = 0; i < 6; i += 2) { - if(logos[i] == n) { - h = logos[i+1]; + char let[] = new char[] {'A', 'B', 'C'}; + for (int i = 0; i < 6; i += 2) { + if (logos[i] == n) { + h = logos[i + 1]; char _t = let[2]; - let[2] = let[i/2]; - let[i/2] = _t; + let[2] = let[i / 2]; + let[i / 2] = _t; logos[i] = logos[4]; - logos[i+1] = logos[5]; + logos[i + 1] = logos[5]; logos[4] = -1; logos[5] = -1; break; } } - if(h == -1) { + if (h == -1) { io.println(-1); io.flush(); io.close(); return; } - boolean ok=false; - int p =- 1; - if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) { + boolean ok = false; + int p = -1; + if (logos[0] == logos[2] && logos[0] == n - h && + logos[1] + logos[3] == n) { ok = true; p = logos[1]; - } else if(logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) { + } else if (logos[0] == logos[3] && logos[0] == n - h && + logos[1] + logos[2] == n) { ok = true; p = logos[1]; - } else if(logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) { + } else if (logos[1] == logos[2] && logos[1] == n - h && + logos[0] + logos[3] == n) { + ok = true; + p = logos[0]; + } else if (logos[1] == logos[3] && logos[1] == n - h && + logos[0] + logos[2] == n) { ok = true; p = logos[0]; - } else if(logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) { - ok=true; - p=logos[0]; } - if(!ok) { + if (!ok) { io.println(-1); io.flush(); io.close(); return; } io.println(n); - k=0; - for(int j = 0; j < h; j++) { - for(k = 0; k < n; k++) { - io.print(let[2]); - } + k = 0; + for (int j = 0; j < h; j++) { + for (k = 0; k < n; k++) { io.print(let[2]); } io.println(); } - k=0; - for(int j = h; j < n; j++) { - for(k = 0; k < p; k++) { - io.print(let[0]); - } - for(k = p; k < n; k++) { - io.print(let[1]); - } + k = 0; + for (int j = h; j < n; j++) { + for (k = 0; k < p; k++) { io.print(let[0]); } + for (k = p; k < n; k++) { io.print(let[1]); } io.println(); } io.flush(); io.close(); } - //CodeSnip{Kattio} + // CodeSnip{Kattio} } ``` @@ -202,31 +197,38 @@ public class Logos { <PySection> ```py - a, b, c, d, e, f = list(map(int, input().split())) n, n2 = 1, a * b + c * d + e * f -while n ** 2 < n2: - n += 1 -if n ** 2 > n2: - print(-1) - exit() -l = sorted([[max(a, b), min(a, b), 'A'], [max(c, d), min(c, d), 'B'], [max(e, f), min(e, f), 'C']]) +while n**2 < n2: + n += 1 +if n**2 > n2: + print(-1) + exit() +l = sorted( + [ + [max(a, b), min(a, b), "A"], + [max(c, d), min(c, d), "B"], + [max(e, f), min(e, f), "C"], + ] +) if l[2][0] != n: - print(-1) - exit() -v = str(n) + '\n' + (l[2][2] * n + '\n') * l[2][1] + print(-1) + exit() +v = str(n) + "\n" + (l[2][2] * n + "\n") * l[2][1] if l[0][0] == n and l[1][0] == n: - for i in range(2): - v += (l[i][2] * n + '\n') * l[i][1] + for i in range(2): + v += (l[i][2] * n + "\n") * l[i][1] else: - s = n - l[2][1] - if s not in l[0] or s not in l[1]: - print(-1) - exit() - logos, y = l[0][1] if l[0][0] == s else l[0][0], l[1][1] if l[1][0] == s else l[1][0] - v += (l[0][2] * logos + l[1][2] * y + '\n') * s + s = n - l[2][1] + if s not in l[0] or s not in l[1]: + print(-1) + exit() + logos, y = ( + l[0][1] if l[0][0] == s else l[0][0], + l[1][1] if l[1][0] == s else l[1][0], + ) + v += (l[0][2] * logos + l[1][2] * y + "\n") * s print(v) - ``` </PySection> From 7ee9236b3cf25c014006b60ed9b84c48b78081d0 Mon Sep 17 00:00:00 2001 From: SansPapyrus683 <55369003+SansPapyrus683@users.noreply.github.com> Date: Wed, 26 Jun 2024 00:24:50 -0700 Subject: [PATCH 3/5] Update cf-581D.mdx --- solutions/bronze/cf-581D.mdx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx index a2a3e1d70a..d2775b0904 100644 --- a/solutions/bronze/cf-581D.mdx +++ b/solutions/bronze/cf-581D.mdx @@ -89,7 +89,6 @@ int main() { ``` </CPPSection> - <JavaSection> ```java @@ -194,8 +193,8 @@ public class Logos { ``` </JavaSection> - <PySection> + ```py a, b, c, d, e, f = list(map(int, input().split())) n, n2 = 1, a * b + c * d + e * f @@ -232,5 +231,4 @@ print(v) ``` </PySection> - </LanguageSection> From 50733de3359ddd4657b8bb62ee4b21ec4240fe15 Mon Sep 17 00:00:00 2001 From: shuklaji23 <shuklaayushanand@gmail.com> Date: Fri, 28 Jun 2024 09:44:08 +0530 Subject: [PATCH 4/5] added requested changes --- solutions/bronze/cf-581D.mdx | 42 +++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx index a2a3e1d70a..98494ce89a 100644 --- a/solutions/bronze/cf-581D.mdx +++ b/solutions/bronze/cf-581D.mdx @@ -99,8 +99,10 @@ import java.util.*; public class Logos { public static void main(String[] args) { Kattio io = new Kattio(); - int logos[] = new int[6]; - for (int i = 0; i < logos.length; i++) { logos[i] = io.nextInt(); } + int[] logos = new int[6]; + for (int i = 0; i < logos.length; i++) { + logos[i] = io.nextInt(); + } int k; for (int i = 0; i < logos.length; i += 2) { if (logos[i] < logos[i + 1]) { @@ -109,8 +111,7 @@ public class Logos { logos[i + 1] = k; } } - if (logos[0] == logos[2] && logos[4] == logos[2] && - (logos[1] + logos[3] + logos[5]) == logos[0]) { + if (logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) { int n = logos[0]; char c = 'A'; io.println(n); @@ -121,7 +122,6 @@ public class Logos { io.println(); } } - io.flush(); io.close(); return; } @@ -129,7 +129,7 @@ public class Logos { int n = Math.max(logos[0], Math.max(logos[2], logos[4])); int h = -1; - char let[] = new char[] {'A', 'B', 'C'}; + char[] let = new char[] {'A', 'B', 'C'}; for (int i = 0; i < 6; i += 2) { if (logos[i] == n) { h = logos[i + 1]; @@ -145,48 +145,44 @@ public class Logos { } if (h == -1) { io.println(-1); - io.flush(); io.close(); return; } boolean ok = false; int p = -1; - if (logos[0] == logos[2] && logos[0] == n - h && - logos[1] + logos[3] == n) { + if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) { ok = true; p = logos[1]; - } else if (logos[0] == logos[3] && logos[0] == n - h && - logos[1] + logos[2] == n) { + } else if (logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) { ok = true; p = logos[1]; - } else if (logos[1] == logos[2] && logos[1] == n - h && - logos[0] + logos[3] == n) { + } else if (logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) { ok = true; p = logos[0]; - } else if (logos[1] == logos[3] && logos[1] == n - h && - logos[0] + logos[2] == n) { + } else if (logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) { ok = true; p = logos[0]; } if (!ok) { io.println(-1); - io.flush(); io.close(); return; } io.println(n); k = 0; for (int j = 0; j < h; j++) { - for (k = 0; k < n; k++) { io.print(let[2]); } + for (k = 0; k < n; k++) { + io.print(let[2]); + } io.println(); } + k = 0; for (int j = h; j < n; j++) { for (k = 0; k < p; k++) { io.print(let[0]); } for (k = p; k < n; k++) { io.print(let[1]); } io.println(); } - io.flush(); io.close(); } // CodeSnip{Kattio} @@ -199,11 +195,13 @@ public class Logos { ```py a, b, c, d, e, f = list(map(int, input().split())) n, n2 = 1, a * b + c * d + e * f -while n**2 < n2: +while n * n < n2: n += 1 -if n**2 > n2: + +if n * n > n2: print(-1) exit() + l = sorted( [ [max(a, b), min(a, b), "A"], @@ -211,10 +209,13 @@ l = sorted( [max(e, f), min(e, f), "C"], ] ) + if l[2][0] != n: print(-1) exit() + v = str(n) + "\n" + (l[2][2] * n + "\n") * l[2][1] + if l[0][0] == n and l[1][0] == n: for i in range(2): v += (l[i][2] * n + "\n") * l[i][1] @@ -228,6 +229,7 @@ else: l[1][1] if l[1][0] == s else l[1][0], ) v += (l[0][2] * logos + l[1][2] * y + "\n") * s + print(v) ``` From 63145c78a0bc998f4776175ed166d6f0a2a7fbf6 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 28 Jun 2024 04:18:41 +0000 Subject: [PATCH 5/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- solutions/bronze/cf-581D.mdx | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/solutions/bronze/cf-581D.mdx b/solutions/bronze/cf-581D.mdx index fadd9664af..eb001ec992 100644 --- a/solutions/bronze/cf-581D.mdx +++ b/solutions/bronze/cf-581D.mdx @@ -99,9 +99,7 @@ public class Logos { public static void main(String[] args) { Kattio io = new Kattio(); int[] logos = new int[6]; - for (int i = 0; i < logos.length; i++) { - logos[i] = io.nextInt(); - } + for (int i = 0; i < logos.length; i++) { logos[i] = io.nextInt(); } int k; for (int i = 0; i < logos.length; i += 2) { if (logos[i] < logos[i + 1]) { @@ -110,7 +108,8 @@ public class Logos { logos[i + 1] = k; } } - if (logos[0] == logos[2] && logos[4] == logos[2] && (logos[1] + logos[3] + logos[5]) == logos[0]) { + if (logos[0] == logos[2] && logos[4] == logos[2] && + (logos[1] + logos[3] + logos[5]) == logos[0]) { int n = logos[0]; char c = 'A'; io.println(n); @@ -149,16 +148,20 @@ public class Logos { } boolean ok = false; int p = -1; - if (logos[0] == logos[2] && logos[0] == n - h && logos[1] + logos[3] == n) { + if (logos[0] == logos[2] && logos[0] == n - h && + logos[1] + logos[3] == n) { ok = true; p = logos[1]; - } else if (logos[0] == logos[3] && logos[0] == n - h && logos[1] + logos[2] == n) { + } else if (logos[0] == logos[3] && logos[0] == n - h && + logos[1] + logos[2] == n) { ok = true; p = logos[1]; - } else if (logos[1] == logos[2] && logos[1] == n - h && logos[0] + logos[3] == n) { + } else if (logos[1] == logos[2] && logos[1] == n - h && + logos[0] + logos[3] == n) { ok = true; p = logos[0]; - } else if (logos[1] == logos[3] && logos[1] == n - h && logos[0] + logos[2] == n) { + } else if (logos[1] == logos[3] && logos[1] == n - h && + logos[0] + logos[2] == n) { ok = true; p = logos[0]; } @@ -170,12 +173,10 @@ public class Logos { io.println(n); k = 0; for (int j = 0; j < h; j++) { - for (k = 0; k < n; k++) { - io.print(let[2]); - } + for (k = 0; k < n; k++) { io.print(let[2]); } io.println(); } - + k = 0; for (int j = h; j < n; j++) { for (k = 0; k < p; k++) { io.print(let[0]); }