This repository has practice and competition results from TopCoder and CodeForces algorithm competitions.
Solutions - archived problems from topcoder and codeforces
Floyd-Warshall algorithm solution - An interesting problem using the Floyd-Warshall algorithm which is a dynamic programming algorithm used for finding shortest paths in a weighted graph with positive or negative edges (but with no negative cycles). It does this by incrementally improving an estimate on the shortest path between two vertices, until the estimate is optimal.
ACM-ICPC-Regional - The ACM-ICPC-Regional's competition was a lot of fun. It lasts 5 hours and allows the user to select which problems to solve from a list. The problems shown here include time simulation, robot traversal of a 2-d table, string recognition and parsing, and rules based scheduling and maximization.
Here is a recursive directory listing of the project that was generated using the unix tree command.
├── archive
│ ├── CodeForces
│ │ ├── ACM-ICPC-Regional
│ │ │ ├── Boulevard.java
│ │ │ ├── CleanerRobot.java
│ │ │ ├── EmailAliases.java
│ │ │ ├── GourmetBanquet.java
│ │ │ └── Lottery.java
│ │ ├── CFR328DIV2
│ │ │ ├── CFR328x2xAxPawnChess.java
│ │ │ └── CFR592x2xBxMonsterSquirrel.java
│ │ ├── CFR334DIV2
│ │ │ ├── MoreCowbell.java
│ │ │ └── UncowedForces.java
│ │ ├── CFR602DIV2
│ │ │ ├── ApproxConstantRange.java
│ │ │ ├── CompareDifferentBases.java
│ │ │ └── TheTwoRoutes.java
│ │ └── ECR1
│ │ └── TrickySum.java
│ └── TopCoder
│ ├── Other
│ │ ├── SRM144x2x2xBinaryCode.java
│ │ ├── SRM181x1x3xKiloManX.java
│ │ ├── SRM211x1x2xgrafixMask.java
│ │ ├── SRM352x2x2x500xNumberofFiboCalls.java
│ │ ├── SRM564x2x500xAlternateColors.java
│ │ ├── SRM609x2x250xMagicalString.java
│ │ ├── SRM610x2x250xDivideByZero.java
│ │ ├── SRM611x2x250xInterestingNumber.java
│ │ ├── SRM616x2x250xWakingUpEasy.java
│ │ ├── SRM616x2x600xColorfulCoinsEasy.java
│ │ ├── SRM617x2x250xSilverbachConjecture.java
│ │ ├── SRM617x2x500xSlimeXSlimonadeTycoon.java
│ │ ├── SRM663x2x250xChessFloor.java
│ │ ├── SRM663x2x500xABBA.java
│ │ ├── SRM664x1x250xBearPlays.java
│ │ ├── SRM664x2x500xBearPlaysDiv2.java
│ │ ├── SRM665x2x1xLuckyXor.java
│ │ ├── SRM666x2x440xGoodString.java
│ │ ├── SRM667x2x1x250xPointDistance.java
│ │ ├── SRM667x2x500xOrderOfOperationsDiv2.java
│ │ ├── SRM668x1x450xWalkingToSchool.java
│ │ ├── SRM668x2x600xIsItASquare.java
│ │ ├── SRM670x2x1xCdgame.java
│ │ ├── SRM670x2x2xDrbalance.java
│ │ ├── TCCC03x1x1xCircuits.java
│ │ ├── TCCC03x1x2xMarketing.java
│ │ ├── TCCC04OR4x1x250xBadNeighbors.java
│ │ ├── TCI02x1x2xEscape.java
│ │ ├── TCO14x1x1x200xEllysPairs.java
│ │ ├── TCO14x1x1x450xFizzBuzzTurbo.java
│ │ └── TCO14x1x1x600xWolvesAndSheep.java
│ ├── SRM655DIV2 ── src ── BichromeBoard.java
│ ├── SRM656DIV2 ── src ── CorruptedMessage.java
│ ├── SRM657DIV2 ── src ── EightRooks.java
│ ├── SRM658DIV2 ── src ── InfiniteString.java
│ ├── SRM659DIV2 ── src ── FilipTheFrog.java
│ ├── SRM660DIV2 ── src ── Cyclemin.java
│ ├── SRM661DIV2 ── src
│ │ ├── BridgeBuildingDiv2.java
│ │ └── FallingSand.java
│ ├── SRM662DIV2 ── src
│ │ ├── ExactTreeEasy.java
│ │ └── Hexspeak.java
│ ├── SRM669DIV2 ── src
│ │ ├── CombiningSlimes.java
│ │ └── LineMSTDiv2.java
│ ├── SRM671DIV2 ── src
│ │ ├── BearDartsDiv2.java
│ │ └── BearPaints.java
│ ├── SRM672DIV2 ── src
│ │ ├── SetPartialOrder.java
│ │ └── SubstitutionCipher.java
│ └── SRM673DIV2 ── src
│ ├── BearPermutations2.java
│ ├── BearSlowlySorts.java
│ └── BearSong.java