{"id":29164057,"url":"https://github.com/kamyu104/googlekickstart-2022","last_synced_at":"2025-07-01T06:39:52.000Z","repository":{"id":44353313,"uuid":"471913436","full_name":"kamyu104/GoogleKickStart-2022","owner":"kamyu104","description":"🏃 Python3 Solutions of All 32 Problems in GKS 2022","archived":false,"fork":false,"pushed_at":"2023-04-17T04:52:19.000Z","size":109,"stargazers_count":43,"open_issues_count":0,"forks_count":15,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-04-12T00:58:50.844Z","etag":null,"topics":["algorithm","competitive-programming","contest-programming","google-kick-start","google-kickstart","google-kickstart-2022","kickstart","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kamyu104.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-20T07:51:50.000Z","updated_at":"2024-01-21T22:16:37.000Z","dependencies_parsed_at":"2022-08-29T21:42:20.587Z","dependency_job_id":null,"html_url":"https://github.com/kamyu104/GoogleKickStart-2022","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kamyu104/GoogleKickStart-2022","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamyu104%2FGoogleKickStart-2022","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamyu104%2FGoogleKickStart-2022/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamyu104%2FGoogleKickStart-2022/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamyu104%2FGoogleKickStart-2022/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamyu104","download_url":"https://codeload.github.com/kamyu104/GoogleKickStart-2022/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamyu104%2FGoogleKickStart-2022/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262915662,"owners_count":23383847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","competitive-programming","contest-programming","google-kick-start","google-kickstart","google-kickstart-2022","kickstart","python3"],"created_at":"2025-07-01T06:39:42.881Z","updated_at":"2025-07-01T06:39:51.964Z","avatar_url":"https://github.com/kamyu104.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [GoogleKickStart 2022](https://codingcompetitions.withgoogle.com/kickstart/archive/2022) ![Language](https://img.shields.io/badge/language-Python3-orange.svg) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) ![Progress](https://img.shields.io/badge/progress-32%20%2F%2032-ff69b4.svg) ![Visitors](https://visitor-badge.laobi.icu/badge?page_id=kamyu104.googlekickstart.2022)\n\n* Python3 solutions of Google Kick Start 2022. Solution begins with `*` means it will get TLE in the largest data set.\n* Total computation amount \u003e `10^8` is not friendly for Python3 to solve in 5 ~ 15 seconds.\n* A problem was marked as `Very Hard` means that it was an unsolved one during the contest and may not be that difficult.\n\n## Rounds\n\n* [Kick Start 2021](https://github.com/kamyu104/GoogleKickStart-2021)\n* [Round A](https://github.com/kamyu104/GoogleKickStart-2022#round-a)\n* [Round B](https://github.com/kamyu104/GoogleKickStart-2022#round-b)\n* [Round C](https://github.com/kamyu104/GoogleKickStart-2022#round-c)\n* [Round D](https://github.com/kamyu104/GoogleKickStart-2022#round-d)\n* [Round E](https://github.com/kamyu104/GoogleKickStart-2022#round-e)\n* [Round F](https://github.com/kamyu104/GoogleKickStart-2022#round-f)\n* [Round G](https://github.com/kamyu104/GoogleKickStart-2022#round-g)\n* [Round H](https://github.com/kamyu104/GoogleKickStart-2022#round-g)\n* [Code Jam Farewell Rounds](https://github.com/kamyu104/GoogleCodeJam-Farewell-Rounds)\n\n## Round A\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [Speed Typing](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb33e/00000000009e7021)| [Python3](./Round%20A/speed_typing.py3)| _O(\\|P\\|)_ | _O(1)_ | Easy | | String |\n|B| [Challenge Nine](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb33e/00000000009e7997)| [Python3](./Round%20A/challenge_nine.py3) | _O(logN)_ | _O(logN)_ | Easy | | Math, Greedy |\n|C| [Palindrome Free Strings](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb33e/00000000009e762e)| [Python3](./Round%20A/palindrome_free_strings.py3) [Python3](./Round%20A/palindrome_free_strings2.py3) | _O(N)_ | _O(1)_ | Medium | | Backtracking, DP |\n|D| [Interesting Integers](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb33e/00000000009e73ea)| [Python3](./Round%20A/interesting_integers.py3) [Python3](./Round%20A/interesting_integers2.py3) | precompute: _O(2835 * log(MAX_B)^2)_\u003cbr\u003eruntime: _O(9 * (logB)^2)_ | _O(2835 * log(MAX_B)^2)_ | Hard | | Counting, Memoization |\n\n## Round B\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [Infinity Area](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caa74/0000000000acf079)| [Python3](./Round%20B/infinity_area.py3)| _O(logR)_ | _O(1)_ | Easy | | Math |\n|B| [Palindromic Factors](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caa74/0000000000acee89)| [Python3](./Round%20B/palindromic_factors.py3) | _O(sqrt(A) * logA)_ | _O(1)_ | Easy | | Math, String |\n|C| [Unlock the Padlock](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caa74/0000000000acef55)| [Python3](./Round%20B/unlock_the_padlock.py3) | _O(N^2)_ | _O(N^2)_ | Medium | | Memoization |\n|D| [Hamiltonian Tour](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caa74/0000000000acf318)| [Python3](./Round%20B/hamiltonian_tour.py3) [PyPy3](./Round%20B/hamiltonian_tour2.py3) [Python3](./Round%20B/hamiltonian_tour3.py3) | _O(R * C)_ | _O(R * C)_ | Hard | | DFS, Constructive Algorithms, BFS, Spanning Tree, Wall Follower |\n\n## Round C\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [New Password](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb4d1/0000000000b20f15)| [Python3](./Round%20C/new_password.py3)| _O(N)_ | _O(1)_ | Easy | | String |\n|B| [Range Partition](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb4d1/0000000000b20deb)| [Python3](./Round%20C/range_partition.py3) | _O(N)_ | _O(1)_ | Easy | | Math, Greedy |\n|C| [Ants on a Stick](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb4d1/0000000000b209bc)| [Python3](./Round%20C/ants_on_a_stick.py3) [Python3](./Round%20C/ants_on_a_stick2.py3) | _O(NlogN)_ | _O(N)_ | Medium | | Sort, Deque |\n|D| [Palindromic Deletions](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb4d1/0000000000b20d16)| [PyPy3](./Round%20C/palindromic_deletions.py3) | _O(N^3)_ | _O(N^2)_ | Hard | | Math, Expected Value, Combinatorics, DP, Inclusion-Exclusion Principle |\n\n## Round D\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [Image Labeler](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caea6/0000000000b76e11)| [Python3](./Round%20D/image_labeler.py3) [Python3](./Round%20D/image_labeler2.py3) | _O(N)_ on average | _O(1)_ | Easy | | Greedy, Sort, Quick Select |\n|B| [Maximum Gain](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caea6/0000000000b76fae)| [PyPy3](./Round%20D/maximum_gain.py3) [PyPy3](./Round%20D/maximum_gain2.py3) | _O(K^2 + N + M)_ | _O(1)_ | Easy | | Prefix Sum, Sliding Window, Brute Force |\n|C| [Touchbar Typing](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caea6/0000000000b76f44)| [PyPy3](./Round%20D/touchbar_typing.py3) | _O(N * M)_ | _O(N * M)_ | Medium | | Greedy, DP |\n|D| [Suspects and Witnesses](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008caea6/0000000000b76db9)| [PyPy3](./Round%20D/suspects_and_witnesses.py3) | _O(N * K)_ | _O(K)_ | Hard | | Logic-Based, Graph, BFS |\n\n## Round E\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [Coloring Game](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb0f5/0000000000ba856a)| [Python3](./Round%20E/coloring_game.py3) | _O(1)_ | _O(1)_ | Easy | | Greedy, Math |\n|B| [Students and Mentors](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb0f5/0000000000ba84ae)| [Python3](./Round%20E/students_and_mentors.py3) [Python3](./Round%20E/students_and_mentors2.py3) | _O(NlogN)_ | _O(N)_ | Easy | | Sort, Binary Search, Two Pointers |\n|C| [Matching Palindrome](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb0f5/0000000000ba82c5)| [Python3](./Round%20E/matching_palindrome.py3) [Python3](./Round%20E/matching_palindrome2.py3) [Python3](./Round%20E/matching_palindrome3.py3) | _O(N)_ | _O(N)_ | Medium | | Brute Force, Manacher's Algorithm, KMP Algorithm |\n|D| [Pizza Delivery](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb0f5/0000000000ba86e6)| [Python3](./Round%20E/pizza_delivery.py3) | _O(M * N^2 * 2^P)_ | _O(N^2 * 2^P)_ | Hard | | BFS, DP |\n\n## Round F\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [Sort the Fabrics](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb409/0000000000beefbb)| [Python3](./Round%20F/sort_the_fabrics.py3) | _O(MAX_C * NlogN)_ | _O(MAX_C * N)_ | Easy | | Sort |\n|B| [Water Container System](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb409/0000000000bef79e)| [Python3](./Round%20F/water_container_system.py3) | _O(N)_ | _O(N)_ | Easy | | BFS |\n|C| [Story of Seasons](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb409/0000000000bef319)| [Python3](./Round%20F/story_of_seasons.py3) [Python3](./Round%20F/story_of_seasons2.py3) | _O(NlogN)_ | _O(N)_ | Medium | | Greedy, Heap |\n|D| [Scheduling a Meeting](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb409/0000000000bef943)| [Python3](./Round%20F/scheduling_a_meeting.py3) | _O(D + N + M)_ | _O(D + N + M)_ | Hard | | Line Sweep, Greedy |\n\n## Round G\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [Walktober](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb2e1/0000000000c174f2)| [Python3](./Round%20G/walktober.py3) | _O(M * N)_ | _O(N)_ | Easy | | Array |\n|B| [Curling](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb2e1/0000000000c17c82)| [Python3](./Round%20G/curling.py3) | _O(N + M)_ | _O(N + M)_ | Easy | | Array |\n|C| [Happy Subarrays](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb2e1/0000000000c17491)| [Python3](./Round%20G/happy_subarrays.py3) [Python3](./Round%20G/happy_subarrays2.py3) | _O(N)_ | _O(N)_ | Medium | | Prefix Sum, Mono Stack |\n|D| [Cute Little Butterfly](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb2e1/0000000000c17b68)| [PyPy3](./Round%20G/cute_little_butterfly.py3) [Python3](./Round%20G/cute_little_butterfly2.py3) | _O(NlogN)_ | _O(N)_ | Hard | | DP, Segment Tree, Coordinate Compression, Sorted List |\n\n## Round H\n| # | Title | Solution | Time | Space | Difficulty | Tag | Note |\n|---| ----- | -------- | ---- | ----- | ---------- | --- | ---- |\n|A| [Running in Circles](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb1b6/0000000000c4766e)| [Python3](./Round%20H/running_in_cycles.py3) | _O(N)_ | _O(1)_ | Easy | | Simulation, Math |\n|B| [Magical Well Of Lilies](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb1b6/0000000000c47e79)| [Python3](./Round%20H/magical_well_of_lilies.py3) | _O(MAX_L * log(MAX_L))_ | _O(MAX_L)_ | Medium | | DP |\n|C| [Eelectricity](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb1b6/0000000000c47c8e)| [Python3](./Round%20H/electricity.py3) [Python3](./Round%20H/electricity2.py3) [Python3](./Round%20H/electricity3.py3) | _O(N)_ | _O(N)_ | Medium | | Tree DP, Topological Sort, BFS, DFS |\n|D| [Level Design](https://codingcompetitions.withgoogle.com/kickstart/round/00000000008cb1b6/0000000000c47792)| [PyPy3](./Round%20H/level_design.py3) | _O(N * sqrt(N))_ | _O(N)_ | Hard | | DP, Greedy, Mono Deque |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamyu104%2Fgooglekickstart-2022","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkamyu104%2Fgooglekickstart-2022","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamyu104%2Fgooglekickstart-2022/lists"}