{"id":19149031,"url":"https://github.com/yas-siin/robotrootfounder","last_synced_at":"2025-10-18T20:27:46.306Z","repository":{"id":217857288,"uuid":"734526502","full_name":"YAS-SIIN/RobotRootFounder","owner":"YAS-SIIN","description":"RobotRootFounder","archived":false,"fork":false,"pushed_at":"2024-10-20T15:28:42.000Z","size":109,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-19T18:31:26.442Z","etag":null,"topics":["csharp","robot"],"latest_commit_sha":null,"homepage":"","language":"C#","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/YAS-SIIN.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-12-21T23:10:03.000Z","updated_at":"2024-10-29T10:16:42.000Z","dependencies_parsed_at":"2025-04-19T15:50:37.846Z","dependency_job_id":"c58949de-dddc-4572-83d6-eefa45394e15","html_url":"https://github.com/YAS-SIIN/RobotRootFounder","commit_stats":null,"previous_names":["yas-siin/nficodeassignment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAS-SIIN%2FRobotRootFounder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAS-SIIN%2FRobotRootFounder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAS-SIIN%2FRobotRootFounder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YAS-SIIN%2FRobotRootFounder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YAS-SIIN","download_url":"https://codeload.github.com/YAS-SIIN/RobotRootFounder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252812042,"owners_count":21808067,"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":["csharp","robot"],"created_at":"2024-11-09T08:06:07.424Z","updated_at":"2025-10-18T20:27:46.225Z","avatar_url":"https://github.com/YAS-SIIN.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\nThis application implements a validation program that checks whether a schedule is valid. A\nschedule contains the following data:\n\n1. A set of 1 or more robots. Each robot has an origin point, which is an (x, y) coordinate.\n2. A set of 1 or more time steps. In each time step, each of the robots will visit a specific (x, y) position.\n\nFor example, a schedule with 3 robots and 2 time steps could look as follows:\n\n\n# The number of robots\n3\n# The number of time steps\n2\n# The robots and their (x, y) origins. Format:\n```\n[robot ID], [origin X], [origin Y]\n\nA, 0, 0\nB, 10, 0\nC, 0, 10\n```\n\nThe assigned position in each time step. Format:\n\n```\n[time step #], [robot ID], [visited position X], [visited position Y]\n\n0, A, 1, 2\n1, A, 1, 1\n0, B, 4, 6\n1, B, 4, 7\n0, C, 1, 6\n1, C, 6, 6\n```\nA schedule is valid if there are no collision between any of the robots for all time steps. A collision is defined\nas follows:\n\nEach robot occupies a rectangular area. The origin of the robot and the point that is being visited by the robot are the two corners of this rectangle.\n\nWhen the occupied areas of two robots overlap or touch in an edge or point, then there is a collision.\n\nSee (Tip 1) for a formula that you can use to determine whether two rectangles overlap or touch.\n\n# Requirements\n\nThe goal of this application is to implement a validation program, that checks whether a given schedule is\nvalid. Read through the provided code and test cases before starting. The provided test cases will check if\nyour code functions correctly. We will also manually check whether the code you submit is well written. Make\nsure your code is of high quality and easy to understand!\n1. The input will always be valid, you do NOT have to implement any input validation. You can assume that\nthe following statements hold:\nThere will always be at least 1 robot and at least 1 time step.\nEvery robot will have a unique ID.\nThe ID of a robot will never contain a comma.\nFor every time step, every robot will visit exactly 1 position.\nThere is no redundant whitespace. A comma is always followed by exactly 1 space.\nEmpty lines and lines with comments should be removed. There is already a function in the class\nRobotScheduleValidationService that does this for you.\n2. You may not make changes to the file Program.cs\n3. You may not change any of the provided test cases.\n4. All provided test cases should pass.\n5. Focus on creating code that is easy to understand, easy to test and easy to extend.\n6. Create good abstractions for storing the parsed data.\n7. Write code that others can easily understand!\n# Tips\nTo determine whether two rectangles overlap, you can use the following formula (you are also free to google a solution, or come up with a different formula by yourself):\n```\nGiven rectangles A and B\nThe rectangles overlap, or touch on an edge/in a point, iff all of the following\nexpression holds:\nA.Left \u003c= B.Right\n\u0026\u0026 A.Right \u003e= B.Left\n\u0026\u0026 A.Top \u003e= B.Bottom\n\u0026\u0026 A.Bottom \u003c= B.Top\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyas-siin%2Frobotrootfounder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyas-siin%2Frobotrootfounder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyas-siin%2Frobotrootfounder/lists"}