From c70f4d8d01aeace22295582880c2715edfd686b6 Mon Sep 17 00:00:00 2001 From: marioyc Date: Fri, 24 Sep 2010 11:19:09 -0500 Subject: [PATCH] Todo lo que faltaba --- Live Archive/2038 - Strategic Game.cpp | 156 + Live Archive/2044 - Courses.cpp | 63 + Live Archive/2052 - Number Steps.cpp | 25 + Live Archive/2190 - Being Late.cpp | 24 + Live Archive/2247 - Prime Digital Root.cpp | 52 + Live Archive/2248 - Desert Bitmap.cpp | 55 + Live Archive/2389 - Palindrom Numbers.cpp | 55 + Live Archive/2437 - Pattern Finder.cpp | 79 + Live Archive/3131 - SETI.cpp | 97 + Live Archive/3170 - AGTC.cpp | 24 + Live Archive/3171 - Oreon.cpp | 83 + Live Archive/3173 - Wordfish.cpp | 56 + Live Archive/3381 - Connect.cpp | 131 + Live Archive/3397 - Leapin' Lizards.cpp | 132 + Live Archive/3468 - Tornado.cpp | 47 + Live Archive/3470 - Pascal Library.cpp | 33 + Live Archive/3473 - Where Are My Genes.cpp | 46 + Live Archive/3475 - P-Networks.cpp | 52 + .../3542 - It's All About Three/3542.cpp | 38 + .../3542 - It's All About Three/3542.exe | Bin 0 -> 476225 bytes .../3542 - It's All About Three/in.txt | 14 + .../3542 - It's All About Three/out.txt | 13 + Live Archive/3652 - Lazy Jumping Frog.cpp | 113 + Live Archive/3830 - John.cpp | 32 + .../3837 - The Stable Marriage Problem.cpp | 101 + .../3847 - The Seven Percent Solution.cpp | 34 + Live Archive/3849 - Persistent Bits.cpp | 40 + .../3851 - Electronic Document Security.cpp | 100 + Live Archive/4084 - Judging Olympia.cpp | 29 + Live Archive/4085 - Hide That Number.cpp | 64 + .../4088 - Fermat's Chirstmas Theorem.cpp | 49 + Live Archive/4157 - Grey Area.cpp | 38 + Live Archive/4158 - Expected Allowance.cpp | 48 + Live Archive/4210 - Almost Shortest Path.cpp | 109 + Live Archive/4211 - Bases.cpp | 181 + Live Archive/4212 - Candy.cpp | 33 + Live Archive/4214 - Electricity.cpp | 47 + Live Archive/4215 - Feynman.cpp | 19 + Live Archive/4219 - Bora Bora.cpp | 119 + Live Archive/4220 - Shrinking Polygons.cpp | 52 + Live Archive/4262 - Road Networks.cpp | 89 + Live Archive/4296 - Bring Your Own Horse.cpp | 153 + Live Archive/4302 - Toll Road.cpp | 86 + Live Archive/4303 - Top Secrets.cpp | 85 + Live Archive/4304 - Transcribed Books.cpp | 39 + Live Archive/4305 - Wizards.cpp | 92 + Live Archive/4326 - Minimal Ratio Tree.cpp | 134 + Live Archive/4340 - Find Terrorists.cpp | 52 + Live Archive/4405 - Tariff Plan.cpp | 30 + Live Archive/4408 - Unlock the Lock.cpp | 53 + Live Archive/4458 - Compact Triangulation.cpp | 57 + Live Archive/4462 - Trip Verification.cpp | 78 + Live Archive/4463 - Mentoring Assignment.cpp | 141 + ...4464 - May the Right-Force be with you.cpp | 80 + Live Archive/4474 - Code Lock.cpp | 44 + Live Archive/4477 - File Recover.cpp | 130 + Live Archive/4478 - Grapevine.cpp | 79 + Live Archive/4479 - Hooligan.cpp | 163 + Live Archive/4480 - Isosceles Triangles.cpp | 39 + Live Archive/4481 - Jingle Composing.cpp | 37 + Live Archive/4482 - Klingon Levels.cpp | 44 + .../4505 - Working at the Restaurant.cpp | 43 + Live Archive/4506 - Lights.cpp | 55 + Live Archive/4509 - Haunted Graveyard.cpp | 83 + Live Archive/4512 - Happy Telephones.cpp | 34 + Live Archive/4513 - Slammering Aliens.cpp | 183 + Live Archive/4600 - Block Game.cpp | 164 + Live Archive/4601 - Euclid.cpp | 59 + Live Archive/4603 - Knitting.cpp | 25 + Live Archive/4604 - Minesweeper.cpp | 39 + Live Archive/4605 - The Ninja Way.cpp | 68 + Live Archive/4607 - Robot Challenge.cpp | 62 + Live Archive/4608 - Mosaic.cpp | 60 + .../TDV/3151 - Land Division Tax (TLE).cpp | 46 + .../Degrees.cpp | 132 + .../Degrees.exe | Bin 0 -> 512797 bytes .../in.txt | 9 + .../out.txt | 5 + .../p3569.pdf | Bin 0 -> 269053 bytes PKU/1000.cpp | 12 + PKU/1087 - A Pluf for UNIX.cpp | 94 + PKU/1117 - Pairs of integers.cpp | 73 + PKU/1147 - Binary codes.cpp | 35 + PKU/1442 - Black Box.cpp | 94 + PKU/1469 - Courses.cpp | 89 + PKU/1679 - The Unique MST.cpp | 106 + PKU/1972 - Dice Stacking.cpp | 37 + PKU/1977 - Odd Loving Bakers.cpp | 92 + PKU/1990 - MooFest.cpp | 67 + PKU/2084 - Game of Connections.java | 29 + PKU/2192 - Zipper.cpp | 43 + PKU/2344 - Honeymoon Hike.cpp | 94 + PKU/2352 - Stars.cpp | 38 + PKU/2914 - Minimum Cut.cpp | 78 + PKU/3356 - AGTC.cpp | 24 + PKU/3357 - Oreon.cpp | 83 + PKU/3359 - Wordfish.cpp | 56 + PKU/3650 - The Seven Percent Solution.cpp | 34 + PKU/3652 - Persistent Bits.cpp | 40 + PKU/3654 - Electronic Document Security.cpp | 100 + PKU/3662 - Telephone Lines.cpp | 90 + PKU/3664 - Election Time.cpp | 45 + PKU/Main1000.java | 16 + SGU/236.cpp | 111 + SGU/271 - Book Pile.cpp | 79 + ...499 - Greatest Greatest Common Divisor.cpp | 66 + SGU/507 - Treediff.cpp | 98 + Tianjin Online Judge/1001 - Hello, world!.cpp | 20 + Tianjin Online Judge/1002 - Maya Calendar.cpp | 71 + Tianjin Online Judge/1004 - John's trip.cpp | 159 + Tianjin Online Judge/1007 - Joseph.cpp | 53 + Tianjin Online Judge/1008 - Cipher.cpp | 76 + Tianjin Online Judge/1011 - Area.cpp | 69 + Tianjin Online Judge/1015 - Gridland.cpp | 23 + Tianjin Online Judge/1017 - Number Game.cpp | 91 + Tianjin Online Judge/1024 - Intervals.cpp | 61 + Tianjin Online Judge/1025 - Robot.cpp | 96 + Tianjin Online Judge/1026 - Network.cpp | 63 + Tianjin Online Judge/1031 - LC-Display.cpp | 117 + Tianjin Online Judge/1035 - S-Trees.cpp | 47 + Tianjin Online Judge/1036 - Rails.cpp | 39 + Tianjin Online Judge/1037 - King.cpp | 51 + Tianjin Online Judge/1038 - Prime Land.cpp | 47 + .../1044 - Strategic Game.cpp | 156 + Tianjin Online Judge/1050 - Courses.cpp | 63 + Tianjin Online Judge/1056 - Labyrinth.cpp | 76 + Tianjin Online Judge/1057 - Piggy-Bank.cpp | 33 + .../1058 - Lifting the Stone.cpp | 42 + Tianjin Online Judge/1059 - Play on Words.cpp | 56 + .../1062 - Complete the sequence!.cpp | 48 + Tianjin Online Judge/1065 - Factorial.cpp | 24 + Tianjin Online Judge/1073 - Smith Numbers.cpp | 63 + Tianjin Online Judge/1074 - Atlantis.cpp | 57 + .../1075 - Stockbroker Grapevine.cpp | 51 + .../1077 - Channel Allocation.cpp | 168 + .../1078 - Alien Security.cpp | 88 + Tianjin Online Judge/1089 - Happy 2004.cpp | 42 + Tianjin Online Judge/1090 - City hall.cpp | 42 + Tianjin Online Judge/1093 - Argus.cpp | 45 + Tianjin Online Judge/1100 - Pi.cpp | 51 + .../1102 - Machined Surfaces.cpp | 62 + Tianjin Online Judge/1105 - Word Index.cpp | 44 + .../1117 - Game Prediction.cpp | 38 + .../1119 - Machine Schedule.cpp | 71 + Tianjin Online Judge/1129 - Arbitrage.cpp | 53 + .../1130 - The Tower of Babylon.cpp | 72 + ...1131 - The Circumference of the Circle.cpp | 29 + Tianjin Online Judge/1132 - Knight Moves.cpp | 68 + .../1133 - Eeny Meeny Moo.cpp | 36 + Tianjin Online Judge/1134 - Lotto.cpp | 54 + .../1138 - Binomial Showdown.cpp | 27 + Tianjin Online Judge/1139 - Compromise.cpp | 64 + .../1140 - Dungeon Master.cpp | 129 + Tianjin Online Judge/1142 - Frogger.cpp | 69 + Tianjin Online Judge/1144 - Tree Recovery.cpp | 41 + .../1150 - Sum of Factorials.cpp | 35 + Tianjin Online Judge/1153 - Word Reversal.cpp | 29 + .../1154 - A Mathematical Curiosity.cpp | 26 + .../1159 - A Plug for UNIX.cpp | 94 + Tianjin Online Judge/1162 - Biorhythms.cpp | 27 + Tianjin Online Judge/1168 - Team Queue.cpp | 84 + .../1169 - Error Correction.cpp | 42 + .../1171 - Goldbach's Conjecture.cpp | 41 + Tianjin Online Judge/1173 - Matrix.cpp | 49 + .../1176 - Recaman's Sequence.cpp | 31 + Tianjin Online Judge/1178 - Fractal.cpp | 62 + .../1179 - Game of Connections.java | 24 + .../1189 - Islands and Bridges.cpp | 81 + Tianjin Online Judge/1192 - Undercut.cpp | 43 + .../1193 - Currency Exchange.cpp | 37 + .../1205 - Compound Words.cpp | 55 + .../1208 - Fibonacci Numbers.java | 31 + .../1211 - Substitution Cypher.cpp | 32 + .../1216 - Is Bigger Smarter.cpp | 57 + .../1217 - Advanced Fruits.cpp | 66 + Tianjin Online Judge/1224 - HTML.cpp | 41 + Tianjin Online Judge/1233 - Number Steps.cpp | 24 + Tianjin Online Judge/1242 - Parencodings.cpp | 48 + .../1254 - Forgetful Tehran.cpp | 65 + Tianjin Online Judge/1257 - f91.cpp | 17 + .../1258 - Communication System.cpp | 70 + .../1271 - Grandpa's Other Estate.cpp | 38 + Tianjin Online Judge/1279 - Rotten Ropes.cpp | 28 + Tianjin Online Judge/1287 - Dick and Jane.cpp | 29 + .../1291 - Hippity Hopscotch.cpp | 42 + Tianjin Online Judge/1306 - Fire Net.cpp | 59 + .../1310 - Do the Untwist.cpp | 43 + .../1313 - Parallelogram Counting.cpp | 32 + Tianjin Online Judge/1314 - Dice Stacking.cpp | 37 + .../1318 - A Mini Locomotive.cpp | 46 + .../1319 - Odd Loving Bakers.cpp | 92 + Tianjin Online Judge/1322 - Election.cpp | 47 + Tianjin Online Judge/1325 - Fire Station.cpp | 116 + Tianjin Online Judge/1326 - Soundex.cpp | 31 + Tianjin Online Judge/1330 - Mine Sweeper.cpp | 45 + Tianjin Online Judge/1339 - Steps.cpp | 34 + Tianjin Online Judge/1348 - Freckles.cpp | 75 + .../1350 - Primary Arithmetic.cpp | 45 + Tianjin Online Judge/1355 - Jolly Jumpers.cpp | 32 + Tianjin Online Judge/1356 - Tug of War.cpp | 37 + Tianjin Online Judge/1363 - Fiber Network.cpp | 46 + Tianjin Online Judge/1366 - Gopher II.cpp | 72 + Tianjin Online Judge/1368 - WERTYU.cpp | 34 + Tianjin Online Judge/1375 - Ones.cpp | 24 + Tianjin Online Judge/1378 - Babelfish.cpp | 97 + .../1387 - Discrete Logging.cpp | 61 + Tianjin Online Judge/1389 - Forests.cpp | 37 + Tianjin Online Judge/1391 - Hay Points.cpp | 97 + Tianjin Online Judge/1394 - Power Strings.cpp | 38 + Tianjin Online Judge/1399 - Blocks.cpp | 31 + Tianjin Online Judge/1401 - All in All.cpp | 25 + Tianjin Online Judge/1402 - Balanced Food.cpp | 102 + .../1404 - Diplomatic License.cpp | 30 + .../1405 - Polygon Programming with Ease.cpp | 47 + .../1407 - Paths on a Grid.cpp | 25 + Tianjin Online Judge/1412 - Above Average.cpp | 35 + .../1414 - Temple of Dune.cpp | 52 + .../1415 - Ferry Loading II.cpp | 39 + Tianjin Online Judge/1417 - Basic.cpp | 127 + .../1418 - Rock, Scissors, Paper.cpp | 80 + Tianjin Online Judge/1423 - Guessing Game.cpp | 56 + Tianjin Online Judge/1424 - Russian Dolls.cpp | 85 + .../1425 - Combination Lock.cpp | 20 + .../1438 - Perfect Pth Powers.cpp | 57 + Tianjin Online Judge/1448 - Mint.cpp | 43 + .../1452 - Antiarithmetic.cpp | 34 + .../1457 - Beat the Spread!.cpp | 18 + Tianjin Online Judge/1469 - Wooden Sticks.cpp | 52 + ... Modular multiplication of polynomials.cpp | 42 + .../1471 - Human Gene Functions.cpp | 72 + .../1472 - Flip and Shift.cpp | 28 + Tianjin Online Judge/1473 - Moving Tables.cpp | 51 + Tianjin Online Judge/1476 - A simple task.cpp | 20 + .../1477 - Binary Numbers.cpp | 27 + .../1486 - Brownie Points.cpp | 29 + .../1509 - Taxi Cab Scheme.cpp | 102 + Tianjin Online Judge/1514 - SETI.cpp | 97 + Tianjin Online Judge/1516 - Climbing Worm.cpp | 29 + .../1517 - Stacking Tower.cpp | 30 + Tianjin Online Judge/1519 - Ball Toss.cpp | 60 + .../1523 - Knockout Tournament.cpp | 71 + Tianjin Online Judge/1526 - Slots of Fun.cpp | 52 + .../1527 - Euchre Results.cpp | 18 + .../1528 - Least Common Multiple.cpp | 33 + Tianjin Online Judge/1529 - Granny's Bike.cpp | 82 + .../1530 - Crypto Columns.cpp | 47 + Tianjin Online Judge/1533 - Phone Home.cpp | 64 + .../1537 - This Takes the Cake.cpp | 88 + ...Palindrome Problem El Borpem Ord Nilap.cpp | 30 + Tianjin Online Judge/1541 - Alphacode.cpp | 28 + Tianjin Online Judge/1547 - To and Fro.cpp | 27 + Tianjin Online Judge/1549 - u Calculate e.cpp | 25 + Tianjin Online Judge/1551 - Digital Roots.cpp | 25 + Tianjin Online Judge/1557 - Color Me Less.cpp | 56 + .../1563 - Round and Round We Go.cpp | 44 + Tianjin Online Judge/1564 - To the Max.cpp | 37 + Tianjin Online Judge/1571 - Perfection.cpp | 39 + .../1574 - Financial Management.cpp | 20 + .../1575 - I Think I Need a Houseboat.cpp | 24 + .../1577 - A New Growth Industry.cpp | 49 + .../1583 - Anakin's mission.cpp | 34 + .../1584 - Attack Of The Clones.java | 33 + .../1587 - The Empire Strikes Back.java | 35 + Tianjin Online Judge/1590 - IBM Minus One.cpp | 22 + .../1591 - Geometry Made Simple.cpp | 30 + Tianjin Online Judge/1593 - URLs.cpp | 80 + .../1594 - Definite Values.cpp | 49 + .../1596 - Instant Complexity.cpp | 108 + .../1597 - There's Treasure Everywhere!.cpp | 56 + Tianjin Online Judge/1601 - Box of Bricks.cpp | 31 + Tianjin Online Judge/1609 - Blowing Fuses.cpp | 40 + Tianjin Online Judge/1614 - Is It A Tree.cpp | 73 + .../1624 - Programmer, Rank Thyself.cpp | 110 + Tianjin Online Judge/1633 - Zipper.cpp | 43 + .../1634 - Lenny's Lucky Lotto Lists.cpp | 48 + Tianjin Online Judge/1636 - Going Home.cpp | 182 + .../1637 - Specialized Four-Digit Numbers.cpp | 45 + Tianjin Online Judge/1642 - Floppies.cpp | 30 + Tianjin Online Judge/1643 - Golf.cpp | 29 + Tianjin Online Judge/1644 - Reverse Text.cpp | 21 + Tianjin Online Judge/1676 - Networking.cpp | 91 + .../1683 - Common Subsequence.cpp | 38 + Tianjin Online Judge/1687 - Period.cpp | 43 + .../1695 - Count on Canton.cpp | 41 + Tianjin Online Judge/1697 - Strategies.cpp | 32 + Tianjin Online Judge/1698 - StuPId.cpp | 60 + Tianjin Online Judge/1699 - Binary Tree.cpp | 34 + Tianjin Online Judge/1701 - Stamps.cpp | 36 + Tianjin Online Judge/1704 - Pimp My Ride.cpp | 46 + .../1705 - Scavenger Hunt.cpp | 67 + Tianjin Online Judge/1706 - A Bug's Life.cpp | 70 + .../1709 - Incomplete chess boards.cpp | 20 + .../1713 - Heavy Transportation.cpp | 71 + Tianjin Online Judge/1715 - Yeehaa!.cpp | 24 + Tianjin Online Judge/1720 - Brainman.cpp | 43 + .../1726 - World Cup Noise.cpp | 23 + Tianjin Online Judge/1730 - Self Numbers.cpp | 29 + .../1731 - Strange Towers of Hanoi.cpp | 21 + Tianjin Online Judge/1735 - Cramer's Rule.cpp | 39 + Tianjin Online Judge/1736 - Knight Moves.cpp | 64 + Tianjin Online Judge/1737 - Rat Attack.cpp | 65 + .../1738 - Automatic Poetry.cpp | 45 + Tianjin Online Judge/1746 - How many sums.cpp | 57 + Tianjin Online Judge/1748 - Power Digit.cpp | 42 + .../1753 - Hamming Problem.cpp | 37 + Tianjin Online Judge/1754 - Circular Area.cpp | 32 + .../1759 - Multiplication Puzzle.cpp | 32 + .../1765 - Longest Ordered Subsequence.cpp | 27 + .../1767 - Very Simple Problem.cpp | 44 + .../1771 - Rock-Paper-Scissors Tournament.cpp | 45 + Tianjin Online Judge/1779 - Tri Tiling.cpp | 56 + Tianjin Online Judge/1782 - The jackpot.cpp | 30 + Tianjin Online Judge/1785 - Jack.cpp | 39 + .../1788 - Raising Modulo Numbers.cpp | 36 + .../1791 - Lloyd Fifteen Puzzle.cpp | 61 + .../1793 - Assistance Required.cpp | 59 + .../1794 - The Bottom of a Graph.cpp | 89 + .../1801 - Crashing Robots.cpp | 88 + .../1805 - Electrical Outlets.cpp | 31 + .../1808 - Necklace Decomposition.cpp | 42 + Tianjin Online Judge/1809 - Playground.cpp | 31 + .../1810 - A Contesting Decision.cpp | 50 + .../1812 - Choose Your Words Carefully.cpp | 56 + .../1823 - Cantoring Along.cpp | 30 + .../1825 - Filling Out the Team.cpp | 40 + .../1833 - The Hardest Problem Ever.cpp | 32 + Tianjin Online Judge/1850 - Songs.cpp | 42 + Tianjin Online Judge/1851 - Sudoku.cpp | 85 + .../1868 - Count the factors.cpp | 46 + .../1874 - Back to Intermediate Math.cpp | 24 + .../1884 - Pascal's Travels.cpp | 35 + .../1885 - Overflowing Bookshelf.cpp | 77 + Tianjin Online Judge/1886 - Connect.cpp | 131 + .../1887 - Copier Reduction.cpp | 29 + .../1891 - Leapin' Lizards.cpp | 132 + Tianjin Online Judge/1892 - Netiquette.cpp | 55 + .../1896 - The Fortified Forest.cpp | 118 + .../1901 - Booklet Printing.cpp | 37 + .../1902 - Finding Rectangles.cpp | 64 + .../1903 - Word Amalgamation.cpp | 39 + .../1905 - Myacm Triangles -.cpp | 82 + .../1906 - Exchange Rates.cpp | 116 + .../1907 - Loansome Car Buyer.cpp | 57 + .../1908 - Automatic Editing.cpp | 50 + Tianjin Online Judge/1909 - Robot Motion.cpp | 57 + .../1910 - The Triangle Game.cpp | 104 + .../1911 - Easier Done than Said.cpp | 58 + Tianjin Online Judge/1912 - Colorville.cpp | 55 + Tianjin Online Judge/1916 - Transmitters.cpp | 67 + Tianjin Online Judge/1917 - W's Cipher.cpp | 57 + Tianjin Online Judge/1920 - Hangover.cpp | 27 + .../1922 - Image Perimeters.cpp | 71 + Tianjin Online Judge/1923 - Tanning Salon.cpp | 40 + Tianjin Online Judge/1924 - Jungle Roads.cpp | 73 + Tianjin Online Judge/1925 - Clay Bully.cpp | 48 + Tianjin Online Judge/1930 - Doubles.cpp | 36 + .../1935 - Symmetric Order.cpp | 49 + Tianjin Online Judge/1936 - Flow Layout.cpp | 43 + Tianjin Online Judge/1939 - Speed Limit.cpp | 24 + .../1943 - Gleaming the Cubes.cpp | 43 + Tianjin Online Judge/1945 - Perfect Cubes.cpp | 31 + .../1951 - Polynomial Showdown.cpp | 47 + Tianjin Online Judge/1959 - Oil Deposits.cpp | 62 + Tianjin Online Judge/1961 - Sum It Up.cpp | 76 + Tianjin Online Judge/1963 - Haiku Review.cpp | 73 + Tianjin Online Judge/1991 - Sequence.cpp | 67 + .../2001 - Counting Sheep.cpp | 23 + .../2005 - Queens, Knights and Pawns.cpp | 74 + Tianjin Online Judge/2009 - Two Ends.cpp | 39 + ...010 - Sum of Consecutive Prime Numbers.cpp | 41 + Tianjin Online Judge/2020 - Palindromes.cpp | 41 + Tianjin Online Judge/2025 - Prime Cuts.cpp | 48 + .../2027 - Uniform Generator.cpp | 25 + Tianjin Online Judge/2033 - Risk.cpp | 54 + .../2034 - Just the facts.cpp | 58 + Tianjin Online Judge/2041 - Ratio.cpp | 41 + .../2051 - Keep on Truckin'.cpp | 19 + .../2056 - Series Determination.cpp | 20 + .../2062 - Choose Your Own Adventure.cpp | 95 + Tianjin Online Judge/2066 - No Brainer.cpp | 32 + Tianjin Online Judge/2075 - Four Quarters.cpp | 58 + .../2076 - The Drunk Jailer.cpp | 39 + Tianjin Online Judge/2101 - Bullseye.cpp | 43 + .../2103 - Flipping Pancake.cpp | 51 + .../2104 - Model Rocket Height.cpp | 22 + .../2120 - Pseudo-Random Numbers.cpp | 49 + Tianjin Online Judge/2122 - Help!.cpp | 44 + Tianjin Online Judge/2123 - Head or Tail.cpp | 25 + .../2124 - Land Division Tax.cpp | 44 + Tianjin Online Judge/2127 - Magic Trick.cpp | 79 + .../2130 - Grandpa is Famous.cpp | 43 + .../2132 - Ambiguous permutations.cpp | 34 + Tianjin Online Judge/2140 - Tornado.cpp | 47 + .../2142 - Pascal Library.cpp | 38 + .../2145 - Where Are My Genes.cpp | 35 + Tianjin Online Judge/2146 - Computer DJ.cpp | 50 + Tianjin Online Judge/2147 - P-Networks.cpp | 52 + Tianjin Online Judge/2159 - Black Box.cpp | 94 + .../2169 - Number Sequence.cpp | 47 + Tianjin Online Judge/2183 - Checker Game.cpp | 39 + .../2184 - Computer Games II.cpp | 42 + .../2187 - Computer Games III.cpp | 36 + .../2188 - Sum of Factorials.cpp | 39 + .../2189 - The Key Stations.cpp | 94 + .../2190 - Nuanran's Idol.cpp | 49 + .../2192 - Prairie dogs I.cpp | 83 + Tianjin Online Judge/2193 - A Simple Game.cpp | 14 + Tianjin Online Judge/2194 - Mine.cpp | 90 + .../2196 - Nuanran's Idol II.cpp | 48 + Tianjin Online Judge/2199 - A+B Problem.cpp | 50 + .../2200 - Knight's Travel.cpp | 41 + .../2217 - Invitation Cards.cpp | 91 + Tianjin Online Judge/2218 - Super Square.cpp | 23 + Tianjin Online Judge/2230 - Gangsters.cpp | 54 + .../2231 - Super A+B Problem.cpp | 40 + .../2232 - A Friendly Game.cpp | 42 + Tianjin Online Judge/2237 - Sea Battle.cpp | 65 + Tianjin Online Judge/2241 - Ancestor.cpp | 81 + .../2243 - Number Sequence.cpp | 39 + ... - Going to Alpha Centauri (iterativo).cpp | 68 + ... Going to Alpha Centauri (memoization).cpp | 51 + Tianjin Online Judge/2288 - Highways.cpp | 97 + .../2290 - Ferry Loading IV.cpp | 58 + Tianjin Online Judge/2291 - Card Hands.cpp | 92 + Tianjin Online Judge/2294 - How many 0's.cpp | 35 + Tianjin Online Judge/2300 - Firepersons.cpp | 83 + Tianjin Online Judge/2308 - Divisors.cpp | 59 + .../2312 - Help Me with the Game.cpp | 118 + .../2315 - Brackets sequence.cpp | 77 + Tianjin Online Judge/2316 - Cable master.cpp | 40 + .../2321 - Pairs of integers.cpp | 73 + .../2322 - Nearest number - 2.cpp | 86 + .../2327 - Simple prefix compression.cpp | 36 + .../2339 - Diophantus of Alexandria.cpp | 48 + Tianjin Online Judge/2340 - Tudoku.cpp | 98 + .../2343 - Knights of the Round Table.cpp | 37 + .../2344 - Honeymoon Hike.cpp | 94 + ...46 - Gau\303\237 in Elementary School.cpp" | 20 + Tianjin Online Judge/2350 - Laserbox.cpp | 65 + .../2353 - Reduced ID Numbers.cpp | 39 + .../2369 - Circle Drawing.cpp | 69 + .../2391 - Ancient Cipher.cpp | 29 + Tianjin Online Judge/2404 - Bin Packing.cpp | 24 + Tianjin Online Judge/2420 - S-nim.cpp | 51 + Tianjin Online Judge/2425 - Tourist.cpp | 57 + .../2427 - The Cow Doctor.cpp | 71 + .../2432 - Martian Mining.cpp | 42 + .../2468 - Counting Letters.cpp | 32 + Tianjin Online Judge/2469 - Friends.cpp | 60 + .../2476 - Semi-prime H-numbers.cpp | 44 + Tianjin Online Judge/2483 - Nasty Hacks.cpp | 24 + .../2489 - Honeycomb Walk.cpp | 39 + .../2490 - Broken Necklace.cpp | 93 + Tianjin Online Judge/2491 - Hello Kitty.cpp | 26 + Tianjin Online Judge/2493 - Equidivisions.cpp | 60 + Tianjin Online Judge/2501 - Score.cpp | 32 + .../2502 - Digit Generator.cpp | 34 + Tianjin Online Judge/2504 - Pinary.cpp | 58 + Tianjin Online Judge/2520 - Quicksum.cpp | 26 + .../2521 - Linear Pachinko.cpp | 88 + .../2522 - Surprising Strings.cpp | 33 + Tianjin Online Judge/2524 - Frugal Search.cpp | 102 + .../2525 - Go Go Gorelians.cpp | 128 + .../2526 - Root of the Problem.cpp | 37 + Tianjin Online Judge/2530 - AGTC.cpp | 27 + Tianjin Online Judge/2531 - Oreon.cpp | 86 + Tianjin Online Judge/2533 - Wordfish.cpp | 59 + Tianjin Online Judge/2537 - Quick Change.cpp | 23 + .../2538 - Triangular Sums.cpp | 19 + .../2542 - Visible Lattice Points.cpp | 41 + Tianjin Online Judge/2547 - Subsequence.cpp | 39 + .../2548 - Celebrity jeopardy.cpp | 15 + Tianjin Online Judge/2560 - The Explorer.cpp | 69 + .../2569 - The Idiot of the Year Contest.cpp | 42 + .../2591 - Wine Trading in Gergovia.cpp | 50 + ...593 - The Pilots Brothers Refrigerator.cpp | 71 + ...t's Theorem on Arithmetic Progressions.cpp | 32 + .../2610 - Sum of Different Primes.cpp | 51 + .../2624 - Numeral System.cpp | 70 + .../2625 - Traveling by Stagecoach.cpp | 84 + .../2627 - Cleaning Robot.cpp | 107 + Tianjin Online Judge/2628 - Subsequence.cpp | 54 + .../2636 - Hanafuda Shuffle.cpp | 28 + Tianjin Online Judge/2637 - Red and Black.cpp | 74 + Tianjin Online Judge/2644 - Pie.cpp | 40 + Tianjin Online Judge/2647 - Printer Queue.cpp | 42 + Tianjin Online Judge/2648 - Prime Path.cpp | 100 + .../2650 - Leonardos Notebook.cpp | 48 + Tianjin Online Judge/2654 - Jackpot.cpp | 54 + Tianjin Online Judge/2674 - Java vs C++.cpp | 48 + .../2686 - Sudoku Checker.cpp | 47 + .../2693 - The Mailbox Manufacturers.cpp | 34 + .../2696 - Collecting Beepers.cpp | 42 + .../2698 - Goldbach's Conjecture.cpp | 39 + .../2706 - Factoring a Polynomial.cpp | 21 + Tianjin Online Judge/2722 - K-th Number.cpp | 120 + .../2745 - Permutation Recovery.cpp | 31 + .../2756 - The Cow Lexicon.cpp | 49 + .../2758 - Silver Cow Party.cpp | 91 + .../2760 - Bronze Lilypad Pond.cpp | 89 + .../2761 - Buy One Get One Free.cpp | 32 + .../2762 - Balanced Lineup.cpp | 68 + .../2767 - Qualified Primes.cpp | 38 + Tianjin Online Judge/2768 - Making Change.cpp | 36 + .../2769 - The Bale Tower (DFS).cpp | 70 + .../2769 - The Bale Tower (DP).cpp | 39 + Tianjin Online Judge/2770 - VIP Seats.cpp | 44 + Tianjin Online Judge/2771 - Don't Be Late.cpp | 42 + Tianjin Online Judge/2772 - Parallelogram.cpp | 21 + Tianjin Online Judge/2780 - Homework.cpp | 42 + .../2782 - I am Lord Voldemort.cpp | 42 + .../2783 - Amicable Pairs.cpp | 23 + Tianjin Online Judge/2791 - Bovine Latin.cpp | 25 + .../2792 - Cows of the Round Table.cpp | 33 + Tianjin Online Judge/2794 - Bus.cpp | 37 + Tianjin Online Judge/2800 - Cube.cpp | 15 + .../2803 - The Quadratic Equation.cpp | 31 + .../2805 - Prairie dogs III.cpp | 32 + .../2815 - Searching Problem.cpp | 74 + .../2818 - Prairie dogs IV.cpp | 35 + Tianjin Online Judge/2819 - Travel.cpp | 80 + .../2821 - Grouping Problem.cpp | 35 + .../2822 - Cheapest Palindrome.cpp | 40 + Tianjin Online Judge/2823 - Dining.cpp | 111 + .../2825 - Catch That Cow.cpp | 53 + Tianjin Online Judge/2827 - Cow Solitaire.cpp | 57 + .../2828 - The Flower Garden.cpp | 31 + Tianjin Online Judge/2829 - Cow Counting.cpp | 34 + .../2830 - Bronze Cow Party.cpp | 70 + Tianjin Online Judge/2831 - Wormholes.cpp | 57 + Tianjin Online Judge/2834 - Cow Picnic.cpp | 76 + .../2835 - Cow Roller Coaster.cpp | 50 + .../2838 - The Eating Puzzle.cpp | 32 + .../2839 - Dream Counting.cpp | 28 + .../2841 - Bitwise Reverse.cpp | 27 + Tianjin Online Judge/2843 - Diamonds.cpp | 27 + Tianjin Online Judge/2852 - Bad Hair Day.cpp | 29 + .../2855 - New Cow Brands.cpp | 48 + .../2856 - Serious Cow Tag.cpp | 43 + Tianjin Online Judge/2859 - S Number.cpp | 28 + Tianjin Online Judge/2862 - CityStar.cpp | 33 + .../2866 - Mountain Majesties.cpp | 55 + .../2867 - Picking Problem.cpp | 54 + Tianjin Online Judge/2870 - The K-th City.cpp | 81 + .../2872 - Barbara Bennett's Wild Numbers.cpp | 50 + .../2877 - Paradox With Averages.cpp | 46 + Tianjin Online Judge/2883 - City Mapping.cpp | 64 + Tianjin Online Judge/2891 - Sub-Sequence.cpp | 26 + Tianjin Online Judge/2892 - Task.cpp | 42 + Tianjin Online Judge/2897 - Humidex.cpp | 75 + .../2908 - Annoying painting tool.cpp | 61 + .../2909 - Black and white painting.cpp | 46 + Tianjin Online Judge/2910.cpp | 28 + Tianjin Online Judge/2911 - Deli Deli.cpp | 40 + Tianjin Online Judge/2912 - Expressions.cpp | 38 + Tianjin Online Judge/2913.cpp | 98 + Tianjin Online Judge/2914.cpp | 24 + .../2915 - Halloween treats.cpp | 42 + Tianjin Online Judge/2917 - The Watchman.cpp | 21 + Tianjin Online Judge/2926 - Contest.cpp | 58 + Tianjin Online Judge/2927 - Cycle.cpp | 110 + Tianjin Online Judge/2933 - Pachinko.cpp | 58 + Tianjin Online Judge/2934 - Election Time.cpp | 54 + Tianjin Online Judge/2935 - Phone List.cpp | 47 + Tianjin Online Judge/2937 - Shopaholic.cpp | 28 + .../2939 - Distinct Subsequences.cpp | 55 + Tianjin Online Judge/2943 - Love Letter.cpp | 63 + Tianjin Online Judge/2945 - HERMAN.cpp | 23 + Tianjin Online Judge/2946 - OKVIRI.cpp | 43 + Tianjin Online Judge/2948 - BOND.cpp | 50 + Tianjin Online Judge/2950 - PATULJCI.cpp | 26 + Tianjin Online Judge/2951 - NPUZZLE.cpp | 27 + Tianjin Online Judge/2953 - TENKICI.cpp | 29 + Tianjin Online Judge/2955 - CETVRTA.cpp | 26 + Tianjin Online Judge/2956 - PEG.cpp | 33 + Tianjin Online Judge/2960 - VECI.cpp | 17 + Tianjin Online Judge/2961 - LEKTIRA.cpp | 37 + Tianjin Online Judge/2966 - DIPU NUMBER 3.cpp | 21 + Tianjin Online Judge/2967 - Eazzzzzy.cpp | 53 + Tianjin Online Judge/2969 - HELP ! ! !.cpp | 28 + Tianjin Online Judge/2970 - Hackle Number.cpp | 22 + Tianjin Online Judge/2975 - Encription.cpp | 47 + Tianjin Online Judge/2988 - PLMM.cpp | 30 + Tianjin Online Judge/2990 - Simple Task.cpp | 38 + Tianjin Online Judge/2994 - Vector.cpp | 44 + Tianjin Online Judge/3002 - Vote.cpp | 25 + Tianjin Online Judge/3004 - Mispelling.cpp | 23 + Tianjin Online Judge/3006 - Encoding.cpp | 90 + Tianjin Online Judge/3007 - Decoding.cpp | 76 + .../3011 - Tiling a Grid With Dominoes.cpp | 51 + .../3013 - Alfredo's Pizza Restaurant.cpp | 24 + .../3015 - Convert Kilometers to Miles.cpp | 80 + .../3016 - Decode the Strings.cpp | 60 + Tianjin Online Judge/3017 - El Dorado.cpp | 38 + .../3019 - A Game with Marbles.cpp | 30 + .../3021 - CIVIC DILL MIX.cpp | 103 + Tianjin Online Judge/3029 - Assemble.cpp | 48 + Tianjin Online Judge/3036 - Obfuscation.cpp | 86 + .../3039 - Judging Olympia.cpp | 35 + ... A Tale from the Dark Side of The Moon.cpp | 48 + .../3043 - Fermat's Chirstmas Theorem.cpp | 45 + Tianjin Online Judge/3050 - Encrypted SMS.cpp | 55 + .../3051 - Hopeless Coach.cpp | 36 + Tianjin Online Judge/3070 - Encryption.cpp | 22 + Tianjin Online Judge/3071 - Number Game.cpp | 48 + Tianjin Online Judge/3073 - Country Road.cpp | 90 + Tianjin Online Judge/3076 - Prime Gap.cpp | 40 + .../3085 - One is an Interesting Number.cpp | 142 + Tianjin Online Judge/3086 - Verdis Quo.cpp | 103 + Tianjin Online Judge/3090 - Rout 66.cpp | 46 + .../3098 - Event Planning.cpp | 32 + Tianjin Online Judge/3104 - Go Home.cpp | 50 + .../3105 - A Way To Find Primes.cpp | 30 + Tianjin Online Judge/3108 - Common item.cpp | 45 + Tianjin Online Judge/3110 - Grey Area.cpp | 38 + .../3111 - Expected Allowance.cpp | 48 + .../3122 - Perfect Election.cpp | 58 + .../3124 - Build Your Home.cpp | 53 + .../3128 - Internet Service Providers.cpp | 20 + .../3140 - Switching Lights.cpp | 20 + Tianjin Online Judge/3146 - Mixed Up Cows.cpp | 42 + .../3150 - Sixth Grade Math.cpp | 30 + Tianjin Online Judge/3151 - Cryptoquote.cpp | 34 + Tianjin Online Judge/3152 - Binary Clock.cpp | 33 + .../3156 - Area of Polycubes.cpp | 58 + Tianjin Online Judge/3160 - Bad Grass.cpp | 52 + Tianjin Online Judge/3161 - Hay Expenses.cpp | 24 + Tianjin Online Judge/3162 - Hay For Sale.cpp | 32 + Tianjin Online Judge/3163 - Patting Heads.cpp | 32 + .../3165 - Trick or Treat on the Farm.cpp | 64 + .../3169 - Back to the Barn.cpp | 54 + Tianjin Online Judge/3170 - Music Notes.cpp | 35 + Tianjin Online Judge/3182 - Wooden Fence.cpp | 94 + .../3195 - Cruel Math Teacher, I.java | 25 + .../3199 - Balls and Cows.cpp | 22 + .../3202 - Revamping Trails.cpp | 81 + .../3204 - Plumbing the Pond.cpp | 35 + .../3205 - The Perfect Cow.cpp | 23 + Tianjin Online Judge/3206 - Dairy Queen.cpp | 32 + Tianjin Online Judge/3207 - Sand Castle.cpp | 27 + .../3208 - Cow Frisbee Team.cpp | 31 + Tianjin Online Judge/3209 - Look Up.cpp | 26 + Tianjin Online Judge/3210 - Moon Mooing.cpp | 31 + Tianjin Online Judge/3213 - Cup.cpp | 34 + Tianjin Online Judge/3214 - Find the Path.cpp | 91 + Tianjin Online Judge/3216 - Minimum Heap.cpp | 58 + Tianjin Online Judge/3217 - Name PK.cpp | 79 + Tianjin Online Judge/3224 - Birthday Cake.cpp | 18 + Tianjin Online Judge/3232 - kangaroo.cpp | 15 + Tianjin Online Judge/3234 - Grasshopper.cpp | 55 + Tianjin Online Judge/3237 - Change Base.cpp | 28 + Tianjin Online Judge/3238 - Equation.cpp | 46 + Tianjin Online Judge/3243 - Blocked Road.cpp | 68 + .../3247 - Final Guessing.cpp | 29 + Tianjin Online Judge/3249 - Happy Coins.cpp | 27 + Tianjin Online Judge/3251 - Day of Week.cpp | 29 + .../3259 - Mysterious Number.cpp | 53 + .../3288 - Stockholm Numbers.cpp | 30 + .../3300 - Euler Function.cpp | 48 + .../3302 - The Troubles of Lmy.cpp | 95 + .../3306 - Matrix Swapping II.cpp | 34 + .../3308 - Snail\342\200\231s trouble.cpp" | 20 + Tianjin Online Judge/3320 - Coins.cpp | 40 + Tianjin Online Judge/3341 - Sum of Digits.cpp | 68 + Tianjin Online Judge/3348 - Scales.cpp | 31 + Tianjin Online Judge/3445 - Soda Surpler.cpp | 27 + Tianjin Online Judge/3446 - Money Matters.cpp | 57 + .../3453 - Playfair Cipher.cpp | 77 + Tianjin Online Judge/3455 - Diamonds.cpp | 32 + .../3463 - Who Brings the Cookies.cpp | 139 + .../3466 - Need for Speed.cpp | 33 + Tianjin Online Judge/3467 - 3467.cpp | 24 + Tianjin Online Judge/3469 - Apples.cpp | 21 + Tianjin Online Judge/3470 - Key Integer.cpp | 28 + .../3471 - Happy XiaoXiao Guo.cpp | 28 + Tianjin Online Judge/3472 - Chopin.cpp | 39 + .../3483 - Common Divisor.cpp | 48 + Tianjin Online Judge/3488 - Stones II.cpp | 34 + Tianjin Online Judge/3503 - Degree.cpp | 29 + .../3508 - Minimum Scalar Product.cpp | 30 + Tianjin Online Judge/3511 - Staircases.cpp | 37 + .../3516 - Game of Stones.cpp | 15 + .../3561 - DNA Sequencing.cpp | 45 + Tianjin Online Judge/3591 - Thieves.cpp | 115 + .../3596 - Watch The Movie.cpp | 40 + .../Clasificaci\303\263n.txt" | 8 + .../TDV/1082 - Ride to School.cpp | 68 + .../TDV/1096 - Color a Tree (WA).cpp | 64 + .../TDV/1794 - The Bottom of a Graph.cpp | 70 + ...815 - Three Sides Make a Triangle (WA).cpp | 41 + .../TDV/2251 - Four Points.cpp | 60 + .../TDV/2438 - Takeshi Castle.cpp | 76 + .../TDV/2765 - Protecting the Flowers.cpp | 50 + ...- String's Puzzle (WA) overflow talvez.cpp | 41 + .../TDV/2840 - Apple tree.cpp | 99 + Tianjin Online Judge/TDV/2840 decowboy.cpp | 93 + .../TDV/2857 - Digit Sorting.cpp | 36 + .../TDV/2873 - Party at Hali-Bula.cpp | 85 + .../TDV/2904 - Counting (WA).cpp | 35 + ...3103 - Just A Few More Triangles! (TL).cpp | 28 + Tianjin Online Judge/TDV/3245 - DaFuWeng.cpp | 31 + .../TDV/Digit Sorting - 2857(WA).cpp | 35 + .../TDV/Factorial - 2845 (WA).cpp | 48 + .../TDV/Ginkgo - 2987 (Time Limit).cpp | 38 + .../TDV/Help Hakim - 2920 (time limit).cpp | 22 + Tianjin Online Judge/TDV/Modulus - 2924.cpp | 69 + .../River Hopscotch - 2836 (Wrong Answer).cpp | 56 + .../TDV/Smallest Difference - 1986.cpp | 64 + .../TDV/The Happy Worm - 1316.cpp | 56 + .../TDV/The elevator break - 2992.cpp | 50 + .../Tian Ji -- The Horse Racing - 1188.cpp | 57 + .../TDV/Uncompress - 1848 (Time Limit).cpp | 44 + Timus Online Judge/1000 - A+B Problem.cpp | 10 + Timus Online Judge/1001 - Reverse root.cpp | 21 + Timus Online Judge/1002 - Phone numbers.cpp | 72 + USACO/1.1/beads.cpp | 97 + USACO/1.1/friday.cpp | 39 + USACO/1.1/gift1.cpp | 64 + USACO/1.1/ride.cpp | 40 + USACO/1.2/dualpal.cpp | 50 + USACO/1.2/milk2.cpp | 48 + USACO/1.2/namenum.cpp | 49 + USACO/1.2/palsquare.cpp | 59 + USACO/1.2/transform.cpp | 82 + USACO/1.3/barn1.cpp | 65 + USACO/1.3/calfflac.cpp | 90 + USACO/1.3/crypt1.cpp | 63 + USACO/1.3/milk.cpp | 51 + USACO/1.4/ariprog.cpp | 53 + USACO/1.4/clocks.cpp | 152 + USACO/1.4/milk3.cpp | 108 + USACO/1.4/packrec.cpp | 91 + USACO/1.5/checker.cpp | 95 + USACO/1.5/numtri.cpp | 35 + USACO/1.5/pprime.cpp | 82 + USACO/1.5/sprime.cpp | 61 + USACO/2.1/castle.cpp | 114 + USACO/2.1/frac1.cpp | 48 + USACO/2.1/hamming.cpp | 66 + USACO/2.1/holstein.cpp | 66 + USACO/2.1/sort3.cpp | 81 + USACO/2.2/lamps.cpp | 77 + USACO/2.2/preface.cpp | 99 + USACO/2.2/runround.cpp | 77 + USACO/2.2/subset.cpp | 47 + USACO/2.3/money.cpp | 32 + USACO/2.3/nocows.cpp | 38 + USACO/2.3/prefix.cpp | 62 + USACO/2.3/zerosum.cpp | 37 + USACO/NOV 09 - Gold/1 - Lights.cpp | 96 + USACO/NOV 09 - Gold/1 - Lights.exe | Bin 0 -> 17339 bytes .../2 - Who Brings the Cookies.cpp | 149 + .../2 - Who Brings the Cookies.exe | Bin 0 -> 19539 bytes USACO/NOV 09 - Gold/in.txt | 7 + USACO/NOV 09 - Gold/out.txt | 38 + USACO/USACO Qualification 2009/P1.cpp | 25 + USACO/USACO Qualification 2009/P2.cpp | 35 + USACO/USACO Qualification 2009/P3.cpp | 39 + USACO/USACO Qualification 2009/P4.cpp | 61 + USACO/USACO Qualification 2009/P5.cpp | 52 + USACO/USACO Qualification 2009/P6.cpp | 73 + USACO/USACO Qualification 2009/P8.cpp | 34 + USACO/USACO Qualification 2009/P9.cpp | 84 + USACO/USACO Qualification 2009/in.txt | 12 + USACO/USACO Qualification 2009/out.txt | 9 + UVA/A - Logarithm.cpp | 21 + UVA/B - Income Tax Hazard.cpp | 33 + UVA/C/10000 - Longest Paths.cpp | 70 + UVA/C/10002 - Center of Masses.cpp | 90 + UVA/C/10003 - Cutting Sticks.cpp | 62 + UVA/C/10004 - Bicoloring.cpp | 50 + UVA/C/10008 - What's Cryptanalysis.cpp | 49 + UVA/C/10013 - Super long sums.cpp | 38 + UVA/C/10014 - Simple calculations.cpp | 33 + UVA/C/10020 - Minimal coverage.cpp | 95 + UVA/C/10034 - Freckles.cpp | 75 + UVA/C/10035 - Primary Arithmetic.cpp | 43 + UVA/C/10038 - Jolly Jumpers.cpp | 40 + UVA/C/10041 - Vito's Family.cpp | 46 + UVA/C/10067 - Playing with Wheels.cpp | 123 + UVA/C/10071 - Back to High School Physics.cpp | 19 + UVA/C/10078 - The Art Gallery.cpp | 85 + UVA/C/10079 - Pizza Cutting.cpp | 21 + UVA/C/10082 - WERTYU.cpp | 37 + UVA/C/10088 - Trees on My Island.cpp | 65 + UVA/C/10099 - The Tourist Guide 2.cpp | 48 + UVA/C/10099 - The Tourist Guide.cpp | 78 + UVA/CI/10100 - Longest Match.cpp | 64 + .../10102 - The path in the colored field.cpp | 47 + UVA/CI/10107 - What is the median.cpp | 31 + UVA/CI/10110 - Light, more light.cpp | 21 + UVA/CI/10112 - Myacm Triangles -.cpp | 79 + UVA/CI/10113 - Exchange Rates.cpp | 113 + UVA/CI/10114 - Loansome Car Buyer.cpp | 54 + UVA/CI/10115 - Automatic Editing.cpp | 47 + UVA/CI/10116 - Robot Motion.cpp | 54 + UVA/CI/10127 - Ones.cpp | 24 + UVA/CI/10131 - Is Bigger Smarter.cpp | 54 + ...10195 - The Knights Of The Round Table.cpp | 20 + UVA/CI/10199 - Tourist Guide.cpp | 112 + UVA/CII/10209 - Is this integration.cpp | 20 + UVA/CII/10210 - Romeo and Juliet.cpp | 22 + UVA/CII/10215 - The largest-smallest box.cpp | 21 + UVA/CII/10219 - Find the ways.cpp | 30 + UVA/CII/10221 - Satellites.cpp | 31 + UVA/CII/10222 - Decode the mad man.cpp | 37 + UVA/CII/10223 - How many nodes.cpp | 21 + UVA/CII/10242 - Fourth Point.cpp | 29 + UVA/CII/10259 - Hippity Hopscotch.cpp | 49 + UVA/CII/10260 - Soundex.cpp | 31 + UVA/CII/10278 - Fire Station.cpp | 134 + UVA/CII/10286 - Trouble with a Pentagon.cpp | 19 + UVA/CII/10297 - Beavergnaw.cpp | 26 + UVA/CIII/10300 - Ecological Premium.cpp | 25 + UVA/CIII/10301 - Rings and Glue.cpp | 60 + UVA/CIII/10302 - Summation of Polynomials.cpp | 17 + ...23 - Factorial! You Must be Kidding!!!.cpp | 20 + UVA/CIII/10330 - Power Transmission.cpp | 119 + UVA/CIII/10338 - Mischievous Children.cpp | 37 + UVA/CIII/10340 - All in All.cpp | 25 + UVA/CIII/10341 - Solve It.cpp | 31 + UVA/CIII/10346 - Peter's Smoke.cpp | 23 + UVA/CIII/10361 - Automatic Poetry.cpp | 45 + UVA/CIII/10370 - Above Average.cpp | 35 + UVA/CIII/10391 - Compound Words.cpp | 55 + UVA/CIV/10404 - Bachet's Game.cpp | 29 + .../10405 - Longest Common Subsequence.cpp | 33 + UVA/CIV/10420 - List of Conquests.cpp | 57 + UVA/CIV/10424 - Love Calculator.cpp | 39 + UVA/CIV/10432 - Polygon Inside A Circle.cpp | 15 + UVA/CIV/10439 - Temple of Dune.cpp | 52 + UVA/CIV/10440 - Ferry Loading II.cpp | 39 + UVA/CIV/10443 - Rock, Scissors, Paper.cpp | 80 + UVA/CIV/10465 - Homer Simpson.cpp | 30 + UVA/CIV/10469 - To Carry or not to Carry.cpp | 21 + UVA/CIX/10929 - You can say 11.cpp | 27 + UVA/CIX/10946 - You want what filled.cpp | 106 + UVA/CIX/10989 - Bomb, Divide and Conquer.cpp | 83 + UVA/CIX/10991 - Region.cpp | 39 + UVA/CV/10583 - Ubiquitous Religions.cpp | 52 + UVA/CV/10594 - Data Flow.cpp | 109 + UVA/CVI/10608 - Friends.cpp | 55 + UVA/CVI/10637 - Coprimes.cpp | 50 + UVA/CVI/10696 - f91.cpp | 17 + UVA/CVI/10699 - Count the factors.cpp | 46 + UVA/CVII/10746 - Crime Wave - The Sequel.cpp | 106 + .../10773 - Back to Intermediate Math.cpp | 24 + UVA/CVII/10783 - Odd Sum.cpp | 23 + UVA/CVIII/10806 - Dijkstra, Dijkstra.cpp | 108 + UVA/CXI/11110 - Equidivisions.cpp | 81 + UVA/CXI/11152 - Colourful Flowers.cpp | 27 + UVA/CXI/11172 - Relational Operators.cpp | 22 + UVA/CXII/11233 - Deli Deli.cpp | 37 + UVA/CXII/11237 - Halloween treats.cpp | 40 + UVA/CXII/11280 - Flying to Fredericton.cpp | 92 + UVA/CXIII/11351 - Last Man Standing.cpp | 26 + UVA/CXIII/11362 - Phone List.cpp | 47 + UVA/CXIII/11383 - Golden Tiger Claw.cpp | 162 + UVA/CXIV/11495 - Bubbles and Buckets.cpp | 50 + UVA/CXV/11506 - Angry Programmer.cpp | 112 + UVA/CXV/11553 - Grid Game.cpp | 57 + UVA/CXV/11569 - Lovely Hint.cpp | 62 + UVA/CXV/11573 - Ocean Currents.cpp | 65 + UVA/CXV/11597 - Spanning Subtree.cpp | 16 + UVA/CXVI/11626 - Convex Hull.cpp | 71 + UVA/CXVI/11646 - Athletics Track.cpp | 16 + UVA/CXVI/11648 - Divide The Land.cpp | 20 + UVA/CXVIII/11827 - Maximum GCD.cpp | 36 + UVA/I/100 - 3n+1.cpp | 43 + UVA/I/102 - Ecological Bin Packing.cpp | 44 + UVA/I/108 - Maximum Sum.cpp | 37 + UVA/I/109 - SCUD Busters.cpp | 113 + UVA/I/111 - History Grading.cpp | 38 + UVA/I/113 - Power of Cryptography.cpp | 23 + UVA/I/116 - Unidirectional TSP.cpp | 51 + UVA/I/117 - The Postal Worker Rings Once.cpp | 95 + UVA/I/119 - Greedy Gift Givers.cpp | 49 + UVA/I/120 - Stacks of Flapjacks.cpp | 52 + UVA/I/132 - Bumpy Objects.cpp | 93 + UVA/I/136 - Ugly Numbers.cpp | 43 + UVA/I/138 - Street Numbers.cpp | 14 + UVA/I/143 - Orchard Trees.cpp | 77 + UVA/I/146 - ID Codes.cpp | 22 + UVA/I/147 - Dollars.cpp | 38 + UVA/I/151 - Power Crisis.cpp | 76 + UVA/I/167 - The Sultan's Successors.cpp | 54 + UVA/I/168 - Theseus and the Minotaur.cpp | 70 + UVA/I/191 - Intersection.cpp | 53 + UVA/II/200 - Rare Order.cpp | 63 + UVA/II/218 - Moth Eradication.cpp | 84 + UVA/II/256 - Quirksome Squares.cpp | 80 + UVA/II/259 - Software Allocation.cpp | 107 + UVA/II/260 - Il Gioco dell'X.cpp | 64 + UVA/II/264 - Count on Cantor.cpp | 39 + UVA/II/272 - TEX Quotes.cpp | 22 + UVA/II/280 - Vertex.cpp | 71 + UVA/II/291 - The House Of Santa Claus.cpp | 52 + UVA/II/299 - Train Swapping.cpp | 39 + UVA/III/300 - Maya Calendar.cpp | 71 + UVA/III/305 - Joseph.cpp | 53 + UVA/III/306 - Cipher.cpp | 76 + UVA/III/314 - Robot.cpp | 96 + UVA/III/315 - Network.cpp | 92 + UVA/III/350 - Pseudo-Random Numbers.cpp | 53 + UVA/III/352 - The Seasonal War.cpp | 69 + UVA/III/357 - Let Me Count The Ways -.cpp | 37 + UVA/III/369 - Combinations.cpp | 34 + UVA/III/374 - Big Mod.cpp | 28 + UVA/III/382 - Perfection.cpp | 39 + UVA/III/383 - Shipping Routes.cpp | 54 + UVA/III/386 - Perfect Cubes.cpp | 31 + UVA/III/392 - Polynomial Showdown.cpp | 47 + UVA/IV/401 - Palindromes.cpp | 41 + UVA/IV/408 - Uniform Generator.cpp | 27 + UVA/IV/412 - Pi.cpp | 51 + UVA/IV/417 - Word Index.cpp | 44 + UVA/IV/436 - Arbitrage.cpp | 53 + UVA/IV/437 - The Tower of Babylon.cpp | 72 + .../438 - The Circumference of the Circle.cpp | 27 + UVA/IV/439 - Knight Moves.cpp | 68 + UVA/IV/440 - Eeny Meeny Moo.cpp | 36 + UVA/IV/441 - Lotto.cpp | 44 + UVA/IV/443 - Humble Numbers.cpp | 41 + UVA/IV/458 - The Decoder.cpp | 18 + UVA/IV/459 - Graph Connectivity.cpp | 58 + UVA/IV/469 - Wetlands of Florida.cpp | 94 + .../476 - Points in Figures - Rectangles.cpp | 40 + UVA/IV/483 - Word Scramble.cpp | 28 + UVA/IV/490 - Rotating Sentences.cpp | 30 + UVA/IV/492 - Pig-Latin.cpp | 37 + UVA/IV/494 - Kindergarten Counting Game.cpp | 35 + .../499 - What's The Frequency, Kenneth.cpp | 33 + UVA/IX/900 - Brick Wall Patterns.cpp | 25 + UVA/IX/913 - Joana and the Odd Numbers.cpp | 16 + UVA/IX/928 - Eternal Truths.cpp | 88 + UVA/IX/929 - Number Maze (10 queues).cpp | 102 + UVA/IX/929 - Number Maze (dijkstra).cpp | 77 + UVA/IX/985 - Round and Round Maze.cpp | 82 + UVA/IX/988 - Many Paths, One Destination.cpp | 49 + UVA/IX/989 - Su Doku.cpp | 75 + .../Roper Crisis in Ropeland!.cpp | 80 + .../Roper Crisis in Ropeland!.exe | Bin 0 -> 479270 bytes UVA/Todavia/10180(Wrong Answer)/in.txt | 3 + UVA/Todavia/10180(Wrong Answer)/out.txt | 2 + UVA/Todavia/711 - Dividing up (TLE).cpp | 48 + .../Always on the run.cpp | 91 + .../Always on the run.exe | Bin 0 -> 503958 bytes UVA/Todavia/Always on the run(Todavia)/in.txt | 11 + .../Always on the run(Todavia)/out.txt | 106486 +++++++++++++++ UVA/Todavia/Counting (Todavia)/Counting.cpp | 27 + UVA/Todavia/Counting (Todavia)/Counting.exe | Bin 0 -> 475502 bytes UVA/Todavia/Counting (Todavia)/input.txt | 22 + UVA/Todavia/Counting (Todavia)/output.txt | 22 + UVA/Todavia/Counting - 10198 (Overflow).cpp | 21 + UVA/Todavia/Fermat vs. Pythagoras - 106.cpp | 42 + UVA/Todavia/Following Orders - 124.cpp | 48 + UVA/Todavia/Graph Coloring - 193.cpp | 88 + UVA/Todavia/Litttle Bishops.cpp | 66 + UVA/Todavia/What Base Is This - 343.cpp | 63 + .../Word Index(Todavia)/Word Index.cpp | 103 + .../Word Index(Todavia)/Word Index.exe | Bin 0 -> 507441 bytes UVA/Todavia/Word Index(Todavia)/in.txt | 15 + UVA/Todavia/Word Index(Todavia)/out.txt | 30 + UVA/V/515 - King.cpp | 51 + UVA/V/530 - Binomial Showdown.cpp | 27 + UVA/V/531 - Compromise.cpp | 74 + UVA/V/532 - Dungeon Master.cpp | 129 + UVA/V/536 - Tree Recovery.cpp | 41 + UVA/V/540 - Team Queue.cpp | 84 + UVA/V/541 - Error Correction.cpp | 42 + UVA/V/543 - Goldbach's Conjecture.cpp | 41 + UVA/V/544 - Heavy Cargo.cpp | 99 + UVA/V/558 - Wormholes.cpp | 44 + UVA/V/568 - Just the facts.cpp | 58 + UVA/V/572 - Oil Deposits.cpp | 62 + UVA/V/575 - Skew Binary.cpp | 28 + UVA/V/576 - Haiku Review.cpp | 73 + UVA/V/591 - Box of Bricks.cpp | 31 + UVA/VI/634 - Polygon.cpp | 54 + UVA/VI/674 - Coin Change.cpp | 27 + UVA/VI/675 - Convex Hull of the Polygon.cpp | 64 + UVA/VI/681 - Convex Hull Finding.cpp | 91 + UVA/VI/686 - Goldbach's Conjecture (II).cpp | 39 + UVA/VI/694 - The Collatz Sequence.cpp | 34 + UVA/VII/706 - LCD Display.cpp | 117 + UVA/VII/712 - S-Trees.cpp | 50 + UVA/VII/750 - 8 Queens Chess Problem.cpp | 55 + UVA/VII/753 - A Plug for UNIX.cpp | 105 + UVA/VII/793 - Network Connections.cpp | 58 + UVA/VII/796 - Critical Links.cpp | 115 + UVA/VIII/820 - Internet Bandwidth.cpp | 103 + UVA/VIII/847 - A Multiplication Game.cpp | 28 + UVA/VIII/895 - Word Problem.cpp | 51 + Z-Trening/Baltic Olympiads/ancient.cpp | 58 + Z-Trening/Baltic Olympiads/cards.cpp | 28 + .../Sum of Two Numbers.cpp | 13 + .../The Easiest Problem.cpp | 13 + .../Serbian Olympiad in Informatics/igra.cpp | 32 + Z-Trening/ZCM Competitions/z-passwd.cpp | 33 + Z-Trening/contest/A.cpp | 88 + Z-Trening/contest/CharSwap.cpp | 32 + Z-Trening/contest/DivInt.cpp | 51 + Z-Trening/contest/IntGrid.cpp | 26 + Z-Trening/contest/Paycheck.cpp | 19 + Z-Trening/contest/RBGrid.cpp | 32 + Z-Trening/contest/Tournament.cpp | 33 + ZOJ/1050-2.cpp | 63 + ZOJ/1140 - Courses.cpp | 63 + ZOJ/1589 - Professor Jhon.cpp | 67 + ZOJ/1798 - Granny's Bike.cpp | 46 + ZOJ/Vol 1/1001 - A+B.cpp | 12 + ZOJ/Vol 1/1002 - Fire Net.cpp | 59 + ZOJ/Vol 1/1037 - Gridland.cpp | 24 + ZOJ/Vol 1/1041 - Transmitters.cpp | 66 + ZOJ/Vol 1/1048 - Financial Management.cpp | 20 + .../1049 - I Think I Need a Houseboat.cpp | 24 + ZOJ/Vol 1/1051 - A New Growth Industry.cpp | 53 + ZOJ/Vol 1/1067 - Color Me Less.cpp | 56 + ZOJ/Vol 1/1082 - Stockbroker Grapevine.cpp | 51 + ZOJ/Vol 1/1089 - Lotto.cpp | 44 + ...1090 - The Circumference of the Circle.cpp | 26 + ZOJ/Vol 22/3174 - Square Root Day.cpp | 39 + ZOJ/Vol 22/3179 - Calculate With Abacus.cpp | 41 + infoarena/Archivo de problemas/password.cpp | 32 + .../Archivo de problemas/sequencequery.cpp | 89 + infoarena/Archivo de problemas/xormax.cpp | 87 + infoarena/Archivo educacional/biconexe.cpp | 80 + infoarena/Archivo educacional/ciclueuler.cpp | 110 + infoarena/Archivo educacional/cmap.cpp | 53 + infoarena/Archivo educacional/cuplaj.cpp | 83 + infoarena/Archivo educacional/euclid2.cpp | 20 + infoarena/Archivo educacional/euclid3.cpp | 38 + infoarena/Archivo educacional/fmcm.cpp | 132 + infoarena/Archivo educacional/maxflow.cpp | 105 + infoarena/Archivo educacional/ssm.cpp | 37 + 1035 files changed, 161113 insertions(+) create mode 100755 Live Archive/2038 - Strategic Game.cpp create mode 100755 Live Archive/2044 - Courses.cpp create mode 100755 Live Archive/2052 - Number Steps.cpp create mode 100755 Live Archive/2190 - Being Late.cpp create mode 100755 Live Archive/2247 - Prime Digital Root.cpp create mode 100755 Live Archive/2248 - Desert Bitmap.cpp create mode 100755 Live Archive/2389 - Palindrom Numbers.cpp create mode 100755 Live Archive/2437 - Pattern Finder.cpp create mode 100755 Live Archive/3131 - SETI.cpp create mode 100755 Live Archive/3170 - AGTC.cpp create mode 100755 Live Archive/3171 - Oreon.cpp create mode 100755 Live Archive/3173 - Wordfish.cpp create mode 100755 Live Archive/3381 - Connect.cpp create mode 100755 Live Archive/3397 - Leapin' Lizards.cpp create mode 100755 Live Archive/3468 - Tornado.cpp create mode 100755 Live Archive/3470 - Pascal Library.cpp create mode 100755 Live Archive/3473 - Where Are My Genes.cpp create mode 100755 Live Archive/3475 - P-Networks.cpp create mode 100755 Live Archive/3542 - It's All About Three/3542.cpp create mode 100755 Live Archive/3542 - It's All About Three/3542.exe create mode 100755 Live Archive/3542 - It's All About Three/in.txt create mode 100755 Live Archive/3542 - It's All About Three/out.txt create mode 100755 Live Archive/3652 - Lazy Jumping Frog.cpp create mode 100755 Live Archive/3830 - John.cpp create mode 100755 Live Archive/3837 - The Stable Marriage Problem.cpp create mode 100755 Live Archive/3847 - The Seven Percent Solution.cpp create mode 100755 Live Archive/3849 - Persistent Bits.cpp create mode 100755 Live Archive/3851 - Electronic Document Security.cpp create mode 100755 Live Archive/4084 - Judging Olympia.cpp create mode 100755 Live Archive/4085 - Hide That Number.cpp create mode 100755 Live Archive/4088 - Fermat's Chirstmas Theorem.cpp create mode 100755 Live Archive/4157 - Grey Area.cpp create mode 100755 Live Archive/4158 - Expected Allowance.cpp create mode 100755 Live Archive/4210 - Almost Shortest Path.cpp create mode 100755 Live Archive/4211 - Bases.cpp create mode 100755 Live Archive/4212 - Candy.cpp create mode 100755 Live Archive/4214 - Electricity.cpp create mode 100755 Live Archive/4215 - Feynman.cpp create mode 100755 Live Archive/4219 - Bora Bora.cpp create mode 100755 Live Archive/4220 - Shrinking Polygons.cpp create mode 100755 Live Archive/4262 - Road Networks.cpp create mode 100755 Live Archive/4296 - Bring Your Own Horse.cpp create mode 100755 Live Archive/4302 - Toll Road.cpp create mode 100755 Live Archive/4303 - Top Secrets.cpp create mode 100755 Live Archive/4304 - Transcribed Books.cpp create mode 100755 Live Archive/4305 - Wizards.cpp create mode 100755 Live Archive/4326 - Minimal Ratio Tree.cpp create mode 100755 Live Archive/4340 - Find Terrorists.cpp create mode 100755 Live Archive/4405 - Tariff Plan.cpp create mode 100755 Live Archive/4408 - Unlock the Lock.cpp create mode 100755 Live Archive/4458 - Compact Triangulation.cpp create mode 100755 Live Archive/4462 - Trip Verification.cpp create mode 100755 Live Archive/4463 - Mentoring Assignment.cpp create mode 100755 Live Archive/4464 - May the Right-Force be with you.cpp create mode 100755 Live Archive/4474 - Code Lock.cpp create mode 100755 Live Archive/4477 - File Recover.cpp create mode 100755 Live Archive/4478 - Grapevine.cpp create mode 100755 Live Archive/4479 - Hooligan.cpp create mode 100755 Live Archive/4480 - Isosceles Triangles.cpp create mode 100755 Live Archive/4481 - Jingle Composing.cpp create mode 100755 Live Archive/4482 - Klingon Levels.cpp create mode 100755 Live Archive/4505 - Working at the Restaurant.cpp create mode 100755 Live Archive/4506 - Lights.cpp create mode 100755 Live Archive/4509 - Haunted Graveyard.cpp create mode 100755 Live Archive/4512 - Happy Telephones.cpp create mode 100755 Live Archive/4513 - Slammering Aliens.cpp create mode 100755 Live Archive/4600 - Block Game.cpp create mode 100755 Live Archive/4601 - Euclid.cpp create mode 100755 Live Archive/4603 - Knitting.cpp create mode 100755 Live Archive/4604 - Minesweeper.cpp create mode 100755 Live Archive/4605 - The Ninja Way.cpp create mode 100755 Live Archive/4607 - Robot Challenge.cpp create mode 100755 Live Archive/4608 - Mosaic.cpp create mode 100755 Live Archive/TDV/3151 - Land Division Tax (TLE).cpp create mode 100755 Live Archive/TDV/Degrees of separation (Presentation Error)/Degrees.cpp create mode 100755 Live Archive/TDV/Degrees of separation (Presentation Error)/Degrees.exe create mode 100755 Live Archive/TDV/Degrees of separation (Presentation Error)/in.txt create mode 100755 Live Archive/TDV/Degrees of separation (Presentation Error)/out.txt create mode 100755 Live Archive/TDV/Degrees of separation (Presentation Error)/p3569.pdf create mode 100755 PKU/1000.cpp create mode 100755 PKU/1087 - A Pluf for UNIX.cpp create mode 100755 PKU/1117 - Pairs of integers.cpp create mode 100755 PKU/1147 - Binary codes.cpp create mode 100755 PKU/1442 - Black Box.cpp create mode 100755 PKU/1469 - Courses.cpp create mode 100755 PKU/1679 - The Unique MST.cpp create mode 100755 PKU/1972 - Dice Stacking.cpp create mode 100755 PKU/1977 - Odd Loving Bakers.cpp create mode 100755 PKU/1990 - MooFest.cpp create mode 100755 PKU/2084 - Game of Connections.java create mode 100755 PKU/2192 - Zipper.cpp create mode 100755 PKU/2344 - Honeymoon Hike.cpp create mode 100755 PKU/2352 - Stars.cpp create mode 100755 PKU/2914 - Minimum Cut.cpp create mode 100755 PKU/3356 - AGTC.cpp create mode 100755 PKU/3357 - Oreon.cpp create mode 100755 PKU/3359 - Wordfish.cpp create mode 100755 PKU/3650 - The Seven Percent Solution.cpp create mode 100755 PKU/3652 - Persistent Bits.cpp create mode 100755 PKU/3654 - Electronic Document Security.cpp create mode 100755 PKU/3662 - Telephone Lines.cpp create mode 100755 PKU/3664 - Election Time.cpp create mode 100755 PKU/Main1000.java create mode 100755 SGU/236.cpp create mode 100755 SGU/271 - Book Pile.cpp create mode 100755 SGU/499 - Greatest Greatest Common Divisor.cpp create mode 100755 SGU/507 - Treediff.cpp create mode 100755 Tianjin Online Judge/1001 - Hello, world!.cpp create mode 100755 Tianjin Online Judge/1002 - Maya Calendar.cpp create mode 100755 Tianjin Online Judge/1004 - John's trip.cpp create mode 100755 Tianjin Online Judge/1007 - Joseph.cpp create mode 100755 Tianjin Online Judge/1008 - Cipher.cpp create mode 100755 Tianjin Online Judge/1011 - Area.cpp create mode 100755 Tianjin Online Judge/1015 - Gridland.cpp create mode 100755 Tianjin Online Judge/1017 - Number Game.cpp create mode 100755 Tianjin Online Judge/1024 - Intervals.cpp create mode 100755 Tianjin Online Judge/1025 - Robot.cpp create mode 100755 Tianjin Online Judge/1026 - Network.cpp create mode 100755 Tianjin Online Judge/1031 - LC-Display.cpp create mode 100755 Tianjin Online Judge/1035 - S-Trees.cpp create mode 100755 Tianjin Online Judge/1036 - Rails.cpp create mode 100755 Tianjin Online Judge/1037 - King.cpp create mode 100755 Tianjin Online Judge/1038 - Prime Land.cpp create mode 100755 Tianjin Online Judge/1044 - Strategic Game.cpp create mode 100755 Tianjin Online Judge/1050 - Courses.cpp create mode 100755 Tianjin Online Judge/1056 - Labyrinth.cpp create mode 100755 Tianjin Online Judge/1057 - Piggy-Bank.cpp create mode 100755 Tianjin Online Judge/1058 - Lifting the Stone.cpp create mode 100755 Tianjin Online Judge/1059 - Play on Words.cpp create mode 100755 Tianjin Online Judge/1062 - Complete the sequence!.cpp create mode 100755 Tianjin Online Judge/1065 - Factorial.cpp create mode 100755 Tianjin Online Judge/1073 - Smith Numbers.cpp create mode 100755 Tianjin Online Judge/1074 - Atlantis.cpp create mode 100755 Tianjin Online Judge/1075 - Stockbroker Grapevine.cpp create mode 100755 Tianjin Online Judge/1077 - Channel Allocation.cpp create mode 100755 Tianjin Online Judge/1078 - Alien Security.cpp create mode 100755 Tianjin Online Judge/1089 - Happy 2004.cpp create mode 100755 Tianjin Online Judge/1090 - City hall.cpp create mode 100755 Tianjin Online Judge/1093 - Argus.cpp create mode 100755 Tianjin Online Judge/1100 - Pi.cpp create mode 100755 Tianjin Online Judge/1102 - Machined Surfaces.cpp create mode 100755 Tianjin Online Judge/1105 - Word Index.cpp create mode 100755 Tianjin Online Judge/1117 - Game Prediction.cpp create mode 100755 Tianjin Online Judge/1119 - Machine Schedule.cpp create mode 100755 Tianjin Online Judge/1129 - Arbitrage.cpp create mode 100755 Tianjin Online Judge/1130 - The Tower of Babylon.cpp create mode 100755 Tianjin Online Judge/1131 - The Circumference of the Circle.cpp create mode 100755 Tianjin Online Judge/1132 - Knight Moves.cpp create mode 100755 Tianjin Online Judge/1133 - Eeny Meeny Moo.cpp create mode 100755 Tianjin Online Judge/1134 - Lotto.cpp create mode 100755 Tianjin Online Judge/1138 - Binomial Showdown.cpp create mode 100755 Tianjin Online Judge/1139 - Compromise.cpp create mode 100755 Tianjin Online Judge/1140 - Dungeon Master.cpp create mode 100755 Tianjin Online Judge/1142 - Frogger.cpp create mode 100755 Tianjin Online Judge/1144 - Tree Recovery.cpp create mode 100755 Tianjin Online Judge/1150 - Sum of Factorials.cpp create mode 100755 Tianjin Online Judge/1153 - Word Reversal.cpp create mode 100755 Tianjin Online Judge/1154 - A Mathematical Curiosity.cpp create mode 100755 Tianjin Online Judge/1159 - A Plug for UNIX.cpp create mode 100755 Tianjin Online Judge/1162 - Biorhythms.cpp create mode 100755 Tianjin Online Judge/1168 - Team Queue.cpp create mode 100755 Tianjin Online Judge/1169 - Error Correction.cpp create mode 100755 Tianjin Online Judge/1171 - Goldbach's Conjecture.cpp create mode 100755 Tianjin Online Judge/1173 - Matrix.cpp create mode 100755 Tianjin Online Judge/1176 - Recaman's Sequence.cpp create mode 100755 Tianjin Online Judge/1178 - Fractal.cpp create mode 100755 Tianjin Online Judge/1179 - Game of Connections.java create mode 100755 Tianjin Online Judge/1189 - Islands and Bridges.cpp create mode 100755 Tianjin Online Judge/1192 - Undercut.cpp create mode 100755 Tianjin Online Judge/1193 - Currency Exchange.cpp create mode 100755 Tianjin Online Judge/1205 - Compound Words.cpp create mode 100755 Tianjin Online Judge/1208 - Fibonacci Numbers.java create mode 100755 Tianjin Online Judge/1211 - Substitution Cypher.cpp create mode 100755 Tianjin Online Judge/1216 - Is Bigger Smarter.cpp create mode 100755 Tianjin Online Judge/1217 - Advanced Fruits.cpp create mode 100755 Tianjin Online Judge/1224 - HTML.cpp create mode 100755 Tianjin Online Judge/1233 - Number Steps.cpp create mode 100755 Tianjin Online Judge/1242 - Parencodings.cpp create mode 100755 Tianjin Online Judge/1254 - Forgetful Tehran.cpp create mode 100755 Tianjin Online Judge/1257 - f91.cpp create mode 100755 Tianjin Online Judge/1258 - Communication System.cpp create mode 100755 Tianjin Online Judge/1271 - Grandpa's Other Estate.cpp create mode 100755 Tianjin Online Judge/1279 - Rotten Ropes.cpp create mode 100755 Tianjin Online Judge/1287 - Dick and Jane.cpp create mode 100755 Tianjin Online Judge/1291 - Hippity Hopscotch.cpp create mode 100755 Tianjin Online Judge/1306 - Fire Net.cpp create mode 100755 Tianjin Online Judge/1310 - Do the Untwist.cpp create mode 100755 Tianjin Online Judge/1313 - Parallelogram Counting.cpp create mode 100755 Tianjin Online Judge/1314 - Dice Stacking.cpp create mode 100755 Tianjin Online Judge/1318 - A Mini Locomotive.cpp create mode 100755 Tianjin Online Judge/1319 - Odd Loving Bakers.cpp create mode 100755 Tianjin Online Judge/1322 - Election.cpp create mode 100755 Tianjin Online Judge/1325 - Fire Station.cpp create mode 100755 Tianjin Online Judge/1326 - Soundex.cpp create mode 100755 Tianjin Online Judge/1330 - Mine Sweeper.cpp create mode 100755 Tianjin Online Judge/1339 - Steps.cpp create mode 100755 Tianjin Online Judge/1348 - Freckles.cpp create mode 100755 Tianjin Online Judge/1350 - Primary Arithmetic.cpp create mode 100755 Tianjin Online Judge/1355 - Jolly Jumpers.cpp create mode 100755 Tianjin Online Judge/1356 - Tug of War.cpp create mode 100755 Tianjin Online Judge/1363 - Fiber Network.cpp create mode 100755 Tianjin Online Judge/1366 - Gopher II.cpp create mode 100755 Tianjin Online Judge/1368 - WERTYU.cpp create mode 100755 Tianjin Online Judge/1375 - Ones.cpp create mode 100755 Tianjin Online Judge/1378 - Babelfish.cpp create mode 100755 Tianjin Online Judge/1387 - Discrete Logging.cpp create mode 100755 Tianjin Online Judge/1389 - Forests.cpp create mode 100755 Tianjin Online Judge/1391 - Hay Points.cpp create mode 100755 Tianjin Online Judge/1394 - Power Strings.cpp create mode 100755 Tianjin Online Judge/1399 - Blocks.cpp create mode 100755 Tianjin Online Judge/1401 - All in All.cpp create mode 100755 Tianjin Online Judge/1402 - Balanced Food.cpp create mode 100755 Tianjin Online Judge/1404 - Diplomatic License.cpp create mode 100755 Tianjin Online Judge/1405 - Polygon Programming with Ease.cpp create mode 100755 Tianjin Online Judge/1407 - Paths on a Grid.cpp create mode 100755 Tianjin Online Judge/1412 - Above Average.cpp create mode 100755 Tianjin Online Judge/1414 - Temple of Dune.cpp create mode 100755 Tianjin Online Judge/1415 - Ferry Loading II.cpp create mode 100755 Tianjin Online Judge/1417 - Basic.cpp create mode 100755 Tianjin Online Judge/1418 - Rock, Scissors, Paper.cpp create mode 100755 Tianjin Online Judge/1423 - Guessing Game.cpp create mode 100755 Tianjin Online Judge/1424 - Russian Dolls.cpp create mode 100755 Tianjin Online Judge/1425 - Combination Lock.cpp create mode 100755 Tianjin Online Judge/1438 - Perfect Pth Powers.cpp create mode 100755 Tianjin Online Judge/1448 - Mint.cpp create mode 100755 Tianjin Online Judge/1452 - Antiarithmetic.cpp create mode 100755 Tianjin Online Judge/1457 - Beat the Spread!.cpp create mode 100755 Tianjin Online Judge/1469 - Wooden Sticks.cpp create mode 100755 Tianjin Online Judge/1470 - Modular multiplication of polynomials.cpp create mode 100755 Tianjin Online Judge/1471 - Human Gene Functions.cpp create mode 100755 Tianjin Online Judge/1472 - Flip and Shift.cpp create mode 100755 Tianjin Online Judge/1473 - Moving Tables.cpp create mode 100755 Tianjin Online Judge/1476 - A simple task.cpp create mode 100755 Tianjin Online Judge/1477 - Binary Numbers.cpp create mode 100755 Tianjin Online Judge/1486 - Brownie Points.cpp create mode 100755 Tianjin Online Judge/1509 - Taxi Cab Scheme.cpp create mode 100755 Tianjin Online Judge/1514 - SETI.cpp create mode 100755 Tianjin Online Judge/1516 - Climbing Worm.cpp create mode 100755 Tianjin Online Judge/1517 - Stacking Tower.cpp create mode 100755 Tianjin Online Judge/1519 - Ball Toss.cpp create mode 100755 Tianjin Online Judge/1523 - Knockout Tournament.cpp create mode 100755 Tianjin Online Judge/1526 - Slots of Fun.cpp create mode 100755 Tianjin Online Judge/1527 - Euchre Results.cpp create mode 100755 Tianjin Online Judge/1528 - Least Common Multiple.cpp create mode 100755 Tianjin Online Judge/1529 - Granny's Bike.cpp create mode 100755 Tianjin Online Judge/1530 - Crypto Columns.cpp create mode 100755 Tianjin Online Judge/1533 - Phone Home.cpp create mode 100755 Tianjin Online Judge/1537 - This Takes the Cake.cpp create mode 100755 Tianjin Online Judge/1539 - Palindrome Problem El Borpem Ord Nilap.cpp create mode 100755 Tianjin Online Judge/1541 - Alphacode.cpp create mode 100755 Tianjin Online Judge/1547 - To and Fro.cpp create mode 100755 Tianjin Online Judge/1549 - u Calculate e.cpp create mode 100755 Tianjin Online Judge/1551 - Digital Roots.cpp create mode 100755 Tianjin Online Judge/1557 - Color Me Less.cpp create mode 100755 Tianjin Online Judge/1563 - Round and Round We Go.cpp create mode 100755 Tianjin Online Judge/1564 - To the Max.cpp create mode 100755 Tianjin Online Judge/1571 - Perfection.cpp create mode 100755 Tianjin Online Judge/1574 - Financial Management.cpp create mode 100755 Tianjin Online Judge/1575 - I Think I Need a Houseboat.cpp create mode 100755 Tianjin Online Judge/1577 - A New Growth Industry.cpp create mode 100755 Tianjin Online Judge/1583 - Anakin's mission.cpp create mode 100755 Tianjin Online Judge/1584 - Attack Of The Clones.java create mode 100755 Tianjin Online Judge/1587 - The Empire Strikes Back.java create mode 100755 Tianjin Online Judge/1590 - IBM Minus One.cpp create mode 100755 Tianjin Online Judge/1591 - Geometry Made Simple.cpp create mode 100755 Tianjin Online Judge/1593 - URLs.cpp create mode 100755 Tianjin Online Judge/1594 - Definite Values.cpp create mode 100755 Tianjin Online Judge/1596 - Instant Complexity.cpp create mode 100755 Tianjin Online Judge/1597 - There's Treasure Everywhere!.cpp create mode 100755 Tianjin Online Judge/1601 - Box of Bricks.cpp create mode 100755 Tianjin Online Judge/1609 - Blowing Fuses.cpp create mode 100755 Tianjin Online Judge/1614 - Is It A Tree.cpp create mode 100755 Tianjin Online Judge/1624 - Programmer, Rank Thyself.cpp create mode 100755 Tianjin Online Judge/1633 - Zipper.cpp create mode 100755 Tianjin Online Judge/1634 - Lenny's Lucky Lotto Lists.cpp create mode 100755 Tianjin Online Judge/1636 - Going Home.cpp create mode 100755 Tianjin Online Judge/1637 - Specialized Four-Digit Numbers.cpp create mode 100755 Tianjin Online Judge/1642 - Floppies.cpp create mode 100755 Tianjin Online Judge/1643 - Golf.cpp create mode 100755 Tianjin Online Judge/1644 - Reverse Text.cpp create mode 100755 Tianjin Online Judge/1676 - Networking.cpp create mode 100755 Tianjin Online Judge/1683 - Common Subsequence.cpp create mode 100755 Tianjin Online Judge/1687 - Period.cpp create mode 100755 Tianjin Online Judge/1695 - Count on Canton.cpp create mode 100755 Tianjin Online Judge/1697 - Strategies.cpp create mode 100755 Tianjin Online Judge/1698 - StuPId.cpp create mode 100755 Tianjin Online Judge/1699 - Binary Tree.cpp create mode 100755 Tianjin Online Judge/1701 - Stamps.cpp create mode 100755 Tianjin Online Judge/1704 - Pimp My Ride.cpp create mode 100755 Tianjin Online Judge/1705 - Scavenger Hunt.cpp create mode 100755 Tianjin Online Judge/1706 - A Bug's Life.cpp create mode 100755 Tianjin Online Judge/1709 - Incomplete chess boards.cpp create mode 100755 Tianjin Online Judge/1713 - Heavy Transportation.cpp create mode 100755 Tianjin Online Judge/1715 - Yeehaa!.cpp create mode 100755 Tianjin Online Judge/1720 - Brainman.cpp create mode 100755 Tianjin Online Judge/1726 - World Cup Noise.cpp create mode 100755 Tianjin Online Judge/1730 - Self Numbers.cpp create mode 100755 Tianjin Online Judge/1731 - Strange Towers of Hanoi.cpp create mode 100755 Tianjin Online Judge/1735 - Cramer's Rule.cpp create mode 100755 Tianjin Online Judge/1736 - Knight Moves.cpp create mode 100755 Tianjin Online Judge/1737 - Rat Attack.cpp create mode 100755 Tianjin Online Judge/1738 - Automatic Poetry.cpp create mode 100755 Tianjin Online Judge/1746 - How many sums.cpp create mode 100755 Tianjin Online Judge/1748 - Power Digit.cpp create mode 100755 Tianjin Online Judge/1753 - Hamming Problem.cpp create mode 100755 Tianjin Online Judge/1754 - Circular Area.cpp create mode 100755 Tianjin Online Judge/1759 - Multiplication Puzzle.cpp create mode 100755 Tianjin Online Judge/1765 - Longest Ordered Subsequence.cpp create mode 100755 Tianjin Online Judge/1767 - Very Simple Problem.cpp create mode 100755 Tianjin Online Judge/1771 - Rock-Paper-Scissors Tournament.cpp create mode 100755 Tianjin Online Judge/1779 - Tri Tiling.cpp create mode 100755 Tianjin Online Judge/1782 - The jackpot.cpp create mode 100755 Tianjin Online Judge/1785 - Jack.cpp create mode 100755 Tianjin Online Judge/1788 - Raising Modulo Numbers.cpp create mode 100755 Tianjin Online Judge/1791 - Lloyd Fifteen Puzzle.cpp create mode 100755 Tianjin Online Judge/1793 - Assistance Required.cpp create mode 100755 Tianjin Online Judge/1794 - The Bottom of a Graph.cpp create mode 100755 Tianjin Online Judge/1801 - Crashing Robots.cpp create mode 100755 Tianjin Online Judge/1805 - Electrical Outlets.cpp create mode 100755 Tianjin Online Judge/1808 - Necklace Decomposition.cpp create mode 100755 Tianjin Online Judge/1809 - Playground.cpp create mode 100755 Tianjin Online Judge/1810 - A Contesting Decision.cpp create mode 100755 Tianjin Online Judge/1812 - Choose Your Words Carefully.cpp create mode 100755 Tianjin Online Judge/1823 - Cantoring Along.cpp create mode 100755 Tianjin Online Judge/1825 - Filling Out the Team.cpp create mode 100755 Tianjin Online Judge/1833 - The Hardest Problem Ever.cpp create mode 100755 Tianjin Online Judge/1850 - Songs.cpp create mode 100755 Tianjin Online Judge/1851 - Sudoku.cpp create mode 100755 Tianjin Online Judge/1868 - Count the factors.cpp create mode 100755 Tianjin Online Judge/1874 - Back to Intermediate Math.cpp create mode 100755 Tianjin Online Judge/1884 - Pascal's Travels.cpp create mode 100755 Tianjin Online Judge/1885 - Overflowing Bookshelf.cpp create mode 100755 Tianjin Online Judge/1886 - Connect.cpp create mode 100755 Tianjin Online Judge/1887 - Copier Reduction.cpp create mode 100755 Tianjin Online Judge/1891 - Leapin' Lizards.cpp create mode 100755 Tianjin Online Judge/1892 - Netiquette.cpp create mode 100755 Tianjin Online Judge/1896 - The Fortified Forest.cpp create mode 100755 Tianjin Online Judge/1901 - Booklet Printing.cpp create mode 100755 Tianjin Online Judge/1902 - Finding Rectangles.cpp create mode 100755 Tianjin Online Judge/1903 - Word Amalgamation.cpp create mode 100755 Tianjin Online Judge/1905 - Myacm Triangles -.cpp create mode 100755 Tianjin Online Judge/1906 - Exchange Rates.cpp create mode 100755 Tianjin Online Judge/1907 - Loansome Car Buyer.cpp create mode 100755 Tianjin Online Judge/1908 - Automatic Editing.cpp create mode 100755 Tianjin Online Judge/1909 - Robot Motion.cpp create mode 100755 Tianjin Online Judge/1910 - The Triangle Game.cpp create mode 100755 Tianjin Online Judge/1911 - Easier Done than Said.cpp create mode 100755 Tianjin Online Judge/1912 - Colorville.cpp create mode 100755 Tianjin Online Judge/1916 - Transmitters.cpp create mode 100755 Tianjin Online Judge/1917 - W's Cipher.cpp create mode 100755 Tianjin Online Judge/1920 - Hangover.cpp create mode 100755 Tianjin Online Judge/1922 - Image Perimeters.cpp create mode 100755 Tianjin Online Judge/1923 - Tanning Salon.cpp create mode 100755 Tianjin Online Judge/1924 - Jungle Roads.cpp create mode 100755 Tianjin Online Judge/1925 - Clay Bully.cpp create mode 100755 Tianjin Online Judge/1930 - Doubles.cpp create mode 100755 Tianjin Online Judge/1935 - Symmetric Order.cpp create mode 100755 Tianjin Online Judge/1936 - Flow Layout.cpp create mode 100755 Tianjin Online Judge/1939 - Speed Limit.cpp create mode 100755 Tianjin Online Judge/1943 - Gleaming the Cubes.cpp create mode 100755 Tianjin Online Judge/1945 - Perfect Cubes.cpp create mode 100755 Tianjin Online Judge/1951 - Polynomial Showdown.cpp create mode 100755 Tianjin Online Judge/1959 - Oil Deposits.cpp create mode 100755 Tianjin Online Judge/1961 - Sum It Up.cpp create mode 100755 Tianjin Online Judge/1963 - Haiku Review.cpp create mode 100755 Tianjin Online Judge/1991 - Sequence.cpp create mode 100755 Tianjin Online Judge/2001 - Counting Sheep.cpp create mode 100755 Tianjin Online Judge/2005 - Queens, Knights and Pawns.cpp create mode 100755 Tianjin Online Judge/2009 - Two Ends.cpp create mode 100755 Tianjin Online Judge/2010 - Sum of Consecutive Prime Numbers.cpp create mode 100755 Tianjin Online Judge/2020 - Palindromes.cpp create mode 100755 Tianjin Online Judge/2025 - Prime Cuts.cpp create mode 100755 Tianjin Online Judge/2027 - Uniform Generator.cpp create mode 100755 Tianjin Online Judge/2033 - Risk.cpp create mode 100755 Tianjin Online Judge/2034 - Just the facts.cpp create mode 100755 Tianjin Online Judge/2041 - Ratio.cpp create mode 100755 Tianjin Online Judge/2051 - Keep on Truckin'.cpp create mode 100755 Tianjin Online Judge/2056 - Series Determination.cpp create mode 100755 Tianjin Online Judge/2062 - Choose Your Own Adventure.cpp create mode 100755 Tianjin Online Judge/2066 - No Brainer.cpp create mode 100755 Tianjin Online Judge/2075 - Four Quarters.cpp create mode 100755 Tianjin Online Judge/2076 - The Drunk Jailer.cpp create mode 100755 Tianjin Online Judge/2101 - Bullseye.cpp create mode 100755 Tianjin Online Judge/2103 - Flipping Pancake.cpp create mode 100755 Tianjin Online Judge/2104 - Model Rocket Height.cpp create mode 100755 Tianjin Online Judge/2120 - Pseudo-Random Numbers.cpp create mode 100755 Tianjin Online Judge/2122 - Help!.cpp create mode 100755 Tianjin Online Judge/2123 - Head or Tail.cpp create mode 100755 Tianjin Online Judge/2124 - Land Division Tax.cpp create mode 100755 Tianjin Online Judge/2127 - Magic Trick.cpp create mode 100755 Tianjin Online Judge/2130 - Grandpa is Famous.cpp create mode 100755 Tianjin Online Judge/2132 - Ambiguous permutations.cpp create mode 100755 Tianjin Online Judge/2140 - Tornado.cpp create mode 100755 Tianjin Online Judge/2142 - Pascal Library.cpp create mode 100755 Tianjin Online Judge/2145 - Where Are My Genes.cpp create mode 100755 Tianjin Online Judge/2146 - Computer DJ.cpp create mode 100755 Tianjin Online Judge/2147 - P-Networks.cpp create mode 100755 Tianjin Online Judge/2159 - Black Box.cpp create mode 100755 Tianjin Online Judge/2169 - Number Sequence.cpp create mode 100755 Tianjin Online Judge/2183 - Checker Game.cpp create mode 100755 Tianjin Online Judge/2184 - Computer Games II.cpp create mode 100755 Tianjin Online Judge/2187 - Computer Games III.cpp create mode 100755 Tianjin Online Judge/2188 - Sum of Factorials.cpp create mode 100755 Tianjin Online Judge/2189 - The Key Stations.cpp create mode 100755 Tianjin Online Judge/2190 - Nuanran's Idol.cpp create mode 100755 Tianjin Online Judge/2192 - Prairie dogs I.cpp create mode 100755 Tianjin Online Judge/2193 - A Simple Game.cpp create mode 100755 Tianjin Online Judge/2194 - Mine.cpp create mode 100755 Tianjin Online Judge/2196 - Nuanran's Idol II.cpp create mode 100755 Tianjin Online Judge/2199 - A+B Problem.cpp create mode 100755 Tianjin Online Judge/2200 - Knight's Travel.cpp create mode 100755 Tianjin Online Judge/2217 - Invitation Cards.cpp create mode 100755 Tianjin Online Judge/2218 - Super Square.cpp create mode 100755 Tianjin Online Judge/2230 - Gangsters.cpp create mode 100755 Tianjin Online Judge/2231 - Super A+B Problem.cpp create mode 100755 Tianjin Online Judge/2232 - A Friendly Game.cpp create mode 100755 Tianjin Online Judge/2237 - Sea Battle.cpp create mode 100755 Tianjin Online Judge/2241 - Ancestor.cpp create mode 100755 Tianjin Online Judge/2243 - Number Sequence.cpp create mode 100755 Tianjin Online Judge/2252 - Going to Alpha Centauri (iterativo).cpp create mode 100755 Tianjin Online Judge/2252 - Going to Alpha Centauri (memoization).cpp create mode 100755 Tianjin Online Judge/2288 - Highways.cpp create mode 100755 Tianjin Online Judge/2290 - Ferry Loading IV.cpp create mode 100755 Tianjin Online Judge/2291 - Card Hands.cpp create mode 100755 Tianjin Online Judge/2294 - How many 0's.cpp create mode 100755 Tianjin Online Judge/2300 - Firepersons.cpp create mode 100755 Tianjin Online Judge/2308 - Divisors.cpp create mode 100755 Tianjin Online Judge/2312 - Help Me with the Game.cpp create mode 100755 Tianjin Online Judge/2315 - Brackets sequence.cpp create mode 100755 Tianjin Online Judge/2316 - Cable master.cpp create mode 100755 Tianjin Online Judge/2321 - Pairs of integers.cpp create mode 100755 Tianjin Online Judge/2322 - Nearest number - 2.cpp create mode 100755 Tianjin Online Judge/2327 - Simple prefix compression.cpp create mode 100755 Tianjin Online Judge/2339 - Diophantus of Alexandria.cpp create mode 100755 Tianjin Online Judge/2340 - Tudoku.cpp create mode 100755 Tianjin Online Judge/2343 - Knights of the Round Table.cpp create mode 100755 Tianjin Online Judge/2344 - Honeymoon Hike.cpp create mode 100755 "Tianjin Online Judge/2346 - Gau\303\237 in Elementary School.cpp" create mode 100755 Tianjin Online Judge/2350 - Laserbox.cpp create mode 100755 Tianjin Online Judge/2353 - Reduced ID Numbers.cpp create mode 100755 Tianjin Online Judge/2369 - Circle Drawing.cpp create mode 100755 Tianjin Online Judge/2391 - Ancient Cipher.cpp create mode 100755 Tianjin Online Judge/2404 - Bin Packing.cpp create mode 100755 Tianjin Online Judge/2420 - S-nim.cpp create mode 100755 Tianjin Online Judge/2425 - Tourist.cpp create mode 100755 Tianjin Online Judge/2427 - The Cow Doctor.cpp create mode 100755 Tianjin Online Judge/2432 - Martian Mining.cpp create mode 100755 Tianjin Online Judge/2468 - Counting Letters.cpp create mode 100755 Tianjin Online Judge/2469 - Friends.cpp create mode 100755 Tianjin Online Judge/2476 - Semi-prime H-numbers.cpp create mode 100755 Tianjin Online Judge/2483 - Nasty Hacks.cpp create mode 100755 Tianjin Online Judge/2489 - Honeycomb Walk.cpp create mode 100755 Tianjin Online Judge/2490 - Broken Necklace.cpp create mode 100755 Tianjin Online Judge/2491 - Hello Kitty.cpp create mode 100755 Tianjin Online Judge/2493 - Equidivisions.cpp create mode 100755 Tianjin Online Judge/2501 - Score.cpp create mode 100755 Tianjin Online Judge/2502 - Digit Generator.cpp create mode 100755 Tianjin Online Judge/2504 - Pinary.cpp create mode 100755 Tianjin Online Judge/2520 - Quicksum.cpp create mode 100755 Tianjin Online Judge/2521 - Linear Pachinko.cpp create mode 100755 Tianjin Online Judge/2522 - Surprising Strings.cpp create mode 100755 Tianjin Online Judge/2524 - Frugal Search.cpp create mode 100755 Tianjin Online Judge/2525 - Go Go Gorelians.cpp create mode 100755 Tianjin Online Judge/2526 - Root of the Problem.cpp create mode 100755 Tianjin Online Judge/2530 - AGTC.cpp create mode 100755 Tianjin Online Judge/2531 - Oreon.cpp create mode 100755 Tianjin Online Judge/2533 - Wordfish.cpp create mode 100755 Tianjin Online Judge/2537 - Quick Change.cpp create mode 100755 Tianjin Online Judge/2538 - Triangular Sums.cpp create mode 100755 Tianjin Online Judge/2542 - Visible Lattice Points.cpp create mode 100755 Tianjin Online Judge/2547 - Subsequence.cpp create mode 100755 Tianjin Online Judge/2548 - Celebrity jeopardy.cpp create mode 100755 Tianjin Online Judge/2560 - The Explorer.cpp create mode 100755 Tianjin Online Judge/2569 - The Idiot of the Year Contest.cpp create mode 100755 Tianjin Online Judge/2591 - Wine Trading in Gergovia.cpp create mode 100755 Tianjin Online Judge/2593 - The Pilots Brothers Refrigerator.cpp create mode 100755 Tianjin Online Judge/2601 - Dirichlet's Theorem on Arithmetic Progressions.cpp create mode 100755 Tianjin Online Judge/2610 - Sum of Different Primes.cpp create mode 100755 Tianjin Online Judge/2624 - Numeral System.cpp create mode 100755 Tianjin Online Judge/2625 - Traveling by Stagecoach.cpp create mode 100755 Tianjin Online Judge/2627 - Cleaning Robot.cpp create mode 100755 Tianjin Online Judge/2628 - Subsequence.cpp create mode 100755 Tianjin Online Judge/2636 - Hanafuda Shuffle.cpp create mode 100755 Tianjin Online Judge/2637 - Red and Black.cpp create mode 100755 Tianjin Online Judge/2644 - Pie.cpp create mode 100755 Tianjin Online Judge/2647 - Printer Queue.cpp create mode 100755 Tianjin Online Judge/2648 - Prime Path.cpp create mode 100755 Tianjin Online Judge/2650 - Leonardos Notebook.cpp create mode 100755 Tianjin Online Judge/2654 - Jackpot.cpp create mode 100755 Tianjin Online Judge/2674 - Java vs C++.cpp create mode 100755 Tianjin Online Judge/2686 - Sudoku Checker.cpp create mode 100755 Tianjin Online Judge/2693 - The Mailbox Manufacturers.cpp create mode 100755 Tianjin Online Judge/2696 - Collecting Beepers.cpp create mode 100755 Tianjin Online Judge/2698 - Goldbach's Conjecture.cpp create mode 100755 Tianjin Online Judge/2706 - Factoring a Polynomial.cpp create mode 100755 Tianjin Online Judge/2722 - K-th Number.cpp create mode 100755 Tianjin Online Judge/2745 - Permutation Recovery.cpp create mode 100755 Tianjin Online Judge/2756 - The Cow Lexicon.cpp create mode 100755 Tianjin Online Judge/2758 - Silver Cow Party.cpp create mode 100755 Tianjin Online Judge/2760 - Bronze Lilypad Pond.cpp create mode 100755 Tianjin Online Judge/2761 - Buy One Get One Free.cpp create mode 100755 Tianjin Online Judge/2762 - Balanced Lineup.cpp create mode 100755 Tianjin Online Judge/2767 - Qualified Primes.cpp create mode 100755 Tianjin Online Judge/2768 - Making Change.cpp create mode 100755 Tianjin Online Judge/2769 - The Bale Tower (DFS).cpp create mode 100755 Tianjin Online Judge/2769 - The Bale Tower (DP).cpp create mode 100755 Tianjin Online Judge/2770 - VIP Seats.cpp create mode 100755 Tianjin Online Judge/2771 - Don't Be Late.cpp create mode 100755 Tianjin Online Judge/2772 - Parallelogram.cpp create mode 100755 Tianjin Online Judge/2780 - Homework.cpp create mode 100755 Tianjin Online Judge/2782 - I am Lord Voldemort.cpp create mode 100755 Tianjin Online Judge/2783 - Amicable Pairs.cpp create mode 100755 Tianjin Online Judge/2791 - Bovine Latin.cpp create mode 100755 Tianjin Online Judge/2792 - Cows of the Round Table.cpp create mode 100755 Tianjin Online Judge/2794 - Bus.cpp create mode 100755 Tianjin Online Judge/2800 - Cube.cpp create mode 100755 Tianjin Online Judge/2803 - The Quadratic Equation.cpp create mode 100755 Tianjin Online Judge/2805 - Prairie dogs III.cpp create mode 100755 Tianjin Online Judge/2815 - Searching Problem.cpp create mode 100755 Tianjin Online Judge/2818 - Prairie dogs IV.cpp create mode 100755 Tianjin Online Judge/2819 - Travel.cpp create mode 100755 Tianjin Online Judge/2821 - Grouping Problem.cpp create mode 100755 Tianjin Online Judge/2822 - Cheapest Palindrome.cpp create mode 100755 Tianjin Online Judge/2823 - Dining.cpp create mode 100755 Tianjin Online Judge/2825 - Catch That Cow.cpp create mode 100755 Tianjin Online Judge/2827 - Cow Solitaire.cpp create mode 100755 Tianjin Online Judge/2828 - The Flower Garden.cpp create mode 100755 Tianjin Online Judge/2829 - Cow Counting.cpp create mode 100755 Tianjin Online Judge/2830 - Bronze Cow Party.cpp create mode 100755 Tianjin Online Judge/2831 - Wormholes.cpp create mode 100755 Tianjin Online Judge/2834 - Cow Picnic.cpp create mode 100755 Tianjin Online Judge/2835 - Cow Roller Coaster.cpp create mode 100755 Tianjin Online Judge/2838 - The Eating Puzzle.cpp create mode 100755 Tianjin Online Judge/2839 - Dream Counting.cpp create mode 100755 Tianjin Online Judge/2841 - Bitwise Reverse.cpp create mode 100755 Tianjin Online Judge/2843 - Diamonds.cpp create mode 100755 Tianjin Online Judge/2852 - Bad Hair Day.cpp create mode 100755 Tianjin Online Judge/2855 - New Cow Brands.cpp create mode 100755 Tianjin Online Judge/2856 - Serious Cow Tag.cpp create mode 100755 Tianjin Online Judge/2859 - S Number.cpp create mode 100755 Tianjin Online Judge/2862 - CityStar.cpp create mode 100755 Tianjin Online Judge/2866 - Mountain Majesties.cpp create mode 100755 Tianjin Online Judge/2867 - Picking Problem.cpp create mode 100755 Tianjin Online Judge/2870 - The K-th City.cpp create mode 100755 Tianjin Online Judge/2872 - Barbara Bennett's Wild Numbers.cpp create mode 100755 Tianjin Online Judge/2877 - Paradox With Averages.cpp create mode 100755 Tianjin Online Judge/2883 - City Mapping.cpp create mode 100755 Tianjin Online Judge/2891 - Sub-Sequence.cpp create mode 100755 Tianjin Online Judge/2892 - Task.cpp create mode 100755 Tianjin Online Judge/2897 - Humidex.cpp create mode 100755 Tianjin Online Judge/2908 - Annoying painting tool.cpp create mode 100755 Tianjin Online Judge/2909 - Black and white painting.cpp create mode 100755 Tianjin Online Judge/2910.cpp create mode 100755 Tianjin Online Judge/2911 - Deli Deli.cpp create mode 100755 Tianjin Online Judge/2912 - Expressions.cpp create mode 100755 Tianjin Online Judge/2913.cpp create mode 100755 Tianjin Online Judge/2914.cpp create mode 100755 Tianjin Online Judge/2915 - Halloween treats.cpp create mode 100755 Tianjin Online Judge/2917 - The Watchman.cpp create mode 100755 Tianjin Online Judge/2926 - Contest.cpp create mode 100755 Tianjin Online Judge/2927 - Cycle.cpp create mode 100755 Tianjin Online Judge/2933 - Pachinko.cpp create mode 100755 Tianjin Online Judge/2934 - Election Time.cpp create mode 100755 Tianjin Online Judge/2935 - Phone List.cpp create mode 100755 Tianjin Online Judge/2937 - Shopaholic.cpp create mode 100755 Tianjin Online Judge/2939 - Distinct Subsequences.cpp create mode 100755 Tianjin Online Judge/2943 - Love Letter.cpp create mode 100755 Tianjin Online Judge/2945 - HERMAN.cpp create mode 100755 Tianjin Online Judge/2946 - OKVIRI.cpp create mode 100755 Tianjin Online Judge/2948 - BOND.cpp create mode 100755 Tianjin Online Judge/2950 - PATULJCI.cpp create mode 100755 Tianjin Online Judge/2951 - NPUZZLE.cpp create mode 100755 Tianjin Online Judge/2953 - TENKICI.cpp create mode 100755 Tianjin Online Judge/2955 - CETVRTA.cpp create mode 100755 Tianjin Online Judge/2956 - PEG.cpp create mode 100755 Tianjin Online Judge/2960 - VECI.cpp create mode 100755 Tianjin Online Judge/2961 - LEKTIRA.cpp create mode 100755 Tianjin Online Judge/2966 - DIPU NUMBER 3.cpp create mode 100755 Tianjin Online Judge/2967 - Eazzzzzy.cpp create mode 100755 Tianjin Online Judge/2969 - HELP ! ! !.cpp create mode 100755 Tianjin Online Judge/2970 - Hackle Number.cpp create mode 100755 Tianjin Online Judge/2975 - Encription.cpp create mode 100755 Tianjin Online Judge/2988 - PLMM.cpp create mode 100755 Tianjin Online Judge/2990 - Simple Task.cpp create mode 100755 Tianjin Online Judge/2994 - Vector.cpp create mode 100755 Tianjin Online Judge/3002 - Vote.cpp create mode 100755 Tianjin Online Judge/3004 - Mispelling.cpp create mode 100755 Tianjin Online Judge/3006 - Encoding.cpp create mode 100755 Tianjin Online Judge/3007 - Decoding.cpp create mode 100755 Tianjin Online Judge/3011 - Tiling a Grid With Dominoes.cpp create mode 100755 Tianjin Online Judge/3013 - Alfredo's Pizza Restaurant.cpp create mode 100755 Tianjin Online Judge/3015 - Convert Kilometers to Miles.cpp create mode 100755 Tianjin Online Judge/3016 - Decode the Strings.cpp create mode 100755 Tianjin Online Judge/3017 - El Dorado.cpp create mode 100755 Tianjin Online Judge/3019 - A Game with Marbles.cpp create mode 100755 Tianjin Online Judge/3021 - CIVIC DILL MIX.cpp create mode 100755 Tianjin Online Judge/3029 - Assemble.cpp create mode 100755 Tianjin Online Judge/3036 - Obfuscation.cpp create mode 100755 Tianjin Online Judge/3039 - Judging Olympia.cpp create mode 100755 Tianjin Online Judge/3042 - A Tale from the Dark Side of The Moon.cpp create mode 100755 Tianjin Online Judge/3043 - Fermat's Chirstmas Theorem.cpp create mode 100755 Tianjin Online Judge/3050 - Encrypted SMS.cpp create mode 100755 Tianjin Online Judge/3051 - Hopeless Coach.cpp create mode 100755 Tianjin Online Judge/3070 - Encryption.cpp create mode 100755 Tianjin Online Judge/3071 - Number Game.cpp create mode 100755 Tianjin Online Judge/3073 - Country Road.cpp create mode 100755 Tianjin Online Judge/3076 - Prime Gap.cpp create mode 100755 Tianjin Online Judge/3085 - One is an Interesting Number.cpp create mode 100755 Tianjin Online Judge/3086 - Verdis Quo.cpp create mode 100755 Tianjin Online Judge/3090 - Rout 66.cpp create mode 100755 Tianjin Online Judge/3098 - Event Planning.cpp create mode 100755 Tianjin Online Judge/3104 - Go Home.cpp create mode 100755 Tianjin Online Judge/3105 - A Way To Find Primes.cpp create mode 100755 Tianjin Online Judge/3108 - Common item.cpp create mode 100755 Tianjin Online Judge/3110 - Grey Area.cpp create mode 100755 Tianjin Online Judge/3111 - Expected Allowance.cpp create mode 100755 Tianjin Online Judge/3122 - Perfect Election.cpp create mode 100755 Tianjin Online Judge/3124 - Build Your Home.cpp create mode 100755 Tianjin Online Judge/3128 - Internet Service Providers.cpp create mode 100755 Tianjin Online Judge/3140 - Switching Lights.cpp create mode 100755 Tianjin Online Judge/3146 - Mixed Up Cows.cpp create mode 100755 Tianjin Online Judge/3150 - Sixth Grade Math.cpp create mode 100755 Tianjin Online Judge/3151 - Cryptoquote.cpp create mode 100755 Tianjin Online Judge/3152 - Binary Clock.cpp create mode 100755 Tianjin Online Judge/3156 - Area of Polycubes.cpp create mode 100755 Tianjin Online Judge/3160 - Bad Grass.cpp create mode 100755 Tianjin Online Judge/3161 - Hay Expenses.cpp create mode 100755 Tianjin Online Judge/3162 - Hay For Sale.cpp create mode 100755 Tianjin Online Judge/3163 - Patting Heads.cpp create mode 100755 Tianjin Online Judge/3165 - Trick or Treat on the Farm.cpp create mode 100755 Tianjin Online Judge/3169 - Back to the Barn.cpp create mode 100755 Tianjin Online Judge/3170 - Music Notes.cpp create mode 100755 Tianjin Online Judge/3182 - Wooden Fence.cpp create mode 100755 Tianjin Online Judge/3195 - Cruel Math Teacher, I.java create mode 100755 Tianjin Online Judge/3199 - Balls and Cows.cpp create mode 100755 Tianjin Online Judge/3202 - Revamping Trails.cpp create mode 100755 Tianjin Online Judge/3204 - Plumbing the Pond.cpp create mode 100755 Tianjin Online Judge/3205 - The Perfect Cow.cpp create mode 100755 Tianjin Online Judge/3206 - Dairy Queen.cpp create mode 100755 Tianjin Online Judge/3207 - Sand Castle.cpp create mode 100755 Tianjin Online Judge/3208 - Cow Frisbee Team.cpp create mode 100755 Tianjin Online Judge/3209 - Look Up.cpp create mode 100755 Tianjin Online Judge/3210 - Moon Mooing.cpp create mode 100755 Tianjin Online Judge/3213 - Cup.cpp create mode 100755 Tianjin Online Judge/3214 - Find the Path.cpp create mode 100755 Tianjin Online Judge/3216 - Minimum Heap.cpp create mode 100755 Tianjin Online Judge/3217 - Name PK.cpp create mode 100755 Tianjin Online Judge/3224 - Birthday Cake.cpp create mode 100755 Tianjin Online Judge/3232 - kangaroo.cpp create mode 100755 Tianjin Online Judge/3234 - Grasshopper.cpp create mode 100755 Tianjin Online Judge/3237 - Change Base.cpp create mode 100755 Tianjin Online Judge/3238 - Equation.cpp create mode 100755 Tianjin Online Judge/3243 - Blocked Road.cpp create mode 100755 Tianjin Online Judge/3247 - Final Guessing.cpp create mode 100755 Tianjin Online Judge/3249 - Happy Coins.cpp create mode 100755 Tianjin Online Judge/3251 - Day of Week.cpp create mode 100755 Tianjin Online Judge/3259 - Mysterious Number.cpp create mode 100755 Tianjin Online Judge/3288 - Stockholm Numbers.cpp create mode 100755 Tianjin Online Judge/3300 - Euler Function.cpp create mode 100755 Tianjin Online Judge/3302 - The Troubles of Lmy.cpp create mode 100755 Tianjin Online Judge/3306 - Matrix Swapping II.cpp create mode 100755 "Tianjin Online Judge/3308 - Snail\342\200\231s trouble.cpp" create mode 100755 Tianjin Online Judge/3320 - Coins.cpp create mode 100755 Tianjin Online Judge/3341 - Sum of Digits.cpp create mode 100755 Tianjin Online Judge/3348 - Scales.cpp create mode 100755 Tianjin Online Judge/3445 - Soda Surpler.cpp create mode 100755 Tianjin Online Judge/3446 - Money Matters.cpp create mode 100755 Tianjin Online Judge/3453 - Playfair Cipher.cpp create mode 100755 Tianjin Online Judge/3455 - Diamonds.cpp create mode 100755 Tianjin Online Judge/3463 - Who Brings the Cookies.cpp create mode 100755 Tianjin Online Judge/3466 - Need for Speed.cpp create mode 100755 Tianjin Online Judge/3467 - 3467.cpp create mode 100755 Tianjin Online Judge/3469 - Apples.cpp create mode 100755 Tianjin Online Judge/3470 - Key Integer.cpp create mode 100755 Tianjin Online Judge/3471 - Happy XiaoXiao Guo.cpp create mode 100755 Tianjin Online Judge/3472 - Chopin.cpp create mode 100755 Tianjin Online Judge/3483 - Common Divisor.cpp create mode 100755 Tianjin Online Judge/3488 - Stones II.cpp create mode 100755 Tianjin Online Judge/3503 - Degree.cpp create mode 100755 Tianjin Online Judge/3508 - Minimum Scalar Product.cpp create mode 100755 Tianjin Online Judge/3511 - Staircases.cpp create mode 100755 Tianjin Online Judge/3516 - Game of Stones.cpp create mode 100755 Tianjin Online Judge/3561 - DNA Sequencing.cpp create mode 100755 Tianjin Online Judge/3591 - Thieves.cpp create mode 100755 Tianjin Online Judge/3596 - Watch The Movie.cpp create mode 100755 "Tianjin Online Judge/Clasificaci\303\263n.txt" create mode 100755 Tianjin Online Judge/TDV/1082 - Ride to School.cpp create mode 100755 Tianjin Online Judge/TDV/1096 - Color a Tree (WA).cpp create mode 100755 Tianjin Online Judge/TDV/1794 - The Bottom of a Graph.cpp create mode 100755 Tianjin Online Judge/TDV/1815 - Three Sides Make a Triangle (WA).cpp create mode 100755 Tianjin Online Judge/TDV/2251 - Four Points.cpp create mode 100755 Tianjin Online Judge/TDV/2438 - Takeshi Castle.cpp create mode 100755 Tianjin Online Judge/TDV/2765 - Protecting the Flowers.cpp create mode 100755 Tianjin Online Judge/TDV/2808 - String's Puzzle (WA) overflow talvez.cpp create mode 100755 Tianjin Online Judge/TDV/2840 - Apple tree.cpp create mode 100755 Tianjin Online Judge/TDV/2840 decowboy.cpp create mode 100755 Tianjin Online Judge/TDV/2857 - Digit Sorting.cpp create mode 100755 Tianjin Online Judge/TDV/2873 - Party at Hali-Bula.cpp create mode 100755 Tianjin Online Judge/TDV/2904 - Counting (WA).cpp create mode 100755 Tianjin Online Judge/TDV/3103 - Just A Few More Triangles! (TL).cpp create mode 100755 Tianjin Online Judge/TDV/3245 - DaFuWeng.cpp create mode 100755 Tianjin Online Judge/TDV/Digit Sorting - 2857(WA).cpp create mode 100755 Tianjin Online Judge/TDV/Factorial - 2845 (WA).cpp create mode 100755 Tianjin Online Judge/TDV/Ginkgo - 2987 (Time Limit).cpp create mode 100755 Tianjin Online Judge/TDV/Help Hakim - 2920 (time limit).cpp create mode 100755 Tianjin Online Judge/TDV/Modulus - 2924.cpp create mode 100755 Tianjin Online Judge/TDV/River Hopscotch - 2836 (Wrong Answer).cpp create mode 100755 Tianjin Online Judge/TDV/Smallest Difference - 1986.cpp create mode 100755 Tianjin Online Judge/TDV/The Happy Worm - 1316.cpp create mode 100755 Tianjin Online Judge/TDV/The elevator break - 2992.cpp create mode 100755 Tianjin Online Judge/TDV/Tian Ji -- The Horse Racing - 1188.cpp create mode 100755 Tianjin Online Judge/TDV/Uncompress - 1848 (Time Limit).cpp create mode 100755 Timus Online Judge/1000 - A+B Problem.cpp create mode 100755 Timus Online Judge/1001 - Reverse root.cpp create mode 100755 Timus Online Judge/1002 - Phone numbers.cpp create mode 100755 USACO/1.1/beads.cpp create mode 100755 USACO/1.1/friday.cpp create mode 100755 USACO/1.1/gift1.cpp create mode 100755 USACO/1.1/ride.cpp create mode 100755 USACO/1.2/dualpal.cpp create mode 100755 USACO/1.2/milk2.cpp create mode 100755 USACO/1.2/namenum.cpp create mode 100755 USACO/1.2/palsquare.cpp create mode 100755 USACO/1.2/transform.cpp create mode 100755 USACO/1.3/barn1.cpp create mode 100755 USACO/1.3/calfflac.cpp create mode 100755 USACO/1.3/crypt1.cpp create mode 100755 USACO/1.3/milk.cpp create mode 100755 USACO/1.4/ariprog.cpp create mode 100755 USACO/1.4/clocks.cpp create mode 100755 USACO/1.4/milk3.cpp create mode 100755 USACO/1.4/packrec.cpp create mode 100755 USACO/1.5/checker.cpp create mode 100755 USACO/1.5/numtri.cpp create mode 100755 USACO/1.5/pprime.cpp create mode 100755 USACO/1.5/sprime.cpp create mode 100755 USACO/2.1/castle.cpp create mode 100755 USACO/2.1/frac1.cpp create mode 100755 USACO/2.1/hamming.cpp create mode 100755 USACO/2.1/holstein.cpp create mode 100755 USACO/2.1/sort3.cpp create mode 100755 USACO/2.2/lamps.cpp create mode 100755 USACO/2.2/preface.cpp create mode 100755 USACO/2.2/runround.cpp create mode 100755 USACO/2.2/subset.cpp create mode 100755 USACO/2.3/money.cpp create mode 100755 USACO/2.3/nocows.cpp create mode 100755 USACO/2.3/prefix.cpp create mode 100755 USACO/2.3/zerosum.cpp create mode 100755 USACO/NOV 09 - Gold/1 - Lights.cpp create mode 100755 USACO/NOV 09 - Gold/1 - Lights.exe create mode 100755 USACO/NOV 09 - Gold/2 - Who Brings the Cookies.cpp create mode 100755 USACO/NOV 09 - Gold/2 - Who Brings the Cookies.exe create mode 100755 USACO/NOV 09 - Gold/in.txt create mode 100755 USACO/NOV 09 - Gold/out.txt create mode 100755 USACO/USACO Qualification 2009/P1.cpp create mode 100755 USACO/USACO Qualification 2009/P2.cpp create mode 100755 USACO/USACO Qualification 2009/P3.cpp create mode 100755 USACO/USACO Qualification 2009/P4.cpp create mode 100755 USACO/USACO Qualification 2009/P5.cpp create mode 100755 USACO/USACO Qualification 2009/P6.cpp create mode 100755 USACO/USACO Qualification 2009/P8.cpp create mode 100755 USACO/USACO Qualification 2009/P9.cpp create mode 100755 USACO/USACO Qualification 2009/in.txt create mode 100755 USACO/USACO Qualification 2009/out.txt create mode 100755 UVA/A - Logarithm.cpp create mode 100755 UVA/B - Income Tax Hazard.cpp create mode 100755 UVA/C/10000 - Longest Paths.cpp create mode 100755 UVA/C/10002 - Center of Masses.cpp create mode 100755 UVA/C/10003 - Cutting Sticks.cpp create mode 100755 UVA/C/10004 - Bicoloring.cpp create mode 100755 UVA/C/10008 - What's Cryptanalysis.cpp create mode 100755 UVA/C/10013 - Super long sums.cpp create mode 100755 UVA/C/10014 - Simple calculations.cpp create mode 100755 UVA/C/10020 - Minimal coverage.cpp create mode 100755 UVA/C/10034 - Freckles.cpp create mode 100755 UVA/C/10035 - Primary Arithmetic.cpp create mode 100755 UVA/C/10038 - Jolly Jumpers.cpp create mode 100755 UVA/C/10041 - Vito's Family.cpp create mode 100755 UVA/C/10067 - Playing with Wheels.cpp create mode 100755 UVA/C/10071 - Back to High School Physics.cpp create mode 100755 UVA/C/10078 - The Art Gallery.cpp create mode 100755 UVA/C/10079 - Pizza Cutting.cpp create mode 100755 UVA/C/10082 - WERTYU.cpp create mode 100755 UVA/C/10088 - Trees on My Island.cpp create mode 100755 UVA/C/10099 - The Tourist Guide 2.cpp create mode 100755 UVA/C/10099 - The Tourist Guide.cpp create mode 100755 UVA/CI/10100 - Longest Match.cpp create mode 100755 UVA/CI/10102 - The path in the colored field.cpp create mode 100755 UVA/CI/10107 - What is the median.cpp create mode 100755 UVA/CI/10110 - Light, more light.cpp create mode 100755 UVA/CI/10112 - Myacm Triangles -.cpp create mode 100755 UVA/CI/10113 - Exchange Rates.cpp create mode 100755 UVA/CI/10114 - Loansome Car Buyer.cpp create mode 100755 UVA/CI/10115 - Automatic Editing.cpp create mode 100755 UVA/CI/10116 - Robot Motion.cpp create mode 100755 UVA/CI/10127 - Ones.cpp create mode 100755 UVA/CI/10131 - Is Bigger Smarter.cpp create mode 100755 UVA/CI/10195 - The Knights Of The Round Table.cpp create mode 100755 UVA/CI/10199 - Tourist Guide.cpp create mode 100755 UVA/CII/10209 - Is this integration.cpp create mode 100755 UVA/CII/10210 - Romeo and Juliet.cpp create mode 100755 UVA/CII/10215 - The largest-smallest box.cpp create mode 100755 UVA/CII/10219 - Find the ways.cpp create mode 100755 UVA/CII/10221 - Satellites.cpp create mode 100755 UVA/CII/10222 - Decode the mad man.cpp create mode 100755 UVA/CII/10223 - How many nodes.cpp create mode 100755 UVA/CII/10242 - Fourth Point.cpp create mode 100755 UVA/CII/10259 - Hippity Hopscotch.cpp create mode 100755 UVA/CII/10260 - Soundex.cpp create mode 100755 UVA/CII/10278 - Fire Station.cpp create mode 100755 UVA/CII/10286 - Trouble with a Pentagon.cpp create mode 100755 UVA/CII/10297 - Beavergnaw.cpp create mode 100755 UVA/CIII/10300 - Ecological Premium.cpp create mode 100755 UVA/CIII/10301 - Rings and Glue.cpp create mode 100755 UVA/CIII/10302 - Summation of Polynomials.cpp create mode 100755 UVA/CIII/10323 - Factorial! You Must be Kidding!!!.cpp create mode 100755 UVA/CIII/10330 - Power Transmission.cpp create mode 100755 UVA/CIII/10338 - Mischievous Children.cpp create mode 100755 UVA/CIII/10340 - All in All.cpp create mode 100755 UVA/CIII/10341 - Solve It.cpp create mode 100755 UVA/CIII/10346 - Peter's Smoke.cpp create mode 100755 UVA/CIII/10361 - Automatic Poetry.cpp create mode 100755 UVA/CIII/10370 - Above Average.cpp create mode 100755 UVA/CIII/10391 - Compound Words.cpp create mode 100755 UVA/CIV/10404 - Bachet's Game.cpp create mode 100755 UVA/CIV/10405 - Longest Common Subsequence.cpp create mode 100755 UVA/CIV/10420 - List of Conquests.cpp create mode 100755 UVA/CIV/10424 - Love Calculator.cpp create mode 100755 UVA/CIV/10432 - Polygon Inside A Circle.cpp create mode 100755 UVA/CIV/10439 - Temple of Dune.cpp create mode 100755 UVA/CIV/10440 - Ferry Loading II.cpp create mode 100755 UVA/CIV/10443 - Rock, Scissors, Paper.cpp create mode 100755 UVA/CIV/10465 - Homer Simpson.cpp create mode 100755 UVA/CIV/10469 - To Carry or not to Carry.cpp create mode 100755 UVA/CIX/10929 - You can say 11.cpp create mode 100755 UVA/CIX/10946 - You want what filled.cpp create mode 100755 UVA/CIX/10989 - Bomb, Divide and Conquer.cpp create mode 100755 UVA/CIX/10991 - Region.cpp create mode 100755 UVA/CV/10583 - Ubiquitous Religions.cpp create mode 100755 UVA/CV/10594 - Data Flow.cpp create mode 100755 UVA/CVI/10608 - Friends.cpp create mode 100755 UVA/CVI/10637 - Coprimes.cpp create mode 100755 UVA/CVI/10696 - f91.cpp create mode 100755 UVA/CVI/10699 - Count the factors.cpp create mode 100755 UVA/CVII/10746 - Crime Wave - The Sequel.cpp create mode 100755 UVA/CVII/10773 - Back to Intermediate Math.cpp create mode 100755 UVA/CVII/10783 - Odd Sum.cpp create mode 100755 UVA/CVIII/10806 - Dijkstra, Dijkstra.cpp create mode 100755 UVA/CXI/11110 - Equidivisions.cpp create mode 100755 UVA/CXI/11152 - Colourful Flowers.cpp create mode 100755 UVA/CXI/11172 - Relational Operators.cpp create mode 100755 UVA/CXII/11233 - Deli Deli.cpp create mode 100755 UVA/CXII/11237 - Halloween treats.cpp create mode 100755 UVA/CXII/11280 - Flying to Fredericton.cpp create mode 100755 UVA/CXIII/11351 - Last Man Standing.cpp create mode 100755 UVA/CXIII/11362 - Phone List.cpp create mode 100755 UVA/CXIII/11383 - Golden Tiger Claw.cpp create mode 100755 UVA/CXIV/11495 - Bubbles and Buckets.cpp create mode 100755 UVA/CXV/11506 - Angry Programmer.cpp create mode 100755 UVA/CXV/11553 - Grid Game.cpp create mode 100755 UVA/CXV/11569 - Lovely Hint.cpp create mode 100755 UVA/CXV/11573 - Ocean Currents.cpp create mode 100755 UVA/CXV/11597 - Spanning Subtree.cpp create mode 100755 UVA/CXVI/11626 - Convex Hull.cpp create mode 100755 UVA/CXVI/11646 - Athletics Track.cpp create mode 100755 UVA/CXVI/11648 - Divide The Land.cpp create mode 100755 UVA/CXVIII/11827 - Maximum GCD.cpp create mode 100755 UVA/I/100 - 3n+1.cpp create mode 100755 UVA/I/102 - Ecological Bin Packing.cpp create mode 100755 UVA/I/108 - Maximum Sum.cpp create mode 100755 UVA/I/109 - SCUD Busters.cpp create mode 100755 UVA/I/111 - History Grading.cpp create mode 100755 UVA/I/113 - Power of Cryptography.cpp create mode 100755 UVA/I/116 - Unidirectional TSP.cpp create mode 100755 UVA/I/117 - The Postal Worker Rings Once.cpp create mode 100755 UVA/I/119 - Greedy Gift Givers.cpp create mode 100755 UVA/I/120 - Stacks of Flapjacks.cpp create mode 100755 UVA/I/132 - Bumpy Objects.cpp create mode 100755 UVA/I/136 - Ugly Numbers.cpp create mode 100755 UVA/I/138 - Street Numbers.cpp create mode 100755 UVA/I/143 - Orchard Trees.cpp create mode 100755 UVA/I/146 - ID Codes.cpp create mode 100755 UVA/I/147 - Dollars.cpp create mode 100755 UVA/I/151 - Power Crisis.cpp create mode 100755 UVA/I/167 - The Sultan's Successors.cpp create mode 100755 UVA/I/168 - Theseus and the Minotaur.cpp create mode 100755 UVA/I/191 - Intersection.cpp create mode 100755 UVA/II/200 - Rare Order.cpp create mode 100755 UVA/II/218 - Moth Eradication.cpp create mode 100755 UVA/II/256 - Quirksome Squares.cpp create mode 100755 UVA/II/259 - Software Allocation.cpp create mode 100755 UVA/II/260 - Il Gioco dell'X.cpp create mode 100755 UVA/II/264 - Count on Cantor.cpp create mode 100755 UVA/II/272 - TEX Quotes.cpp create mode 100755 UVA/II/280 - Vertex.cpp create mode 100755 UVA/II/291 - The House Of Santa Claus.cpp create mode 100755 UVA/II/299 - Train Swapping.cpp create mode 100755 UVA/III/300 - Maya Calendar.cpp create mode 100755 UVA/III/305 - Joseph.cpp create mode 100755 UVA/III/306 - Cipher.cpp create mode 100755 UVA/III/314 - Robot.cpp create mode 100755 UVA/III/315 - Network.cpp create mode 100755 UVA/III/350 - Pseudo-Random Numbers.cpp create mode 100755 UVA/III/352 - The Seasonal War.cpp create mode 100755 UVA/III/357 - Let Me Count The Ways -.cpp create mode 100755 UVA/III/369 - Combinations.cpp create mode 100755 UVA/III/374 - Big Mod.cpp create mode 100755 UVA/III/382 - Perfection.cpp create mode 100755 UVA/III/383 - Shipping Routes.cpp create mode 100755 UVA/III/386 - Perfect Cubes.cpp create mode 100755 UVA/III/392 - Polynomial Showdown.cpp create mode 100755 UVA/IV/401 - Palindromes.cpp create mode 100755 UVA/IV/408 - Uniform Generator.cpp create mode 100755 UVA/IV/412 - Pi.cpp create mode 100755 UVA/IV/417 - Word Index.cpp create mode 100755 UVA/IV/436 - Arbitrage.cpp create mode 100755 UVA/IV/437 - The Tower of Babylon.cpp create mode 100755 UVA/IV/438 - The Circumference of the Circle.cpp create mode 100755 UVA/IV/439 - Knight Moves.cpp create mode 100755 UVA/IV/440 - Eeny Meeny Moo.cpp create mode 100755 UVA/IV/441 - Lotto.cpp create mode 100755 UVA/IV/443 - Humble Numbers.cpp create mode 100755 UVA/IV/458 - The Decoder.cpp create mode 100755 UVA/IV/459 - Graph Connectivity.cpp create mode 100755 UVA/IV/469 - Wetlands of Florida.cpp create mode 100755 UVA/IV/476 - Points in Figures - Rectangles.cpp create mode 100755 UVA/IV/483 - Word Scramble.cpp create mode 100755 UVA/IV/490 - Rotating Sentences.cpp create mode 100755 UVA/IV/492 - Pig-Latin.cpp create mode 100755 UVA/IV/494 - Kindergarten Counting Game.cpp create mode 100755 UVA/IV/499 - What's The Frequency, Kenneth.cpp create mode 100755 UVA/IX/900 - Brick Wall Patterns.cpp create mode 100755 UVA/IX/913 - Joana and the Odd Numbers.cpp create mode 100755 UVA/IX/928 - Eternal Truths.cpp create mode 100755 UVA/IX/929 - Number Maze (10 queues).cpp create mode 100755 UVA/IX/929 - Number Maze (dijkstra).cpp create mode 100755 UVA/IX/985 - Round and Round Maze.cpp create mode 100755 UVA/IX/988 - Many Paths, One Destination.cpp create mode 100755 UVA/IX/989 - Su Doku.cpp create mode 100755 UVA/Todavia/10180(Wrong Answer)/Roper Crisis in Ropeland!.cpp create mode 100755 UVA/Todavia/10180(Wrong Answer)/Roper Crisis in Ropeland!.exe create mode 100755 UVA/Todavia/10180(Wrong Answer)/in.txt create mode 100755 UVA/Todavia/10180(Wrong Answer)/out.txt create mode 100755 UVA/Todavia/711 - Dividing up (TLE).cpp create mode 100755 UVA/Todavia/Always on the run(Todavia)/Always on the run.cpp create mode 100755 UVA/Todavia/Always on the run(Todavia)/Always on the run.exe create mode 100755 UVA/Todavia/Always on the run(Todavia)/in.txt create mode 100755 UVA/Todavia/Always on the run(Todavia)/out.txt create mode 100755 UVA/Todavia/Counting (Todavia)/Counting.cpp create mode 100755 UVA/Todavia/Counting (Todavia)/Counting.exe create mode 100755 UVA/Todavia/Counting (Todavia)/input.txt create mode 100755 UVA/Todavia/Counting (Todavia)/output.txt create mode 100755 UVA/Todavia/Counting - 10198 (Overflow).cpp create mode 100755 UVA/Todavia/Fermat vs. Pythagoras - 106.cpp create mode 100755 UVA/Todavia/Following Orders - 124.cpp create mode 100755 UVA/Todavia/Graph Coloring - 193.cpp create mode 100755 UVA/Todavia/Litttle Bishops.cpp create mode 100755 UVA/Todavia/What Base Is This - 343.cpp create mode 100755 UVA/Todavia/Word Index(Todavia)/Word Index.cpp create mode 100755 UVA/Todavia/Word Index(Todavia)/Word Index.exe create mode 100755 UVA/Todavia/Word Index(Todavia)/in.txt create mode 100755 UVA/Todavia/Word Index(Todavia)/out.txt create mode 100755 UVA/V/515 - King.cpp create mode 100755 UVA/V/530 - Binomial Showdown.cpp create mode 100755 UVA/V/531 - Compromise.cpp create mode 100755 UVA/V/532 - Dungeon Master.cpp create mode 100755 UVA/V/536 - Tree Recovery.cpp create mode 100755 UVA/V/540 - Team Queue.cpp create mode 100755 UVA/V/541 - Error Correction.cpp create mode 100755 UVA/V/543 - Goldbach's Conjecture.cpp create mode 100755 UVA/V/544 - Heavy Cargo.cpp create mode 100755 UVA/V/558 - Wormholes.cpp create mode 100755 UVA/V/568 - Just the facts.cpp create mode 100755 UVA/V/572 - Oil Deposits.cpp create mode 100755 UVA/V/575 - Skew Binary.cpp create mode 100755 UVA/V/576 - Haiku Review.cpp create mode 100755 UVA/V/591 - Box of Bricks.cpp create mode 100755 UVA/VI/634 - Polygon.cpp create mode 100755 UVA/VI/674 - Coin Change.cpp create mode 100755 UVA/VI/675 - Convex Hull of the Polygon.cpp create mode 100755 UVA/VI/681 - Convex Hull Finding.cpp create mode 100755 UVA/VI/686 - Goldbach's Conjecture (II).cpp create mode 100755 UVA/VI/694 - The Collatz Sequence.cpp create mode 100755 UVA/VII/706 - LCD Display.cpp create mode 100755 UVA/VII/712 - S-Trees.cpp create mode 100755 UVA/VII/750 - 8 Queens Chess Problem.cpp create mode 100755 UVA/VII/753 - A Plug for UNIX.cpp create mode 100755 UVA/VII/793 - Network Connections.cpp create mode 100755 UVA/VII/796 - Critical Links.cpp create mode 100755 UVA/VIII/820 - Internet Bandwidth.cpp create mode 100755 UVA/VIII/847 - A Multiplication Game.cpp create mode 100755 UVA/VIII/895 - Word Problem.cpp create mode 100755 Z-Trening/Baltic Olympiads/ancient.cpp create mode 100755 Z-Trening/Baltic Olympiads/cards.cpp create mode 100755 Z-Trening/Basic Introductory Problems/Sum of Two Numbers.cpp create mode 100755 Z-Trening/Basic Introductory Problems/The Easiest Problem.cpp create mode 100755 Z-Trening/Serbian Olympiad in Informatics/igra.cpp create mode 100755 Z-Trening/ZCM Competitions/z-passwd.cpp create mode 100755 Z-Trening/contest/A.cpp create mode 100755 Z-Trening/contest/CharSwap.cpp create mode 100755 Z-Trening/contest/DivInt.cpp create mode 100755 Z-Trening/contest/IntGrid.cpp create mode 100755 Z-Trening/contest/Paycheck.cpp create mode 100755 Z-Trening/contest/RBGrid.cpp create mode 100755 Z-Trening/contest/Tournament.cpp create mode 100755 ZOJ/1050-2.cpp create mode 100755 ZOJ/1140 - Courses.cpp create mode 100755 ZOJ/1589 - Professor Jhon.cpp create mode 100755 ZOJ/1798 - Granny's Bike.cpp create mode 100755 ZOJ/Vol 1/1001 - A+B.cpp create mode 100755 ZOJ/Vol 1/1002 - Fire Net.cpp create mode 100755 ZOJ/Vol 1/1037 - Gridland.cpp create mode 100755 ZOJ/Vol 1/1041 - Transmitters.cpp create mode 100755 ZOJ/Vol 1/1048 - Financial Management.cpp create mode 100755 ZOJ/Vol 1/1049 - I Think I Need a Houseboat.cpp create mode 100755 ZOJ/Vol 1/1051 - A New Growth Industry.cpp create mode 100755 ZOJ/Vol 1/1067 - Color Me Less.cpp create mode 100755 ZOJ/Vol 1/1082 - Stockbroker Grapevine.cpp create mode 100755 ZOJ/Vol 1/1089 - Lotto.cpp create mode 100755 ZOJ/Vol 1/1090 - The Circumference of the Circle.cpp create mode 100755 ZOJ/Vol 22/3174 - Square Root Day.cpp create mode 100755 ZOJ/Vol 22/3179 - Calculate With Abacus.cpp create mode 100755 infoarena/Archivo de problemas/password.cpp create mode 100755 infoarena/Archivo de problemas/sequencequery.cpp create mode 100755 infoarena/Archivo de problemas/xormax.cpp create mode 100755 infoarena/Archivo educacional/biconexe.cpp create mode 100755 infoarena/Archivo educacional/ciclueuler.cpp create mode 100755 infoarena/Archivo educacional/cmap.cpp create mode 100755 infoarena/Archivo educacional/cuplaj.cpp create mode 100755 infoarena/Archivo educacional/euclid2.cpp create mode 100755 infoarena/Archivo educacional/euclid3.cpp create mode 100755 infoarena/Archivo educacional/fmcm.cpp create mode 100755 infoarena/Archivo educacional/maxflow.cpp create mode 100755 infoarena/Archivo educacional/ssm.cpp diff --git a/Live Archive/2038 - Strategic Game.cpp b/Live Archive/2038 - Strategic Game.cpp new file mode 100755 index 0000000..2b24d77 --- /dev/null +++ b/Live Archive/2038 - Strategic Game.cpp @@ -0,0 +1,156 @@ +#include +#include +#include +#include +#include +#include + +using namespace std; + +#define MAX_V 1+2*1500 +#define MAX_E 2*1500 +#define NIL 0 + +int E,to[MAX_E],next[MAX_E],last[MAX_V]; + +void init(){ + fill(last,last+MAX_V,-1); + E = 0; +} + +void add_edge(int u, int v){ + to[E] = v, next[E] = last[u]; last[u] = E; ++E; + to[E] = u, next[E] = last[v]; last[v] = E; ++E; +} + +int n,m,match[MAX_V],dist[MAX_V]; +int head,tail,q[MAX_V]; + +bool BFS(){ + head = tail = 0; + + for(int i = 1;i<=n;++i){ + if(match[i]==NIL){ + q[tail] = i; ++tail; + dist[i] = 0; + } + else dist[i] = INT_MAX; + } + + dist[NIL] = INT_MAX; + + int u,v; + + while(head L[n]; + + for(int i = 0;i Q; + Q.push(i); + visited[i] = true; + V1[i] = true; + + while(!Q.empty()){ + int aux = Q.front(); + Q.pop(); + + for(int j = L[aux].size()-1;j>=0;--j){ + int v = L[aux][j]; + + if(!visited[v]){ + Q.push(v); + visited[v] = true; + V1[v] = !V1[aux]; + } + } + } + } + } + + m = n; + init(); + + for(int i = 0;i=0;--j){ + int v = L[i][j]; + if(!V1[v]) add_edge(1+i,1+n+v); + } + } + } + + printf("%d\n",hopcroft_karp()); + } + + return 0; +} diff --git a/Live Archive/2044 - Courses.cpp b/Live Archive/2044 - Courses.cpp new file mode 100755 index 0000000..441a641 --- /dev/null +++ b/Live Archive/2044 - Courses.cpp @@ -0,0 +1,63 @@ +#include +#include +#include + +using namespace std; + +const int MAXV1 = 100; +const int MAXV2 = 300; + +vector L[MAXV1]; +bool visited[MAXV2]; +int V1,V2,match[MAXV2]; + +bool dfs(int u){ + for(int i=L[u].size()-1;i>=0;--i){ + int v = L[u][i]; + + if(!visited[v]){ + visited[v] = true; + if(match[v]==-1 || dfs(match[v])){ + match[v] = u; + return true; + } + } + } + return false; +} + +int maximum_matching(){ + int ans = 0; + memset(match,-1,sizeof(match)); + + for(int i=0;i + +using namespace std; + +int main(){ + int t,x,y; + + cin>>t; + + for(int i=0;i>x>>y; + + if(y>=0) + if(x==y) + if(x%2==0) cout<<2*x< + +using namespace std; + +int main(){ + int N,h1,m1,h2,m2,sum; + + while(scanf("%d",&N)==1){ + sum=0; + + for(int i=0;im1) sum+=m2-m1; + } + + printf("%d\n",sum/N); + } + + return 0; +} diff --git a/Live Archive/2247 - Prime Digital Root.cpp b/Live Archive/2247 - Prime Digital Root.cpp new file mode 100755 index 0000000..16c6986 --- /dev/null +++ b/Live Archive/2247 - Prime Digital Root.cpp @@ -0,0 +1,52 @@ +#include +#include + +using namespace std; + +bool primo[1000000]; + +int root(int &N){ + if(primo[N]) return N; + + int sum; + + while(N>9){ + sum=0; + while(N!=0){ + sum+=N%10; + N/=10; + } + + N=sum; + + if(primo[N]) return N; + } + + return -1; +}; + +int main(){ + int N,aux; + + for(int i=0;i<1000000;i++) primo[i]=true; + + primo[0]=primo[1]=false; + + for(int i=2;i<1000000;i++) + if(primo[i]) + for(int j=2;j*i<1000000;j++) primo[j*i]=false; + + while(1){ + cin>>N; + if(N==0) break; + + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector complex; + vector map; + + int B1,B2,D1,D2,cont; + string s; + bool ok; + + while(1){ + cin>>B1>>B2; + if(B1==0 && B2==0) break; + + complex.clear(); + map.clear(); + + for(int i=0;i>s; + complex.push_back(s); + } + + cin>>D1>>D2; + + for(int i=0;i>s; + map.push_back(s); + } + + cont=0; + + for(int i=0;i+B1-1 +#include +#include +#include + +using namespace std; + +int aux; +vector v; + +bool palin(int a, int b) +{ + v.clear(); + while(a!=0) + { + v.push_back(a%b); + a/=b; + } + for(int i=0;i<=(v.size()-1)/2;i++) + if(v[i]!=v[v.size()-1-i]) return false; + return true; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + bool ax; + + while(true) + { + scanf("%d",&n); + if(n==0) break; + + ostringstream os; + os<<"Number "< +#include +#include + +using namespace std; + +int main(){ + int N,M,a[100][100],mn,mx,x,r,c,r2,c2; + bool visited[100][100],solved; + pair aux; + + int dr[]={-1,1,0,0}; + int dc[]={0,0,-1,1}; + + while(1){ + scanf("%d %d",&N,&M); + if(N<0) break; + + for(int i=0;i?=a[i][j]; + } + } + } + + x=mx-mn; + + if(x==0) printf("At least one pattern exists.\n"); + else{ + solved=false; + for(int k=1;k<=x && !solved;k++){ + if(x%k==0){ + queue< pair > Q; + + for(int i=0;i=0 && r2=0 && c2 +#include +#include + +using namespace std; + +int R,C; +int MOD; + +struct M{ + int X[70][71]; + + M(){ + } +}; + +int exp(int a, int n){ + if(n==0) return 1; + if(n==1) return a; + + int aux=exp(a,n/2); + + if(n&1) return ((long long)a*(aux*aux)%MOD)%MOD; + return (aux*aux)%MOD; +} + +int ModularInverse(int a){ + return exp(a,MOD-2); +} + +void GaussianElimination(M &M0){ + int aux; + bool found; + + for(int i=0,r=0;r0){ + found=true; + + if(j==r) break; + + for(int k=i;k0;i--) + for(int j=0;j +#include + +using namespace std; + +int dp[1001][1001]; + +int main(){ + int n,m; + char s1[1001],s2[1001]; + + for(int i=0;i<=1000;i++) dp[0][i]=i; + for(int i=0;i<=1000;i++) dp[i][0]=i; + + while(scanf("%d %s %d %s",&n,s1,&m,s2)==4){ + for(int i=1;i<=n;i++) + for(int j=1;j<=m;j++) + dp[i][j]=min(min(dp[i-1][j]+1,dp[i][j-1]+1),dp[i-1][j-1]+(s1[i-1]!=s2[j-1])); + + printf("%d\n",dp[n][m]); + } + + return 0; +} diff --git a/Live Archive/3171 - Oreon.cpp b/Live Archive/3171 - Oreon.cpp new file mode 100755 index 0000000..202c691 --- /dev/null +++ b/Live Archive/3171 - Oreon.cpp @@ -0,0 +1,83 @@ +#include +#include +#include + +using namespace std; + +int parent[26],rank[26]; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + + if(rank[PX]>rank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +struct edge{ + int u,v,d; + + edge(int _u, int _v, int _d){ + u=_u; + v=_v; + d=_d; + } + + bool operator < (edge X) const{ + if(d!=X.d) return d L; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&V); + + L.clear(); + + for(int i=0;ii) L.push_back(edge(i,j,d)); + } + } + + sort(L.rbegin(),L.rend()); + + for(int i=0;i=0;i--){ + u=L[i].u; + v=L[i].v; + + if(Find(u)!=Find(v)){ + Union(u,v); + printf("%c-%c %d\n",'A'+u,'A'+v,L[i].d); + } + } + } + + return 0; +} diff --git a/Live Archive/3173 - Wordfish.cpp b/Live Archive/3173 - Wordfish.cpp new file mode 100755 index 0000000..c963eb4 --- /dev/null +++ b/Live Archive/3173 - Wordfish.cpp @@ -0,0 +1,56 @@ +#include +#include +#include + +using namespace std; + +int f(string s){ + int aux=INT_MAX; + for(int i=0;i+1X.d; + return s>s){ + L[0]=pass(s); + + aux=s; + for(int i=1;i<11;i++){ + prev_permutation(aux.begin(),aux.end()); + L[i]=pass(aux); + } + + aux=s; + for(int i=11;i<21;i++){ + next_permutation(aux.begin(),aux.end()); + L[i]=pass(aux); + } + + sort(L,L+21); + + cout< +#include +#include + +using namespace std; + +struct p{ + int x,y; + + p(){ + } + p(int a, int b){ + x=a; + y=b; + } +}; + +struct seg{ + p p1,p2; + + seg(p a, p b){ + p1.x=a.x; + p1.y=a.y; + p2.x=b.x; + p2.y=b.y; + } +}; + +int N,M; +vector v; + +int area(p A, p B, p C){ + return A.x*B.y+B.x*C.y+C.x*A.y-A.y*B.x-B.y*C.x-C.y*A.x; +} + +bool intersection(seg A, seg B){ + if(A.p1.x==B.p1.x && A.p1.y==B.p1.y) return false; + if(A.p1.x==B.p2.x && A.p1.y==B.p2.y) return false; + if(A.p2.x==B.p1.x && A.p2.y==B.p1.y) return false; + if(A.p2.x==B.p2.x && A.p2.y==B.p2.y) return false; + + if(area(A.p1,B.p2,A.p2)*area(A.p1,B.p1,A.p2)<0 && area(B.p1,A.p2,B.p2)*area(B.p1,A.p1,B.p2)<0) return true; + return false; +} + +int di[]={1,1,-1,-1,2,2,-2,-2}; +int dj[]={2,-2,2,-2,1,-1,1,-1}; +int I,J; +bool unidos[21][21][21][21]; +bool used[21][21]; +bool visited[21][21]; + +bool dfs(){ + pair P; + memset(visited,false,sizeof(visited)); + + for(int i=0;i<=N;i++){ + if(used[0][i] && !visited[0][i]){ + stack< pair > S; + + S.push(make_pair(0,i)); + visited[0][i]=true; + + while(!S.empty()){ + P=S.top(); + S.pop(); + + if(P.first==N) return true; + + for(int j=0;j<8;j++){ + I=P.first+di[j]; + J=P.second+dj[j]; + + if(I>=0 && I<=N && J>=0 && J<=N && !visited[I][J] && unidos[P.first][P.second][I][J]){ + visited[I][J]=true; + S.push(make_pair(I,J)); + } + } + } + } + } + + return false; +} + +int main(){ + int x,y; + bool ok; + bool color[21][21]; + + while(1){ + cin>>N>>M; + if(N==0) break; + + v.clear(); + + memset(unidos,false,sizeof(unidos)); + memset(used,false,sizeof(used)); + + for(int i=0;i>x>>y; + + used[x][y]=true; + color[x][y]=i%2; + + for(int j=0;j<8;j++){ + I=x+di[j]; + J=y+dj[j]; + + if(I>=0 && I<=N && J>=0 && J<=N && used[I][J] && color[I][J]==i%2){ + ok=true; + + for(int k=0;k +#include +#include +#include +#include +#include + +using namespace std; + +int n,m,d; +char map1[20][21]; +char map2[20][21]; + +int flow[802][802]; +int cap[802][802]; +vector< vector > L; +int prev[802]; + +bool escape(int i, int j){ + if(i+1<=d || j+1<=d || n-i<=d || m-j<=d) return true; + return false; +} + +bool augmenting(int &N){ + fill(prev,prev+N,-1); + queue Q; + Q.push(0); + prev[0]=-2; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i0){ + cap[N2+i1*m+j1][N1+i2*m+j2]=INT_MAX; + L[N2+i2*m+j2].push_back(N1+i1*m+j1); + L[N1+i1*m+j1].push_back(N2+i2*m+j2); + } + + f=0; + + while(augmenting(N)) f++; + + printf("Case #%d: ",caso); + + if(f==cont) printf("no lizard was left behind.\n"); + else if(cont-f==1) printf("1 lizard was left behind.\n"); + else printf("%d lizards were left behind.\n",cont-f); + } + + return 0; +} diff --git a/Live Archive/3468 - Tornado.cpp b/Live Archive/3468 - Tornado.cpp new file mode 100755 index 0000000..34ead5c --- /dev/null +++ b/Live Archive/3468 - Tornado.cpp @@ -0,0 +1,47 @@ +#include +#include + +using namespace std; + +int main(){ + int N,adelante,atras,cont,aux; + bool todos_cero; + int posts[5000]; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + todos_cero=true; + + for(int i=0;i + +using namespace std; + +int main(){ + bool M[100]; + bool aux; + int N,D; + + while(1){ + cin>>N>>D; + if(N==0 && D==0) break; + + for(int i=0;i>aux; + M[j]&=aux; + } + } + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N,R,Q,aux,x,pos,caso; + vector I; + vector J; + + caso=1; + + while(1){ + cin>>N; + if(N==0) break; + + cin>>R; + + I.clear(); + J.clear(); + + for(int i=0;i>aux; + I.push_back(aux); + + cin>>aux; + J.push_back(aux); + } + + cin>>Q; + + cout<<"Genome "<>x; + + for(int j=0;j +#include +#include + +using namespace std; + +int main(){ + int N,aux; + int pos[20]; + int num_in_pos[20]; + bool no_existe; + int strokes[190]; + int cont; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + no_existe=false; + fill(pos,pos+N,-1); + + for(int i=0;i + +using namespace std; + +bool f(int n) +{ + if(n==1) return false; + + for(int i=2;n!=1;i++) + { + if(n%i==0) + { + if(i%10!=3) return false; + while(n%i==0) n/=i; + } + } + return true; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int m; + + while(true) + { + scanf("%d", &m); + + if(m==-1) break; + + if(f(m)) printf("%d YES\n",m); + else printf("%d NO\n", m); + } + + return 0; +} diff --git a/Live Archive/3542 - It's All About Three/3542.exe b/Live Archive/3542 - It's All About Three/3542.exe new file mode 100755 index 0000000000000000000000000000000000000000..14ca977e198249f092552b6e8aa2e4486aa04969 GIT binary patch literal 476225 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≺%|Xckv87xE??gdXzulxEfNW@%Qz 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 =J+eg~3Yp3B3n$m~y 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 literal 0 HcmV?d00001 diff --git a/Live Archive/3542 - It's All About Three/in.txt b/Live Archive/3542 - It's All About Three/in.txt new file mode 100755 index 0000000..5e92851 --- /dev/null +++ b/Live Archive/3542 - It's All About Three/in.txt @@ -0,0 +1,14 @@ +1 +3 +13 +33 +12431 +23 +27 +39 +43 +53 +69 +73 +999999 +-1 \ No newline at end of file diff --git a/Live Archive/3542 - It's All About Three/out.txt b/Live Archive/3542 - It's All About Three/out.txt new file mode 100755 index 0000000..78baa70 --- /dev/null +++ b/Live Archive/3542 - It's All About Three/out.txt @@ -0,0 +1,13 @@ +1 NO +3 YES +13 YES +33 NO +12431 NO +23 YES +27 YES +39 YES +43 YES +53 YES +69 YES +73 YES +999999 NO diff --git a/Live Archive/3652 - Lazy Jumping Frog.cpp b/Live Archive/3652 - Lazy Jumping Frog.cpp new file mode 100755 index 0000000..a857d6f --- /dev/null +++ b/Live Archive/3652 - Lazy Jumping Frog.cpp @@ -0,0 +1,113 @@ +#include +#include +#include + +using namespace std; + +struct node{ + int r,c; + + node(){} + + node(int _r, int _c){ + r = _r; c = _c; + } +}; + +#define NQUEUES 8 +node Q[NQUEUES][5000],aux; +int Q_size[NQUEUES],current_queue; + +int R,C; +int dist[1000][1000]; +bool done[1000][1000]; + +const int energy[][5] = { + {7,6,5,6,7}, + {6,3,2,3,6}, + {5,2,0,2,5}, + {6,3,2,3,6}, + {7,6,5,6,7} +}; + +int total_nodes; + +void enqueue(int r, int c, int w){ + if(r<0 || r>=R || c<0 || c>=C || done[r][c]) return; + if(w>=dist[r][c]) return; + dist[r][c] = w; + + int sz = Q_size[w&7]; + Q[w&7][sz].r = r; + Q[w&7][sz].c = c; + ++Q_size[w&7]; + ++total_nodes; +} + +bool dequeue(int &r, int &c){ + if(total_nodes==0) return false; + + while(Q_size[current_queue]==0){ + ++current_queue; + if(current_queue==NQUEUES) current_queue = 0; + } + + --Q_size[current_queue]; + aux = Q[current_queue][Q_size[current_queue]]; + r = aux.r; c = aux.c; + --total_nodes; + + return true; +} + +void shortest_path(int &sr, int &sc, int &er, int &ec){ + total_nodes = 0; + for(int i=0;i + +using std::scanf; +using std::printf; + +int main(){ + int T,n,a[47],nim_val,tot; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&n); + + nim_val=tot=0; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +#define SZ 26 + +int n,pref_men[SZ][SZ],pref_women[SZ][SZ],inv[SZ][SZ],cont[SZ],wife[SZ],husband[SZ]; + +void Stable_Marriage(){ + for(int i=0;i Q; + for(int i=0;i>T; + + for(int tc=1;tc<=T;tc++){ + cin>>n; + + M=W=0; + + memset(men_letter_index,-1,sizeof(men_letter_index)); + + for(int i=2*n-1;i>=0;i--){ + cin>>c; + if(islower(c)){ + men_letter_index[c-'a']=M; + men_index_letter[M]=c; + M++; + }else{ + women_letter_index[c-'A']=W; + women_index_letter[W]=c; + W++; + } + } + + for(int i=0;i>s; + ind=men_letter_index[s[0]-'a']; + for(int j=0;j>s; + ind=women_letter_index[s[0]-'A']; + for(int j=0;j + +using namespace std; + +void print(char &c){ + if(c==' ') printf("%c20",'%'); + else if(c=='!') printf("%c21",'%'); + else if(c=='$') printf("%c24",'%'); + else if(c=='%') printf("%c25",'%'); + else if(c=='(') printf("%c28",'%'); + else if(c==')') printf("%c29",'%'); + else if(c=='*') printf("%c2a",'%'); + else printf("%c",c); +} + +int main(){ + char c; + + while(1){ + scanf("%c",&c); + if(c=='#') break; + + print(c); + + while(1){ + scanf("%c",&c); + print(c); + + if(c=='\n') break; + } + } + + return 0; +} diff --git a/Live Archive/3849 - Persistent Bits.cpp b/Live Archive/3849 - Persistent Bits.cpp new file mode 100755 index 0000000..594f3ba --- /dev/null +++ b/Live Archive/3849 - Persistent Bits.cpp @@ -0,0 +1,40 @@ +#include +#include + +using namespace std; + +int main(){ + int A,B,C,S; + bool visited[65536]; + int mask1,mask2; + bool used[16]; + + while(1){ + scanf("%d",&A); + if(A==0) break; + scanf("%d %d %d",&B,&C,&S); + + memset(visited,false,sizeof(visited)); + + mask1=(1<<16)-1; + mask2=0; + + while(!visited[S]){ + visited[S]=true; + + mask1&=S; + mask2|=S; + + S=(A*S+B)%C; + } + + for(int i=15;i>=0;i--){ + if((mask2&(1< +#include +#include + +using namespace std; + +int main(){ + string s; + int L[27]; + int current; + int pos,caso=1; + vector E; + char x; + vector R; + int mask; + vector print; + char c; + + while(1){ + cin>>s; + if(s=="#") break; + + cout< +#include +#include + +using namespace std; + +int main(){ + int score[6]; + bool end; + double sum; + + while(1){ + sum=0; + for(int i=0;i<6;i++){ + scanf("%d",&score[i]); + sum+=score[i]; + } + + end=true; + for(int i=0;i<6;i++) + if(score[i]!=0) end=false; + + if(end) break; + + sort(score,score+6); + + cout< +#include + +using namespace std; + +int mod11(string number){ + int aux=0; + + for(int i=number.size()-1;i>=0;i--) + if((number.size()-1-i)%2==0) aux+=number[i]-'0'; + else aux-=number[i]-'0'; + + return (aux%11+11)%11; +} + +void resolver_caso(string &number, int &caso){ + cout<>number; + if(number=="0") break; + + resolver_caso(number,cont); + cont++; + } + + return 0; +} diff --git a/Live Archive/4088 - Fermat's Chirstmas Theorem.cpp b/Live Archive/4088 - Fermat's Chirstmas Theorem.cpp new file mode 100755 index 0000000..b31480f --- /dev/null +++ b/Live Archive/4088 - Fermat's Chirstmas Theorem.cpp @@ -0,0 +1,49 @@ +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in2.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector p(1000000,true); + + p[0]=p[1]=false; + + for(int i=2;i<1000000;i++) + if(p[i]) + for(int j=2;j*i<1000000;j++) p[i*j]=false; + + vector cont1(1000000); + vector cont2(1000000); + + cont1[0]=cont1[1]=0; + + for(int i=2;i<1000000;i++){ + cont1[i]=cont1[i-1]; + if(p[i]) cont1[i]++; + } + + cont2[0]=cont2[1]=0; + cont2[2]=1; + + for(int i=3;i<1000000;i++){ + cont2[i]=cont2[i-1]; + if(p[i] && i%4==1) cont2[i]++; + } + + int L,U; + + while(1){ + scanf("%d %d",&L,&U); + if(L==-1 && U==-1) break; + + if(U<1) printf("%d %d 0 0\n",L,U); + else printf("%d %d %d %d\n",L,U,cont1[U]-cont1[max(0,L-1)],cont2[U]-cont2[max(0,L-1)]); + } + + return 0; +} diff --git a/Live Archive/4157 - Grey Area.cpp b/Live Archive/4157 - Grey Area.cpp new file mode 100755 index 0000000..9cc98b5 --- /dev/null +++ b/Live Archive/4157 - Grey Area.cpp @@ -0,0 +1,38 @@ +#include +#include + +using namespace std; + +int main(){ + int n,w,v,m,h; + int a[11]; + double total; + + while(1){ + scanf("%d %d",&n,&w); + if(n==0 && w==0) break; + + for(int i=0;i<11;i++) a[i]=0; + + for(int i=0;i=j*w && v<(j+1)*w){ + a[j]++; + break; + } + } + + for(int i=0;i<11;i++) if(a[i]!=0) m=i; + + h=0; + for(int i=0;i<11;i++) h=max(h,a[i]); + + total=0.01; + for(int i=0;i +#include + +#define max(a,b) a>b? a:b + +using namespace std; + +vector v; +int sum,n,m,k; + +void f(int x){ + if(x==n){ + v[max(sum-k,1)]++; + return; + } + + for(int i=1;i<=m;i++){ + sum+=i; + f(x+1); + sum-=i; + } +} + +int main(){ + sum=0; + double E; + int pot; + + while(1){ + scanf("%d %d %d",&n,&m,&k); + if(n==0) break; + + v.clear(); + v.resize(m*n-k+1,0); + + f(0); + + pot=1; + for(int i=0;i +#include +#include + +using namespace std; + +struct node{ + int v,d; + + node(){ + } + + node(int _v, int _d){ + v=_v; + d=_d; + } + + bool operator < (node X)const{ + return d>X.d; + } +}; + +int main(){ + int V,E,s,t,M[500][500],u,v,d; + + priority_queue Q1; + queue Q2; + node aux; + bool visited[500]; + int D[500]; + + while(1){ + scanf("%d %d",&V,&E); + if(V==0) break; + + scanf("%d %d",&s,&t); + + for(int i=0;i Q3; + Q3.push(node(s,0)); + + while(!Q3.empty()){ + aux=Q3.top(); + v=aux.v; + d=aux.d; + Q3.pop(); + + if(visited[v]) continue; + visited[v]=true; + + if(v==t){ + printf("%d\n",d); + break; + } + + for(int i=0;i +#include +#include + +using namespace std; + +bool isdigit(char c){ + return (c>='0' && c<='9'); +} + +vector add(vector &a, vector &b){ + int n = a.size(),m = b.size(),sz = max(n,m); + vector c(sz,0); + + for(int i = 0;i1 && c[sz-1]==0){ + c.pop_back(); + --sz; + } + + return c; +} + +vector multiply(vector &a, vector &b){ + int n = a.size(),m = b.size(),sz = n+m-1; + vector c(sz,0); + + for(int i = 0;i1 && c[sz-1]==0){ + c.pop_back(); + --sz; + } + + return c; +} + +bool is_root(vector &P, int r){ + int n = P.size(); + long long y = 0; + + for(int i = 0;i a,b,roots; + vector< vector > P1; + vector< vector > P2; + bool found; + + while(true){ + L1 = 0; + + while(true){ + c = getchar(); + if(c=='=') break; + s1[L1] = c; + ++L1; + } + + if(L1==0) break; + + L2 = 0; + + while(true){ + c = getchar(); + if(c=='\n') break; + s2[L2] = c; + ++L2; + } + + low_lim = 2; + for(int i = 0;i=i;--j) a.push_back(s1[j]-'0'); + P1.push_back(a); + + if(k=i;--j) b.push_back(s2[j]-'0'); + P2.push_back(b); + + if(k1 && a[0]==0){ + a.erase(a.begin(),a.begin()+1); + --n; + } + + n = abs(a[0]); + roots.clear(); + + for(m = 1;m*m=low_lim && is_root(a,m)) roots.push_back(m); + if(n/m>=low_lim && is_root(a,n/m)) roots.push_back(n/m); + } + } + + if(m*m==n && m>=low_lim && is_root(a,m)) roots.push_back(m); + + if(roots.empty()) printf("*\n"); + else{ + n = roots.size(); + sort(roots.begin(),roots.end()); + for(int i = 0;i +#define max(a,b) a>b? a:b + +using namespace std; + +int main(){ + int M,N,T,ans; + + while(1){ + scanf("%d %d",&M,&N); + if(M==0) break; + + int C[N],dp[max(M,N)+1],R[M]; + + dp[0]=0; + for(int i=0;i + +using namespace std; + +int end(int m, int y){ + if(m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) return 31; + else if(m==4 || m==6 || m==9 || m==11) return 30; + else{ + if(y%400==0 || (y%4==0 && y%100!=0)) return 29; + else return 28; + } +} + +bool consecutive(int &d1, int &m1, int &y1, int &d2, int &m2, int &y2){ + if(y1==y2 && ((m1==m2 && d2==d1+1) || (m2==m1+1 && d1==end(m1,y1) && d2==1))) return true; + else if(y2==y1+1 && m1==12 && m2==1 && d1==end(12,y1) && d2==1) return true; + + return false; +} + +int main(){ + int N,d,m,y,c,cont,ans,d1,m1,y1,c1,d2,m2,y2,c2; + char line[19]; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + gets(line); + scanf("%d %d %d %d",&d1,&m1,&y1,&c1); + + cont=ans=0; + + for(int i=1;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + printf("%d\n",N*(N+1)/2*(2*N+1)/3); + } + + return 0; +} diff --git a/Live Archive/4219 - Bora Bora.cpp b/Live Archive/4219 - Bora Bora.cpp new file mode 100755 index 0000000..5e1cd04 --- /dev/null +++ b/Live Archive/4219 - Bora Bora.cpp @@ -0,0 +1,119 @@ +#include +#include +#include + +using namespace std; + +struct card{ + int rank,suit; + + card(){ + } + + card(int a, int b){ + rank=a; + suit=b; + } + + bool operator < (card X) const{ + if(rank!=X.rank) return rank > v(P); + queue stock; + + for(int i=0;i + +using namespace std; + +int main(){ + int N,a[10000],ans,L,lo,hi,mi; + int sum[10001]; + bool found; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i=3 && ans==-1;i--){ + if(sum[N]%i!=0) continue; + L=sum[N]/i; + found=false; + + for(int j=0;j>1; + + if(sum[mi]-sum[s] +#include +#include +#include + +using namespace std; + +#define MAX_V 1000 + +int V, num_scc, scc[MAX_V]; +vector G[MAX_V],GT[MAX_V]; +bool visited[MAX_V]; +stack S; +queue Q; + +void dfs(int v){ + visited[v] = true; + for(int i=G[v].size()-1;i>=0;--i) + if(!visited[G[v][i]]) + dfs(G[v][i]); + S.push(v); +} + +void bfs(int v){ + Q.push(v); + visited[v] = true; + + int aux; + + while(!Q.empty()){ + aux = Q.front(); + scc[aux] = num_scc; + Q.pop(); + + for(int i=GT[aux].size()-1;i>=0;i--){ + if(!visited[GT[aux][i]]){ + Q.push(GT[aux][i]); + visited[GT[aux][i]] = true; + } + } + } +} + +void SCC(){ + memset(visited,false,sizeof(visited)); + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +#define MAX_V 3000 +#define MAX_E 100000 + +struct edge{ + int u,v,w; + + edge(){} + + edge(int _u, int _v, int _w){ + u = _u; v = _v; w = _w; + } + + bool operator < (edge X)const{ + return w > L[MAX_V]; +int parent[MAX_V],rank[MAX_V]; + +void Make_Set(int x){ + parent[x] = x; + rank[x] = 0; +} + +int Find(int x){ + if(parent[x]!=x) parent[x] = Find(parent[x]); + return parent[x]; +} + +void Union(int x, int y){ + int PX = Find(x),PY = Find(y); + + if(rank[PX]>rank[PY]) parent[PY] = PX; + else{ + parent[PX] = PY; + if(rank[PX]==rank[PY]) ++rank[PY]; + } +} + +bool visited[MAX_V]; +int level[MAX_V],ancestor[MAX_V][12],w[MAX_V][12]; + +void make_tree(int l, int pos){ + visited[pos] = true; + level[pos] = l; + + for(int i = L[pos].size()-1;i>=0;--i){ + int next = L[pos][i].first; + if(!visited[next]){ + ancestor[next][0] = pos; + w[next][0] = L[pos][i].second; + make_tree(l+1,next); + } + } +} + +void initialize(int V){ + for(int i = 1;(1<=0;--i){ + if(level[p]-(1<=level[q]){ + ans = max(ans,w[p][i]); + p = ancestor[p][i]; + } + } + + if(p==q) return ans; + + for(int i = log;i>=0;--i){ + if(ancestor[p][i]!=-1 && ancestor[p][i]!=ancestor[q][i]){ + ans = max(ans,max(w[p][i],w[q][i])); + p = ancestor[p][i]; q = ancestor[q][i]; + } + } + + ans = max(ans,max(w[p][0],w[q][0])); + return ans; +} + +int main(){ + int T,V,E,Q,u,v; + scanf("%d",&T); + + for(int tc = 1;tc<=T;++tc){ + scanf("%d %d",&V,&E); + + for(int i = 0;i +#include +#include +#include + +#include + +using namespace std; + +struct edge{ + int u,p; + + edge(){ + } + + edge(const int _u, const int _p){ + u=_u; p=_p; + } +}; + +int V,E,a,b,p,ans; +int ind[200000]; +vector L[200000]; +int dp[200000]; +queue Q; +bool visited[200000]; +int aux,parent[200000],cost[200000]; + +int main(){ + while(1){ + scanf("%d",&E); + if(E==0) break; + + fill(ind,ind+200000,-1); + V=0; + + for(int i=0;i<200000;i++) L[i].clear(); + + for(int i=0;i=0;j--){ + if(visited[L[aux][j].u]) continue; + visited[L[aux][j].u]=true; + + parent[L[aux][j].u]=i; + cost[L[aux][j].u]=L[aux][j].p; + + Q.push(L[aux][j].u); + } + } + + fill(dp,dp+V,0); + ans=0; + + for(int i=V-1;i>0;i--){ + ans>?=dp[i]; + if(dp[i]+cost[ind[i]]>0) + dp[parent[ind[i]]]+=dp[i]+cost[ind[i]]; + } + + ans>?=dp[0]; + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Live Archive/4303 - Top Secrets.cpp b/Live Archive/4303 - Top Secrets.cpp new file mode 100755 index 0000000..1b3be66 --- /dev/null +++ b/Live Archive/4303 - Top Secrets.cpp @@ -0,0 +1,85 @@ +#include +#include +#include + +#include + +using namespace std; + +#define MAX_SIZE 1000 + +int size,MOD; + +struct M{ + long long X[MAX_SIZE]; + + M(){ + } +}; + +void mult(M &m, M &m1, M &m2){ + memset(m.X,0,sizeof(m.X)); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,c,x,m,mx; + long long n,ans; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&c); + + ans=mx=-1; + + for(int i=0;i?=m; + + if(m==n) continue; + + if(ans!=-1) ans=__gcd(ans,(m>n? m-n:n-m)); + else ans=(m>n? m-n:n-m); + } + + if(ans>=2 && mx +#include +#include + +using namespace std; + +#define MAX_SIZE 19 +int size; + +struct M{ + double X[MAX_SIZE][MAX_SIZE]; + + M(){ + } +}; + +const double eps=1e-7; + +double determinant(M M0){ + double ans=1,aux; + bool found; + + for(int i=0,r=0;ieps){ + found=true; + + if(j>r) ans=-ans; + else break; + + for(int k=0;k +#include +#include + +using namespace std; + +struct tree{ + vector L; + int W_nodes,W_edges; + + tree(){ + } + + tree(const vector &_L, const int &_W_nodes, const int &_W_edges){ + L=_L; W_nodes=_W_nodes; W_edges=_W_edges; + } + + bool operator < (const tree &X) const{ + int aux=X.W_nodes*W_edges-W_nodes*X.W_edges; + if(aux!=0) return aux<0; + return Lrank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +int num_bits(const int x){ + int cont=0; + for(int i=0;i<31;i++) if(x & (1< L; + edge E[105]; + + while(1){ + scanf("%d %d",&n,&m); + if(n==0) break; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + bool p[10001]; + fill(p,p+10001,true); + + p[0]=p[1]=false; + + for(int i=2;i<10001;i++){ + if(!p[i]) continue; + + for(int j=i*i;j<10001;j+=i) p[j]=false; + } + + int a[]={4,9,16,25,49,64,81,121,169,289,361,529,625,729,841,961,1024,1369,1681,1849,2209,2401,2809,3481,3721,4096,4489,5041,5329,6241,6889,7921,9409}; + + bool print[10001]; + fill(print,print+10001,false); + + for(int i=1;i<=10000;i++) print[i]=p[i]; + + for(int i=0;i<33;i++) print[a[i]]=true; + + int T; + cin>>T; + + int L,H; + bool start; + + for(int tc=1;tc<=T;tc++){ + cin>>L>>H; + + start=true; + + for(int i=L;i<=H;i++){ + if(print[i]){ + if(start) start=false; + else cout<<" "; + cout< + +using namespace std; + +int main(){ + int T,N,t[19],s1,s2; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + printf("Case %d: ",tc); + + scanf("%d",&N); + for(int i=0;is2) printf("Juice %d\n",s2); + else if(s1==s2) printf("Mile Juice %d\n",s1); + } + + return 0; +} diff --git a/Live Archive/4408 - Unlock the Lock.cpp b/Live Archive/4408 - Unlock the Lock.cpp new file mode 100755 index 0000000..51fdaa4 --- /dev/null +++ b/Live Archive/4408 - Unlock the Lock.cpp @@ -0,0 +1,53 @@ +#include +#include +#include + +using namespace std; + +int a[10], visited[10000]; + +int solve(const int &L, const int &U, const int &R){ + fill(visited,visited+10000,-1); + + int aux,aux2; + queue Q; + Q.push(L); + visited[L]=0; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i +#include + +using namespace std; + +struct point{ + int x,y; + + point(){ + } + + point(const int &_x, const int &_y){ + x=_x; y=_y; + } +}; + +int signed_area(const point &p1, const point &p2, const point &p3){ + return (p1.x*p2.y+p2.x*p3.y+p3.x*p1.y-p1.y*p2.x-p2.y*p3.x-p3.y*p1.x); +} + +point a[49]; +int memo[49][49]; + +int Solve(int i, int j){ + if(j==i+1) return 0; + if(memo[i][j]!=-1) return memo[i][j]; + + int aux=INT_MAX; + + for(int k=i+1;k +#include +#include +#include + +using namespace std; + +int M; +map ind; +int L[650][650],sz[650]; +bool visited[650]; +int Q[650],head,tail; + +bool possible(const int s){ + head=tail=0; + + Q[tail++]=s; + + memset(visited,false,sizeof(visited)); + visited[s]=true; + + int aux; + + while(head!=tail){ + aux=Q[head++]; + + for(int i=sz[aux]-1,v;i>=0;i--){ + v=L[aux][i]; + if(v>=M){ + Q[tail++]=v; + if(tail==650) tail=0; + visited[v]=true; + }else if(v==s+1) return true; + } + } + + return false; +} + +int main(){ + int P,N; + char s1[100],s2[100]; + int city1[300],city2[300]; + + while(1){ + scanf("%d",&M); + if(M==0) break; + + ind.clear(); + N=0; + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +int N,P,w[100],v[100],adol,vol; +char name_adol[1000][80],name_vol[1000][80],cat[12],name[80]; +int A[1000][100],V[1000][100],sum; + +struct person{ + int ind,sc; + + person(){ + } + + person(const int _ind, const int _sc){ + ind=_ind; sc=_sc; + } + + bool operator < (const person & X) const{ + return sc=0;i--,j++){ + scanf("%s",cat); + + if(cat[0]=='A'){ + scanf("%s",name_adol[adol]); + for(int k=0;k +#include + +using namespace std; + +const int dr[]={0,1,0,-1}; +const int dc[]={1,0,-1,0}; + +struct node{ + int r,c,dir,cont; + + node(){ + } + + node(const int _r, const int _c, const int _dir, const int _cont){ + r=_r; c=_c; dir=_dir; cont=_cont; + } +}aux; + +int R,C; +char M[1000][1000]; +bool visited[1000][1000][4]; + +void Solve(const int &r_end, const int &c_end){ + if(M[0][0]=='1'){ + printf("NOOO!\n"); + return; + } + + memset(visited,false,sizeof(visited)); + + queue Q; + Q.push(node(0,0,0,0)); + Q.push(node(0,0,1,0)); + visited[0][0][0]=true; + visited[0][0][1]=true; + + int r,c; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + if(aux.r==r_end && aux.c==c_end){ + printf("%d\n",aux.cont); + return; + } + + r=aux.r+dr[aux.dir]; c=aux.c+dc[aux.dir]; + if(r>=0 && r=0 && c=0 && r=0 && c +#include + +using namespace std; + +#define min(a,b) (a)<(b)? (a):(b) +#define max(a,b) (a)>(b)? (a):(b) + +int main(){ + int n,mov,cont[26],ans,val1,val2; + char s[1001]; + + while(true){ + scanf("%s",s); + if(s[0]=='*') break; + + n = strlen(s); + + memset(cont,0,sizeof(cont)); + mov = s[n-1]-'a'; + ++cont[mov]; + + for(int i = n-2;i>=0;--i){ + mov = s[i]-s[i+1]; + if(mov<0) mov += 26; + ++cont[mov]; + } + + val1 = val2 = 0; + for(int i = 0;i<26;++i) val1 += i*cont[i]; + ans = val1; + + for(int i = n-1,pos = 25;i>=0;--i){ + while(cont[pos]==0) --pos; + val1 -= pos; val2 += 26-pos; + ans = min(ans,max(val1,val2)); + --cont[pos]; + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Live Archive/4477 - File Recover.cpp b/Live Archive/4477 - File Recover.cpp new file mode 100755 index 0000000..8d13f31 --- /dev/null +++ b/Live Archive/4477 - File Recover.cpp @@ -0,0 +1,130 @@ +#include +#include + +using namespace std; + +#define max(x,y) (x)>(y)? (x):(y) + +// Construcción en O(nlgn) + +#define MAX_LEN 100000 +#define ALPH_SIZE 123 + +char A[MAX_LEN+1]; +int N,pos[MAX_LEN],rank[MAX_LEN]; +int cont[MAX_LEN],next[MAX_LEN]; +bool bh[MAX_LEN+1],b2h[MAX_LEN+1]; + +void build_suffix_array(){ + N = strlen(A); + + // bucket sort por la primera letra + memset(cont,0,sizeof(cont)); + + + for(int i = 0;i=0){ + int head = rank[s]; + rank[s] = head+cont[head]; + ++cont[head]; + b2h[rank[s]] = true; + } + } + + for(int j = i;j=0 && b2h[rank[s]]){ + for(int k = rank[s]+1;!bh[k] && b2h[k];++k) + b2h[k] = false; + } + } + } + + for(int i = 0;i0){ + int j = pos[rank[i]-1]; + + while(i+h0) --h; + } + } +} + +int main(){ + while(true){ + scanf("%s",A); + if(A[0]=='*') break; + + build_suffix_array(); + getHeight(); + + int ans = 0; + for(int i = 1;i +#include + +using namespace std; + +int H[500][500],X[1000][500],sz[1000]; + +int main(){ + int N,M,Q,L,U; + int lo,hi,mi; + + while(true){ + scanf("%d %d",&N,&M); + if(N==0) break; + + for(int i = 0;i=0;--i){ + if(X[i][0]>U || X[i][sz[i]-1]>1; + + if(X[i][mi]>=L) hi = mi; + else lo = mi+1; + } + + s = lo; + + lo = 0; hi = sz[i]-1; + + while(lo!=hi){ + mi = (lo+hi+1)>>1; + + if(X[i][mi]<=U) lo = mi; + else hi = mi-1; + } + + e = lo; + + if(e-s+1>ans) ans = e-s+1; + } + + printf("%d\n",ans); + } + + puts("-"); + } + + return 0; +} + diff --git a/Live Archive/4479 - Hooligan.cpp b/Live Archive/4479 - Hooligan.cpp new file mode 100755 index 0000000..94770f6 --- /dev/null +++ b/Live Archive/4479 - Hooligan.cpp @@ -0,0 +1,163 @@ +#include +#include + +using namespace std; + +#define MAX_V 3005 +#define MAX_E 8931 + +int V,E,t,f; +int flow[2*MAX_E],cap[2*MAX_E],to[2*MAX_E],next[2*MAX_E],last[MAX_V]; +int path[MAX_V-1],sz; +bool visited[MAX_V],found; + +void dfs(int u, int depth){ + if(u==t){ + sz=depth; + found=true; + return; + } + + for(int v,num=last[u];num!=-1 && !found;num=next[num]){ + v=to[num]; + + if(!visited[v] && flow[num]=points[0]) can=false; + + if(!can){ + printf("N\n"); + continue; + } + + V=1+res+N; + E=0; + + fill(next,next+2*MAX_E,-1); + fill(last,last+V,-1); + + for(int i=1;i<=res;i++){ + to[E]=i; + cap[E]=2; + next[E]=last[0]; + last[0]=E++; + + to[E]=0; + cap[E]=0; + next[E]=last[i]; + last[i]=E++; + } + + m=1; + + for(int i=1;i +#include + +using namespace std; + +int main(){ + int N,X[1000],Y[1000],cont,ans,pos1,pos2; + long long dist2; + long long a[1000]; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i>1; + pos1=pos2; + } + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Live Archive/4481 - Jingle Composing.cpp b/Live Archive/4481 - Jingle Composing.cpp new file mode 100755 index 0000000..223efd7 --- /dev/null +++ b/Live Archive/4481 - Jingle Composing.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std; + +int main(){ + char s[201]; + int n,aux,ans; + + while(1){ + scanf("%s",s); + if(s[0]=='*') break; + + n=strlen(s); + ans=0; + + for(int i=1;i +#include + +using namespace std; + +int main(){ + int N,K,mx,x,sum[1001],aux[1001],a,b,ans; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + fill(aux,aux+1001,0); + + mx=ans=0; + + for(int i=0;i=0;j--){ + scanf("%d",&x); + sum[x]++; + } + + for(int i=999;i>=0;i--) sum[i]+=sum[i+1]; + + for(int i=0;i<=1000;i++){ + a=sum[i]; + b=K-a; + aux[i]+=abs(a-b); + } + } + + for(int j=0;j<=1000;j++) + if(aux[j] + +using namespace std; + +int main(){ + int N,x; + char com[5]; + bool first = true; + + while(true){ + scanf("%d",&N); + if(N==0) break; + + int sz1 = 0, sz2 = 0; + + if(!first) printf("\n"); + first = false; + + for(int i=0;i=x){ + printf("TAKE 1 %d\n",x); + sz1 -= x; + }else{ + if(sz1>0) printf("TAKE 1 %d\n",sz1); + + printf("MOVE 2->1 %d\n",sz2); + + printf("TAKE 1 %d\n",x-sz1); + sz1 = sz1+sz2-x; + sz2 = 0; + } + } + } + } + + return 0; +} diff --git a/Live Archive/4506 - Lights.cpp b/Live Archive/4506 - Lights.cpp new file mode 100755 index 0000000..fe45594 --- /dev/null +++ b/Live Archive/4506 - Lights.cpp @@ -0,0 +1,55 @@ +#include + +using namespace std; + +const int MOD = 10567201; + +long long pow(int a, int b){ + if(b==0) return 1; + long long aux = pow(a,b/2); + + long long ans = (aux*aux)%MOD; + if(b&1) ans = (ans*a)%MOD; + + return ans; +} + +long long inv[1001]; + +long long comb(int m, int n){ + if(m +#include +#include + +using namespace std; + +#define INF 10000000 + +int V,dist[900],u[3600],v[3600],w[3600],E; +bool reached[900]; + +void solve(){ + for(int i=0;i=0 && r2=0 && c2 +#include + +using namespace std; + +int main(){ + int N,M,x,y,s,e; + int S[10000],E[10000]; + + while(true){ + scanf("%d %d",&N,&M); + if(N==0) break; + + for(int i=0;i=1) ++ans; + } + + printf("%d\n",ans); + } + } + + return 0; +} diff --git a/Live Archive/4513 - Slammering Aliens.cpp b/Live Archive/4513 - Slammering Aliens.cpp new file mode 100755 index 0000000..d3bab73 --- /dev/null +++ b/Live Archive/4513 - Slammering Aliens.cpp @@ -0,0 +1,183 @@ +#include +#include +#include + +using namespace std; + +// Construcción en O(nlgn) + +#define MAX_LEN 40000 +#define ALPH_SIZE 123 + +char A[MAX_LEN+1]; +int N,pos[MAX_LEN],rank[MAX_LEN]; +int cont[MAX_LEN],next[MAX_LEN]; +bool bh[MAX_LEN+1],b2h[MAX_LEN+1]; + +void build_suffix_array(){ + N = strlen(A); + + // bucket sort por la primera letra + memset(cont,0,sizeof(cont)); + + + for(int i = 0;i=0){ + int head = rank[s]; + rank[s] = head+cont[head]; + ++cont[head]; + b2h[rank[s]] = true; + } + } + + for(int j = i;j=0 && b2h[rank[s]]){ + for(int k = rank[s]+1;!bh[k] && b2h[k];++k) + b2h[k] = false; + } + } + } + + for(int i = 0;i0){ + int j = pos[rank[i]-1]; + + while(i+h0) --h; + } + } +} + +#define LOG2_LEN 16 + +int RMQ[MAX_LEN][LOG2_LEN]; + +// Complejidad : O(nlgn) +void initialize_rmq(){ + for(int i = 0;iy) swap(x,y); + + int log = 0; + while((1<=maxL){ + aux = max(aux,pos[e]); + ++e; + if(e=m) start = max(start,aux); + s = e; + } + } + + if(maxL==0) printf("none\n"); + else printf("%d %d\n",maxL,start); + } + + return 0; +} diff --git a/Live Archive/4600 - Block Game.cpp b/Live Archive/4600 - Block Game.cpp new file mode 100755 index 0000000..594f1d2 --- /dev/null +++ b/Live Archive/4600 - Block Game.cpp @@ -0,0 +1,164 @@ +#include +#include +#include +#include +#include + +using namespace std; + +struct node{ + int dist; + string M[6]; + + node(){} + + bool canWin(char s){ + for(int i = 0;i<6;++i) for(int j = 0;j<6;++j){ + if(M[i][j]==s){ + for(int k = j+1;k<6;++k) + if(M[i][k]!=s && M[i][k]!='.') + return false; + return true; + } + } + + return false; // nunca llega + } + + string getString(){ + string ret; + for(int i = 0;i<6;++i) ret += M[i]; + return ret; + } + + void print(){ + for(int i = 0;i<6;++i) cout< visited; + +int solve(char s){ + visited.clear(); + + for(int i = 0;i<6;++i) cin>>aux.M[i]; + aux.dist = 0; + if(aux.canWin(s)) return 1; + + queue Q; + Q.push(aux); + visited.insert(aux.getString()); + + bool used[26]; + + while(!Q.empty()){ + aux = Q.front(); + Q.pop(); + //aux.print(); + + memset(used,false,sizeof(used)); + + // mover piezas horizontales + + for(int r = 0;r<6;++r) for(int c = 0;c<6;++c){ + if(aux.M[r][c]!='.' && !used[aux.M[r][c]-'A']){ + char cur = aux.M[r][c]; + int l = 0; + + for(int c2 = c;c2<6;++c2) + if(aux.M[r][c2]==cur) ++l; + + if(l==1) continue; + used[aux.M[r][c]-'A'] = true; + + for(int c2 = c+l;c2<6;++c2){ + if(aux.M[r][c2]=='.'){ + aux2 = aux; + aux2.dist = aux.dist+1; + for(int i = 0;i=0;--c2){ + if(aux.M[r][c2]=='.'){ + aux2 = aux; + aux2.dist = aux.dist+1; + for(int i = 0;i=0;--r2){ + if(aux.M[r2][c]=='.'){ + aux2 = aux; + aux2.dist = aux.dist+1; + for(int i = 0;i>s; + if(s=='*') break; + cout< +#include +#include + +using namespace std; + +struct point{ + double x,y; + + point(){} + + point(double _x, double _y){ + x = _x; y = _y; + } + + void read(){ + cin>>x>>y; + } + + bool isOrigin(){ + return (x<1e-8 && y<1e-8); + } + + point operator - (point P){ + return point(x-P.x,y-P.y); + } + + point operator * (double r){ + return point(r*x,r*y); + } + + point operator + (point P){ + return point(x+P.x,y+P.y); + } +}A,B,C,D,E,F; + +double area(point a, point b, point c){ + return fabs(a.x*b.y+b.x*c.y+c.x*a.y-a.y*b.x-b.y*c.x-c.y*a.x); +} + +int main(){ + while(true){ + A.read(); B.read(); C.read(); + D.read(); E.read(); F.read(); + + if(A.isOrigin() && B.isOrigin() && C.isOrigin() + && D.isOrigin() && E.isOrigin() && F.isOrigin()) + break; + + double r = area(D,E,F)/area(A,B,C)/2; + + point H = A+(C-A)*r; + point G = B+(H-A); + + printf("%.3lf %.3lf %.3lf %.3lf\n",G.x,G.y,H.x,H.y); + } + + return 0; +} diff --git a/Live Archive/4603 - Knitting.cpp b/Live Archive/4603 - Knitting.cpp new file mode 100755 index 0000000..b3c6ecf --- /dev/null +++ b/Live Archive/4603 - Knitting.cpp @@ -0,0 +1,25 @@ +#include + +using namespace std; + +int main(){ + int N,M,K,a[100]; + + while(true){ + cin>>N>>M>>K; + if(N==0 || M==0 || K==0) break; + + for(int i = 0;i>a[i]; + + long long ans = N; + + for(int i = 0;i+1 +#include + +using namespace std; + +int main(){ + int R,C,ans[100][100]; + int dr[] = {-1,-1,-1,1,1,1,0,0}; + int dc[] = {-1,0,1,-1,0,1,-1,1}; + string M[100]; + + while(true){ + cin>>R>>C; + if(R==0 || C==0) break; + + for(int i = 0;i>M[i]; + + for(int i = 0;i=0 && r2=0 && c2 +#include +#include +#include + +using namespace std; + +#define MAX_N 1000 + +int main(){ + int N,D; + pair P[MAX_N]; + vector rest[MAX_N]; // restricciones a las que afecta cada variable + int val_var[MAX_N], val_rest[MAX_N-1]; // valor actual de cada variable y restricción + + while(true){ + scanf("%d %d",&N,&D); + if(N==0 || D==0) break; + + for(int i = 0;iD) valid = false; + val_rest[i] = b-a; + + for(int j = a;j=0;--j) + inc = min(inc,D-val_rest[rest[i][j]]); + + if(inc>0){ + val_var[i] += inc; + for(int j = rest[i].size()-1;j>=0;--j) + val_rest[rest[i][j]] += inc; + } + + ans += val_var[i]; + } + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Live Archive/4607 - Robot Challenge.cpp b/Live Archive/4607 - Robot Challenge.cpp new file mode 100755 index 0000000..e19a33f --- /dev/null +++ b/Live Archive/4607 - Robot Challenge.cpp @@ -0,0 +1,62 @@ +#include +#include +#include +#include + +using namespace std; + +struct point{ + int x,y; + + point(){} + + point(int _x, int _y){ + x = _x; y = _y; + } + + void read(){ + cin>>x>>y; + } + + double dist(point P){ + return sqrt((x-P.x)*(x-P.x)+(y-P.y)*(y-P.y)); + } +}P[1002]; + +int main(){ + int N,pen[1002],sum[1002]; + double dp[1002]; + + P[0] = point(0,0); + pen[0] = 0; + + while(true){ + cin>>N; + if(N==0) break; + + for(int i = 1;i<=N;++i){ + P[i].read(); + cin>>pen[i]; + } + + P[N+1] = point(100,100); + pen[N+1] = 0; + + sum[0] = 0; + for(int i = 1;i<=N+1;++i) + sum[i] = sum[i-1]+pen[i]; + + dp[0] = 0; + + for(int i = 1;i<=N+1;++i){ + dp[i] = dp[i-1]+P[i].dist(P[i-1])+1; + + for(int j = 0;j+1 +#include +#include + +using namespace std; + +#define MOD 1000000 +int N; + +void get_prev(int prev, int cur, vector &L){ + if(cur==0) L.push_back(prev); + else{ + for(int i = 0;i0 && (prev & (1<<(i-1)))); + bool b2 = (prev & (1< prev[(1<<10)]; + + while(true){ + scanf("%d %d",&N,&M); + if(N==0 || M==0) break; + + for(int mask = 0;mask<(1<=0;--j) + dp[i][mask] = (dp[i][mask]+dp[i-1][prev[mask][j]])%MOD; + } + } + + printf("%d\n",dp[M-1][(1< +#include +#include + +using namespace std; + +int main(){ + freopen("in2.txt","r",stdin); + freopen("out.txt","w",stdout); + + int M[2000]; + int dp[200][201]; + int sum[200][201]; + int N,ans; + float F; + + while(1){ + scanf("%d %f",&N,&F); + if(N==0) break; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int P,R; +vector V; +int adj[100][100]; +bool visited[100]; + +int indice(string s) +{ + for(int i=0;i Q; + + memset(visited,false,sizeof(visited)); + + Q.push(nodo(a,0)); + visited[a]=true; + + while(!Q.empty()) + { + nodo aux=Q.front(); + Q.pop(); + + int ind=aux.ind; + int costo=aux.costo; + + if(ind==b) return costo; + + for(int i=0;i>P>>R) + { + if(P==0 && R==0) break; + if(cont!=1) cout<>s1>>s2; + + if(indice(s1)==-1) V.push_back(s1); + if(indice(s2)==-1) V.push_back(s2); + + a=indice(s1); + b=indice(s2); + + adj[a][b]=1; + adj[b][a]=1; + + } + + if(V.size() != P) cout<<"Network "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

h9fVog=W5U}%4L4ySu717$Zje!}s3AzOm`kEq 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 literal 0 HcmV?d00001 diff --git a/Live Archive/TDV/Degrees of separation (Presentation Error)/in.txt b/Live Archive/TDV/Degrees of separation (Presentation Error)/in.txt new file mode 100755 index 0000000..7061e9f --- /dev/null +++ b/Live Archive/TDV/Degrees of separation (Presentation Error)/in.txt @@ -0,0 +1,9 @@ +4 4 +Ashok Kiyoshi Ursala Chun Ursala Kiyoshi +Kiyoshi Chun +4 2 +Ashok Chun Ursala Kiyoshi +6 5 +Bubba Cooter Ashok Kiyoshi Ursala Chun +Ursala Kiyoshi Kiyoshi Chun +0 0 \ No newline at end of file diff --git a/Live Archive/TDV/Degrees of separation (Presentation Error)/out.txt b/Live Archive/TDV/Degrees of separation (Presentation Error)/out.txt new file mode 100755 index 0000000..a72a80c --- /dev/null +++ b/Live Archive/TDV/Degrees of separation (Presentation Error)/out.txt @@ -0,0 +1,5 @@ +Network 1: 2 + +Network 2: DISCONNECTED + +Network 3: DISCONNECTED diff --git a/Live Archive/TDV/Degrees of separation (Presentation Error)/p3569.pdf b/Live Archive/TDV/Degrees of separation (Presentation Error)/p3569.pdf new file mode 100755 index 0000000000000000000000000000000000000000..2f6b1eb3f92efb07d8e9eb7c55250f8e47e694bd GIT binary patch literal 269053 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%0DK+6BLU`R5GFJ6g)#dP>x@jK2Z+BMHLJU5Fdup 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 literal 0 HcmV?d00001 diff --git a/PKU/1000.cpp b/PKU/1000.cpp new file mode 100755 index 0000000..db5ed5b --- /dev/null +++ b/PKU/1000.cpp @@ -0,0 +1,12 @@ +#include +#include + +using namespace std; + +int main(){ + int a,b; + + scanf("%d %d",&a,&b); + + printf("%d\n",a+b); +} diff --git a/PKU/1087 - A Pluf for UNIX.cpp b/PKU/1087 - A Pluf for UNIX.cpp new file mode 100755 index 0000000..905fc6d --- /dev/null +++ b/PKU/1087 - A Pluf for UNIX.cpp @@ -0,0 +1,94 @@ +#include +#include +#include +#include +#include +#include + +using namespace std; + +struct flow_graph{ + int MAX_V,E,s,t; + int *cap,*to,*next,*last; + bool *visited; + + flow_graph(int V, int MAX_E){ + MAX_V = V; E = 0; + cap = new int[2*MAX_E], to = new int[2*MAX_E], next = new int[2*MAX_E]; + last = new int[MAX_V], visited = new bool[MAX_V]; + fill(last,last+MAX_V,-1); + } + + void add_edge(int u, int v, int uv, int vu = 0){ + to[E] = v, cap[E] = uv, next[E] = last[u]; last[u] = E++; + to[E] = u, cap[E] = vu, next[E] = last[v]; last[v] = E++; + } + + int dfs(int v, int f){ + if(v==t || f<=0) return f; + if(visited[v]) return 0; + visited[v] = true; + for(int e=last[v];e!=-1;e=next[e]){ + int ret = dfs(to[e],min(f,cap[e])); + if(ret>0){ + cap[e] -= ret; + cap[e^1] += ret; + return ret; + } + } + return 0; + } + + int max_flow(int source, int sink){ + s = source, t = sink; + int f = 0,x; + while(true){ + fill(visited,visited+MAX_V,false); + x = dfs(s,INT_MAX); + if(x==0) break; + f += x; + } + return f; + } +}; + +map myMap; +int map_size = 0; + +int getIndex(string name){ + if(myMap.find(name)==myMap.end()) + myMap[name] = ++map_size; + return myMap[name]; +} + +int main(){ + int N,M,K; + char name1[25],name2[25]; + flow_graph G(2+100+200+200,100+2*100+100); // s = 0, t = 1 + + scanf("%d",&N); + + for(int i=0;i +#include + +using namespace std; + +int d[9],cont,M,x; + +set S; + +void search(int n){ + if(n%11<10){ + x=10*(n/11)+(n%11); + + for(int i=cont-1;i>=0;i--) x=10*x+d[i]; + + S.insert(x); + } + + if(n%2==0 && n>0){ + int d1=(n%10)/2; + int d2=d1+5; + + cont++; + + if(n>2*d1){ + d[cont-1]=d1; + search((n-d1)/10); + } + + if(n>2*d2){ + d[cont-1]=d2; + search((n-d2)/10); + } + + cont--; + } +} + +int dig(int n){ + if(n==0) return 1; + + cont=0; + + while(n!=0){ + n/=10; + cont++; + } + + return cont; +} + +int main(){ + int N; + + scanf("%d",&N); + + cont=0; + search(N); + + int sz=S.size(),aux; + set :: iterator it; + + printf("%d\n",sz); + for(it=S.begin();it!=S.end();it++){ + aux=(*it); + + printf("%d + ",aux); + for(int j=dig(aux)-dig(N-aux)-1;j>0;j--) printf("0"); + printf("%d = %d\n",N-aux,N); + } + + return 0; +} diff --git a/PKU/1147 - Binary codes.cpp b/PKU/1147 - Binary codes.cpp new file mode 100755 index 0000000..474c237 --- /dev/null +++ b/PKU/1147 - Binary codes.cpp @@ -0,0 +1,35 @@ +#include + +using namespace std; + +int main(){ + int N,cont=0; + int last_col[3000]; + int first_col[3000]; + int next[3000]; + + scanf("%d",&N); + + for(int i=0;i + +using namespace std; + +long long seed = 47; + +long long rand(){ + seed = (seed * 279470273) % 4294967291LL; + return seed; +} + +typedef int treap_type; + +class treap{ + public: + + treap_type value; + long long priority; + treap *left, *right; + int sons; + + treap(treap_type value) : left(NULL), right(NULL), value(value), sons(0){ + priority = rand(); + } + + ~treap(){ + if(left) delete left; + if(right) delete right; + } +}; + +inline void rotate_to_right(treap* &t){ + treap* n = t->left; + t->left = n->right; + n->right = t; + t = n; +} + +inline void rotate_to_left(treap* &t){ + treap* n = t->right; + t->right = n->left; + n->left = t; + t = n; +} + +void fix_augment(treap* t){ + if(!t) return; + t->sons = (t->left ? t->left->sons + 1 : 0) + + (t->right ? t->right->sons + 1 : 0); +} + +void insert(treap* &t, treap_type val){ + if(!t) t = new treap(val); + else insert(val <= t->value ? t->left : t->right, val); + + if(t->left && t->left->priority > t->priority) + rotate_to_right(t); + else if(t->right && t->right->priority > t->priority) + rotate_to_left(t); + + fix_augment(t->left); fix_augment(t->right); fix_augment(t); +} + +int getKth(treap* &t, int K){ + int left = (t->left==NULL? 0 : 1+t->left->sons); + int right = (t->right==NULL? 0 : 1+t->right->sons); + + if(1+left==K) return t->value; + else if(leftright,K-1-left); + return getKth(t->left,K); +} + +int main(){ + int N,M; + scanf("%d %d",&N,&M); + + int A[N],U[M]; + for(int i = 0;i +#include +#include + +using namespace std; + +struct flow_graph{ + int MAX_V,E,s,t; + int *cap,*to,*next,*last; + bool *visited; + + flow_graph(int V, int MAX_E){ + MAX_V = V; + cap = new int[2*MAX_E], to = new int[2*MAX_E], next = new int[2*MAX_E]; + last = new int[MAX_V], visited = new bool[MAX_V]; + fill(last,last+MAX_V,-1); + } + + void clear(){ + fill(last,last+MAX_V,-1); + E = 0; + } + + void add_edge(int u, int v, int uv, int vu = 0){ + to[E] = v, cap[E] = uv, next[E] = last[u]; last[u] = E++; + to[E] = u, cap[E] = vu, next[E] = last[v]; last[v] = E++; + } + + int dfs(int v, int f){ + if(v==t || f<=0) return f; + if(visited[v]) return 0; + visited[v] = true; + + for(int e=last[v];e!=-1;e=next[e]){ + int ret = dfs(to[e],min(f,cap[e])); + + if(ret>0){ + cap[e] -= ret; + cap[e^1] += ret; + return ret; + } + } + + return 0; + } + + int max_flow(int source, int sink){ + s = source, t = sink; + int f = 0,x; + + while(true){ + fill(visited,visited+MAX_V,false); + x = dfs(s,INT_MAX); + if(x==0) break; + f += x; + } + + return f; + } +}; + +int main(){ + int T,N,P,nStudents,student; + scanf("%d",&T); + + flow_graph G(100+300+2,100+100*300+300); + + for(int tc=1;tc<=T;++tc){ + scanf("%d %d",&P,&N); + + G.clear(); + + for(int i=0;i +#include + +using namespace std; + +#define MAX_V 100 + +struct edge{ + int u,v,w; + + edge(){} + + edge(int u, int v, int w) : u(u), v(v), w(w){} + + bool operator < (edge X)const{ + return wrank[PY]) parent[PY] = PX; + else{ + parent[PX] = PY; + if(rank[PX]==rank[PY]) ++rank[PY]; + } +} + +int V,E; + +int erase(edge &e){ + int ret = 0, cont = V; + + for(int i = 0;i +#include + +using namespace std; + +#define MAX_N 10000 +#define S 6 + +int main(){ + int T,n,val[MAX_N][S],best[MAX_N][S],total[MAX_N][S],ans; + int back[] = {5,3,4,1,2,0}; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + + for(int i=0;ibest[i][j]) best[i][j] = val[i][k]; + } + + for(int j=0;jans) ans = total[n-1][j]; + printf("%d\n",ans); + } + + return 0; +} diff --git a/PKU/1977 - Odd Loving Bakers.cpp b/PKU/1977 - Odd Loving Bakers.cpp new file mode 100755 index 0000000..676c5bd --- /dev/null +++ b/PKU/1977 - Odd Loving Bakers.cpp @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include + +using namespace std; + +#define MAX_SIZE 100 + +int size; + +struct M{ + int X[MAX_SIZE][MAX_SIZE]; + M(){} +}; + +void mult(M &m, M &m1, M &m2){ + memset(m.X,0,sizeof(m.X)); + for(int i=0;i I; + int cont,A[100]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d %d",&n,&t); + size = n; + + for(int i=0;i +#include +#include + +using namespace std; + +struct cow{ + int v,x; + + bool operator < (cow X) const{ + return v0;idx-=(idx & -idx)) sum+=T[idx]; + + return sum; +} + +int main(){ + int N; + + cin>>N; + + vector a(N); + + for(int i=0;i>a[i].v>>a[i].x; + + sort(a.begin(),a.end()); + + memset(tree1,0,sizeof(tree1)); + memset(tree2,0,sizeof(tree2)); + + long long ans=0; + + update(tree1,a[0].x,1); + update(tree2,a[0].x,a[0].x); + + long long s1,n1,s2,n2; + + for(int i=1;i +#include + +using namespace std; + +char s1[201],s2[201],s3[401]; +int L1,L2,L3,memo[201][201]; + +int solve(int n, int m){ + if(n+m==L3) return 1; + if(memo[n][m]!=-1) return memo[n][m]; + + int aux = 0; + + if(n +#include + +using namespace std; + +#define max(x,y) (x)>(y)? (x):(y) +#define min(x,y) (x)<(y)? (x):(y) + +struct node{ + int x,y; + + node(){} + + node(int _x, int _y){ + x = _x; y = _y; + } +}aux; + +int n,H[100][100],min_h,max_h; +bool visited[100][100]; + +const int dx[] = {-1,1,0,0}, dy[] = {0,0,-1,1}; + +bool possible(int diff){ + int x2,y2; + + for(int lo=min_h;lo<=max_h;++lo){ + for(int i=0;ilo+diff); + + if(visited[0][0]) continue; + + queue Q; + Q.push(node(0,0)); + visited[0][0] = true; + + while(!Q.empty()){ + aux = Q.front(); + Q.pop(); + + if(aux.x==n-1 && aux.y==n-1) return true; + + for(int i=0;i<4;++i){ + x2 = aux.x+dx[i]; + y2 = aux.y+dy[i]; + + if(x2>=0 && x2=0 && y2 +#include + +using namespace std; + +#define MAX_X 32001 + +int T[MAX_X+1]; + +void update(int idx, int val){ + for(;idx<=MAX_X;idx += idx & -idx) T[idx] += val; +} + +int F(int idx){ + int sum = 0; + for(;idx>0;idx -= idx & -idx) sum += T[idx]; + return sum; +} + +int main(){ + int N,x,y; + scanf("%d",&N); + + int ans[N]; + memset(ans,0,sizeof(ans)); + memset(T,0,sizeof(T)); + + for(int i = 0;i +#include +#include + +using namespace std; + +#define MAX_V 500 + +int M[MAX_V][MAX_V],w[MAX_V]; +bool A[MAX_V],merged[MAX_V]; + +int minCut(int n){ + int best = INT_MAX; + for(int i=1;i=0;--i){ + // hallar siguiente vértice que no esté en A + next = -1; + + for(int j=1;jw[next])) + next = j; + + A[next] = true; + + if(i>0){ + prev = next; + + // actualiza los pesos + for(int j=1;jw[next]) best = w[next]; + + // mezcla s y t + for(int i=0;i +#include + +using namespace std; + +int dp[1001][1001]; + +int main(){ + int n,m; + char s1[1001],s2[1001]; + + for(int i=0;i<=1000;i++) dp[0][i]=i; + for(int i=0;i<=1000;i++) dp[i][0]=i; + + while(scanf("%d %s %d %s",&n,s1,&m,s2)==4){ + for(int i=1;i<=n;i++) + for(int j=1;j<=m;j++) + dp[i][j]=min(min(dp[i-1][j]+1,dp[i][j-1]+1),dp[i-1][j-1]+(s1[i-1]!=s2[j-1])); + + printf("%d\n",dp[n][m]); + } + + return 0; +} diff --git a/PKU/3357 - Oreon.cpp b/PKU/3357 - Oreon.cpp new file mode 100755 index 0000000..a2698a8 --- /dev/null +++ b/PKU/3357 - Oreon.cpp @@ -0,0 +1,83 @@ +#include +#include +#include + +using namespace std; + +int parent[26],rank[26]; + +void Make_Set(const int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(const int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(const int &x, const int &y){ + int PX=Find(x),PY=Find(y); + + if(rank[PX]>rank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +struct edge{ + int u,v,d; + + edge(int _u, int _v, int _d){ + u=_u; + v=_v; + d=_d; + } + + bool operator < (edge X) const{ + if(d!=X.d) return d L; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&V); + + L.clear(); + + for(int i=0;ii) L.push_back(edge(i,j,d)); + } + } + + sort(L.rbegin(),L.rend()); + + for(int i=0;i=0;i--){ + u=L[i].u; + v=L[i].v; + + if(Find(u)!=Find(v)){ + Union(u,v); + printf("%c-%c %d\n",'A'+u,'A'+v,L[i].d); + } + } + } + + return 0; +} diff --git a/PKU/3359 - Wordfish.cpp b/PKU/3359 - Wordfish.cpp new file mode 100755 index 0000000..c963eb4 --- /dev/null +++ b/PKU/3359 - Wordfish.cpp @@ -0,0 +1,56 @@ +#include +#include +#include + +using namespace std; + +int f(string s){ + int aux=INT_MAX; + for(int i=0;i+1X.d; + return s>s){ + L[0]=pass(s); + + aux=s; + for(int i=1;i<11;i++){ + prev_permutation(aux.begin(),aux.end()); + L[i]=pass(aux); + } + + aux=s; + for(int i=11;i<21;i++){ + next_permutation(aux.begin(),aux.end()); + L[i]=pass(aux); + } + + sort(L,L+21); + + cout< + +using namespace std; + +void print(char &c){ + if(c==' ') printf("%c20",'%'); + else if(c=='!') printf("%c21",'%'); + else if(c=='$') printf("%c24",'%'); + else if(c=='%') printf("%c25",'%'); + else if(c=='(') printf("%c28",'%'); + else if(c==')') printf("%c29",'%'); + else if(c=='*') printf("%c2a",'%'); + else printf("%c",c); +} + +int main(){ + char c; + + while(1){ + scanf("%c",&c); + if(c=='#') break; + + print(c); + + while(1){ + scanf("%c",&c); + print(c); + + if(c=='\n') break; + } + } + + return 0; +} diff --git a/PKU/3652 - Persistent Bits.cpp b/PKU/3652 - Persistent Bits.cpp new file mode 100755 index 0000000..594f3ba --- /dev/null +++ b/PKU/3652 - Persistent Bits.cpp @@ -0,0 +1,40 @@ +#include +#include + +using namespace std; + +int main(){ + int A,B,C,S; + bool visited[65536]; + int mask1,mask2; + bool used[16]; + + while(1){ + scanf("%d",&A); + if(A==0) break; + scanf("%d %d %d",&B,&C,&S); + + memset(visited,false,sizeof(visited)); + + mask1=(1<<16)-1; + mask2=0; + + while(!visited[S]){ + visited[S]=true; + + mask1&=S; + mask2|=S; + + S=(A*S+B)%C; + } + + for(int i=15;i>=0;i--){ + if((mask2&(1< +#include +#include + +using namespace std; + +int main(){ + string s; + int L[27]; + int current; + int pos,caso=1; + vector E; + char x; + vector R; + int mask; + vector print; + char c; + + while(1){ + cin>>s; + if(s=="#") break; + + cout< +#include +#include + +using namespace std; + +int main(){ + int N,P,K; + scanf("%d %d %d",&N,&P,&K); + + int u,v,w,W[10001]; + vector< vector< pair > > L(N); + + W[0]=0; + + for(int i=0;i p; + + while(1){ + mi=(lo+hi)>>1; + l=W[mi]; + + s1=0; Qsize=0; + fill(visited,visited+N,false); + Q[Qsize++]=0; + visited[0]=true; + + solved=false; + + for(int x=0;x<=K && !solved;x++){ + for(int i=s1;i=0;j--){ + p=L[Q[i]][j]; + u=p.first; + v=p.second; + + if(v<=l && !visited[u]){ + Q[Qsize++]=u; + visited[u]=true; + } + } + } + + if(solved) break; + + s2=s1; + s1=Qsize; + + for(int i=s2;i=0;j--){ + p=L[Q[i]][j]; + u=p.first; + v=p.second; + + if(v>l && !visited[u]){ + Q[Qsize++]=u; + visited[u]=true; + } + } + } + } + + if(lo==hi){ + if(!solved) printf("-1\n"); + else printf("%d\n",W[lo]); + break; + }else{ + if(!solved) lo=mi+1; + else hi=mi; + } + } + + return 0; +} diff --git a/PKU/3664 - Election Time.cpp b/PKU/3664 - Election Time.cpp new file mode 100755 index 0000000..21adbac --- /dev/null +++ b/PKU/3664 - Election Time.cpp @@ -0,0 +1,45 @@ +#include +#include + +using namespace std; + +struct cow{ + int ind,A,B; + + cow(){ + } + + cow(const int _ind, const int _A, const int _B){ + ind=_ind; + A=_A; + B=_B; + } +}; + +bool sort1(const cow &a, const cow &b){ + return a.A>b.A; +} + +bool sort2(const cow &a, const cow &b){ + return a.B>b.B; +} + +int main(){ + int N,K,A,B; + + scanf("%d %d",&N,&K); + + cow a[N]; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int main(){ + int N,M; + scanf("%d %d",&N,&M); + + int u[M],v[M],C[M],T[M]; + for(int i = 0;i P; + int s = -1,cur; + + for(int i = 0;i +#include +#include +#include + +using namespace std; + +int main(){ + int N,M,K; + deque Q; int cont; + char s[4]; + bool dir=0; //dir=0 -> pop_back() , dir=1 -> pop_front() + char L[140000][4]; int sz = 0; + char op[9]; + + scanf("%d %d %d\n",&N,&M,&K); + + if(N>K){ + for(int i = 0;i=0;--i){ + ++sz; + scanf("%s\n",L[i]); + } + }else{ + for(int i = 0;i=0;--i) printf("%s\n",L[i]); + + return 0; +} diff --git a/SGU/499 - Greatest Greatest Common Divisor.cpp b/SGU/499 - Greatest Greatest Common Divisor.cpp new file mode 100755 index 0000000..77cd59b --- /dev/null +++ b/SGU/499 - Greatest Greatest Common Divisor.cpp @@ -0,0 +1,66 @@ +#include +#include +#include + +using namespace std; + +#define MAX_N 1000000 +#define SQRT_N 1000 + +int factor[MAX_N+1],cont[MAX_N+1]; +int ans,p[78498],exp[78498],n_primes; + +void generate_divisors(int n = 0, int div = 1){ + if(n==n_primes){ + ++cont[div]; + if(cont[div]==2 && div>ans) ans = div; + return; + } + + for(int i=0;i<=exp[n];++i){ + generate_divisors(n+1,div); + div *= p[n]; + } +} + +int main(){ + fill(factor,factor+MAX_N+1,0); + factor[1] = 1; + + for(int i=2;i<=MAX_N;++i){ + if(factor[i]==0){ + factor[i] = i; + if(i<=SQRT_N) for(int j=i*i;j<=MAX_N;j+=i) factor[j] = i; + } + } + + int n,x; + scanf("%d",&n); + + memset(cont,0,sizeof(cont)); + ans = 1; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +#define MAX_N 50000 + +vector L[MAX_N]; +set S[MAX_N]; +bool solved[MAX_N],repeated[MAX_N]; +int ind[MAX_N],ans[MAX_N]; + +void solve(int n){ + int son,aux,sz = -1,sz2,I; + + for(int i=L[n].size()-1;i>=0;--i){ + son = L[n][i]; + if(!solved[son]) solve(son); + sz2 = S[ind[son]].size(); + + if(sz2>sz){ + sz = sz2; + I = ind[son]; + } + } + + ind[n] = I; + + for(int i=L[n].size()-1;i>=0;--i){ + son = L[n][i]; + if(repeated[son]) repeated[n] = true; + if(ind[son]==I) continue; + if(repeated[n]) break; + + for(set::iterator it=S[ind[son]].begin();it!=S[ind[son]].end();++it){ + aux = (*it); + + if(S[I].find(aux)!=S[I].end()){ + repeated[n] = true; + break; + } + + S[I].insert(aux); + } + } + + if(repeated[n]) ans[n] = 0; + else{ + ans[n] = 2147483647; + int prev; + bool first = true; + + for(set::iterator it=S[I].begin();it!=S[I].end();++it){ + aux = (*it); + if(!first) ans[n] = min(ans[n],aux-prev); + first = false; + prev = aux; + } + } + + solved[n] = true; +} + +int main(){ + int n,m; + scanf("%d %d",&n,&m); + + int aux; + for(int i=1;i=0;--i) + if(!solved[i]) + solve(i); + + printf("%d",ans[0]); + for(int i=1;i + +using namespace std; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + short n; + char c; + + while(cin>>n) + { + c=n; + cout< +#include +#include +#include + +using namespace std; + +int main(){ + + map M; + + M["pop"]=0; + M["no"]=1; + M["zip"]=2; + M["zotz"]=3; + M["tzec"]=4; + M["xul"]=5; + M["yoxkin"]=6; + M["mol"]=7; + M["chen"]=8; + M["yax"]=9; + M["zac"]=10; + M["ceh"]=11; + M["mac"]=12; + M["kankin"]=13; + M["muan"]=14; + M["pax"]=15; + M["koyab"]=16; + M["cumhu"]=17; + M["uayet"]=18; + + vector v(20); + + v[0]="imix"; + v[1]="ik"; + v[2]="akbal"; + v[3]="kan"; + v[4]="chicchan"; + v[5]="cimi"; + v[6]="manik"; + v[7]="lamat"; + v[8]="muluk"; + v[9]="ok"; + v[10]="chuen"; + v[11]="eb"; + v[12]="ben"; + v[13]="ix"; + v[14]="mem"; + v[15]="cib"; + v[16]="caban"; + v[17]="eznab"; + v[18]="canac"; + v[19]="ahau"; + + int n,d,a; + string s; + long long sum; + + cin>>n; + + cout<>s>>a; + + sum=d+M[s]*20+a*365; + + cout< +#include +#include +#include +#include +#include + +using namespace std; + +// Las listas de adyacencia se deben ordenar de forma ascendente para +// obtener el ciclo lexicográfico mínimo + +#define MAX_V 44 +#define MAX_E 1995 + +int N,deg[MAX_V],eu[MAX_E],ev[MAX_E]; +list G[MAX_V],L; +bool visited[MAX_V]; +stack S; +queue Q; + +bool connected(){ + int cont = 0; + Q.push(0); + memset(visited,false,sizeof(visited)); + visited[0] = true; + + while(!Q.empty()){ + int v = Q.front(); Q.pop(); + ++cont; + + for(list::iterator it = G[v].begin();it!=G[v].end();++it){ + int e = *it; + int w = eu[e]==v? ev[e] : eu[e]; + + if(!visited[w]){ + visited[w] = true; + Q.push(w); + } + } + } + + return cont==N; +} + +bool eulerian(){ + if(!connected()) return false; + + for(int v = 0;v::iterator it = G[w].begin();it!=G[w].end();++it){ + if(*it==e){ + G[w].erase(it); + break; + } + } +} + +void euler(int v){ + while(true){ + if(G[v].empty()) break; + int e = G[v].front(); + int w = eu[e]==v? ev[e] : eu[e]; + S.push(e); + take_edge(v,w); + v = w; + } +} + +bool find_cycle(int s){ + if(!eulerian()) return false; + + int v = s,e; + L.clear(); + + do{ + euler(v); + e = S.top(); S.pop(); + L.push_back(e); + + v = eu[e]==v? ev[e] : eu[e]; + }while(!S.empty()); + + return true; +} + +void print_cycle(int s){ + if(!find_cycle(s)) printf("Round trip does not exist.\n"); + else{ + bool first = true; + reverse(L.begin(),L.end()); + for(list::iterator e = L.begin();e!=L.end();++e){ + if(!first) printf(" "); + first = false; + printf("%d",1+(*e)); + } + printf("\n"); + } +} + +int main(){ + int x,y,z,s; + vector adj[MAX_V]; + + while(true){ + scanf("%d %d",&x,&y); + if(x==0 && y==0) break; + + for(int i = 0;i + +using namespace std; + +int m[]={2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881}; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + + while(1){ + cin>>n; + + if(n==0) break; + + cout<>n; + + if(n==0) break; + + for(int m=n+1;;m++){ + if(f(m)){ + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,k,ax; + string s; + + int a[200]; + bool M[200]; + int ind[200][2]; + + while(1){ + cin>>n; + if(n==0) break; + + for(int i=0;i > v; + vector u; + + for(int i=0;i>k; + + if(k==0) break; + + getline(cin,s); + s.erase(0,1); + + while(s.size()!=n) s+=" "; + + string ans(n,' '); + + for(int i=0;i +#include +#include + +using namespace std; + +struct point{ + int x,y; + + point(){ + } + + point(const int _x, const int _y){ + x=_x; y=_y; + } + + point operator - (const point &p) const{ + return point(x-p.x,y-p.y); + } +}; + +int AreaBy2(const vector &poly){ + int n=poly.size(); + int S=0; + + for(int i=1;i poly; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + + poly.clear(); + x=0; y=0; + poly.push_back(point(x,y)); + + for(int i=0;i>1,B,S/2.0); + } + + return 0; +} diff --git a/Tianjin Online Judge/1015 - Gridland.cpp b/Tianjin Online Judge/1015 - Gridland.cpp new file mode 100755 index 0000000..553cf60 --- /dev/null +++ b/Tianjin Online Judge/1015 - Gridland.cpp @@ -0,0 +1,23 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,m,n; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d %d",&m,&n); + + printf("Scenario #%d:\n",caso); + if(m%2==0 || n%2==0) printf("%.2f\n\n",(double)m*n); + else printf("%.2f\n\n",m*n-1+sqrt(2)); + } + + return 0; +} diff --git a/Tianjin Online Judge/1017 - Number Game.cpp b/Tianjin Online Judge/1017 - Number Game.cpp new file mode 100755 index 0000000..3905862 --- /dev/null +++ b/Tianjin Online Judge/1017 - Number Game.cpp @@ -0,0 +1,91 @@ +#include +#include +#include + +using namespace std; + +int marked[(1<<19)],win[(1<<19)]; + +int mark(int mask){ + if(marked[mask]!=-1) return marked[mask]; + + int mask2=0; + + for(int i=0;i<19;i++){ + if((mask & (1< +#include +#include + +using namespace std; + +struct segment{ + double x1,x2; + + segment(){ + } + + bool operator < (segment X) const{ + if(x1 != X.x1) return x1x2){ + printf("%.2f %.2f\n",x1,x2); + x1=M[i].x1; + x2=M[i].x2; + }else if(M[i].x1<=x2 && M[i].x2>x2) x2=M[i].x2; + } + + printf("%.2f %.2f\n\n",x1,x2); + } + + return 0; +} diff --git a/Tianjin Online Judge/1025 - Robot.cpp b/Tianjin Online Judge/1025 - Robot.cpp new file mode 100755 index 0000000..15e8967 --- /dev/null +++ b/Tianjin Online Judge/1025 - Robot.cpp @@ -0,0 +1,96 @@ +#include +#include + +using namespace std; + +struct nodo{ + int x,y,dir,time; + + nodo(int a, int b, int c, int d){ + x=a; + y=b; + dir=c; + time=d; + } +}; + +int M,N; +int di[]={-1,0,1,0}; +int dj[]={0,1,0,-1}; +bool obstacle[50][50]; +bool visited[51][51][4]; + +bool valido(int x, int y){ + if(x<=0 || y<=0 || x>=M || y>=N) return false; + if(obstacle[x-1][y-1]) return false; + if(obstacle[x-1][y]) return false; + if(obstacle[x][y-1]) return false; + if(obstacle[x][y]) return false; + + return true; +} + +int shortest_time(int &startx, int &starty, int &dir, int &endx, int &endy){ + queue Q; + if(valido(startx,starty)){ + Q.push(nodo(startx,starty,dir,0)); + visited[startx][starty][dir]=true; + } + + while(!Q.empty()){ + nodo aux=Q.front(); + Q.pop(); + + if(aux.x==endx && aux.y==endy) return aux.time; + + if(!visited[aux.x][aux.y][(aux.dir+1)%4]){ + visited[aux.x][aux.y][(aux.dir+1)%4]=true; + Q.push(nodo(aux.x,aux.y,(aux.dir+1)%4,aux.time+1)); + } + + if(!visited[aux.x][aux.y][(aux.dir+3)%4]){ + visited[aux.x][aux.y][(aux.dir+3)%4]=true; + Q.push(nodo(aux.x,aux.y,(aux.dir+3)%4,aux.time+1)); + } + + for(int i=1;i<=3;i++){ + if(valido(aux.x+di[aux.dir]*i,aux.y+dj[aux.dir]*i)){ + if(visited[aux.x+di[aux.dir]*i][aux.y+dj[aux.dir]*i][aux.dir]) continue; + visited[aux.x+di[aux.dir]*i][aux.y+dj[aux.dir]*i][aux.dir]=true; + Q.push(nodo(aux.x+di[aux.dir]*i,aux.y+dj[aux.dir]*i,aux.dir,aux.time+1)); + }else break; + } + } + + return -1; +} + +int main(){ + int startx,starty,endx,endy,dir,ax; + char s[6]; + + while(1){ + scanf("%d %d",&M,&N); + if(M==0 || N==0) break; + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +bool visited[105]; + +vector< vector > v; +int elim; + +int dfs(int a){ + int cont=1; + visited[a]=true; + + + for(int i=0;i>N; + if(N==0) break; + + v.clear(); + v.resize(N+1); + + getline(cin,s); + while(getline(cin,s)){ + istringstream is(s); + is>>m; + if(m==0) break; + while(is>>x){ + v[m].push_back(x); + v[x].push_back(m); + } + } + tot=0; + memset(visited,false,sizeof(visited)); + elim=1; + if(N>1 && dfs(2)!=N-1) tot++; + for(int i=2;i<=N;i++){ + memset(visited,false,sizeof(visited)); + elim=i; + if(dfs(1)!=N-1) tot++; + } + + cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int s; + string n; + + bool horizontal[10][3]; + + horizontal[0][0]=horizontal[0][2]=1;horizontal[0][1]=0; + horizontal[1][0]=horizontal[1][1]=horizontal[1][2]=0; + horizontal[2][0]=horizontal[2][1]=horizontal[2][2]=1; + horizontal[3][0]=horizontal[3][1]=horizontal[3][2]=1; + horizontal[4][0]=horizontal[4][2]=0;horizontal[4][1]=1; + horizontal[5][0]=horizontal[5][1]=horizontal[5][2]=1; + horizontal[6][0]=horizontal[6][1]=horizontal[6][2]=1; + horizontal[7][0]=1;horizontal[7][1]=horizontal[7][2]=0; + horizontal[8][0]=horizontal[8][1]=horizontal[8][2]=1; + horizontal[9][0]=horizontal[9][1]=horizontal[9][2]=1; + + bool vertical[10][4]; + + vertical[0][0]=vertical[0][1]=vertical[0][2]=vertical[0][3]=1; + vertical[1][0]=0;vertical[1][1]=1;vertical[1][2]=0;vertical[1][3]=1; + vertical[2][0]=0;vertical[2][1]=1;vertical[2][2]=1;vertical[2][3]=0; + vertical[3][0]=0;vertical[3][1]=1;vertical[3][2]=0;vertical[3][3]=1; + vertical[4][0]=vertical[4][1]=1;vertical[4][2]=0;vertical[4][3]=1; + vertical[5][0]=1;vertical[5][1]=0;vertical[5][2]=0;vertical[5][3]=1; + vertical[6][0]=1;vertical[6][1]=0;vertical[6][2]=vertical[6][3]=1; + vertical[7][0]=0;vertical[7][1]=1;vertical[7][2]=0;vertical[7][3]=1; + vertical[8][0]=vertical[8][1]=vertical[8][2]=vertical[8][3]=1; + vertical[9][0]=vertical[9][1]=1;vertical[9][2]=0;vertical[9][3]=1; + + while(1){ + cin>>s>>n; + if(s==0) break; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int n,m,x,caso=1; + int pos[7]; + char terminal[129]; + char VVA[8]; + char aux[3]; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + printf("S-Tree #%d:\n",caso); + caso++; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,a[1000],Q[1000],m,end; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + while(1){ + scanf("%d",&a[0]); + if(a[0]==0) break; + + for(int i=1;i + +using namespace std; + +int main(){ + int V,E; + int si,ni,ki; + char oi[3]; + int dist[101]; + int edge[100][2]; + int edge_cost[100]; + bool cycle; + + while(1){ + scanf("%d",&V); + if(V==0) break; + V++; + + scanf("%d",&E); + + for(int i=0;idist[edge[j][0]]+edge_cost[j]) cycle=true; + + if(cycle) printf("successful conspiracy\n"); + else printf("lamentable kingdom\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1038 - Prime Land.cpp b/Tianjin Online Judge/1038 - Prime Land.cpp new file mode 100755 index 0000000..0e14117 --- /dev/null +++ b/Tianjin Online Judge/1038 - Prime Land.cpp @@ -0,0 +1,47 @@ +#include +#include + +using namespace std; + +int main(){ + string line; + int N,p,e,ans[32768]; + + while(true){ + getline(cin,line); + if(line=="0") break; + + istringstream is(line); + N = 1; + + while(is>>p>>e){ + for(int i=0;i=2;--i){ + if(ans[i]>0){ + if(!first) cout<<" "; + first = false; + cout< +#include +#include +#include +#include +#include + +using namespace std; + +#define MAX_V 1+2*1500 +#define MAX_E 2*1500 +#define NIL 0 + +int E,to[MAX_E],next[MAX_E],last[MAX_V]; + +void init(){ + fill(last,last+MAX_V,-1); + E = 0; +} + +void add_edge(int u, int v){ + to[E] = v, next[E] = last[u]; last[u] = E; ++E; + to[E] = u, next[E] = last[v]; last[v] = E; ++E; +} + +int n,m,match[MAX_V],dist[MAX_V]; +int head,tail,q[MAX_V]; + +bool BFS(){ + head = tail = 0; + + for(int i = 1;i<=n;++i){ + if(match[i]==NIL){ + q[tail] = i; ++tail; + dist[i] = 0; + } + else dist[i] = INT_MAX; + } + + dist[NIL] = INT_MAX; + + int u,v; + + while(head L[n]; + + for(int i = 0;i Q; + Q.push(i); + visited[i] = true; + V1[i] = true; + + while(!Q.empty()){ + int aux = Q.front(); + Q.pop(); + + for(int j = L[aux].size()-1;j>=0;--j){ + int v = L[aux][j]; + + if(!visited[v]){ + Q.push(v); + visited[v] = true; + V1[v] = !V1[aux]; + } + } + } + } + } + + m = n; + init(); + + for(int i = 0;i=0;--j){ + int v = L[i][j]; + if(!V1[v]) add_edge(1+i,1+n+v); + } + } + } + + printf("%d\n",hopcroft_karp()); + } + + return 0; +} diff --git a/Tianjin Online Judge/1050 - Courses.cpp b/Tianjin Online Judge/1050 - Courses.cpp new file mode 100755 index 0000000..441a641 --- /dev/null +++ b/Tianjin Online Judge/1050 - Courses.cpp @@ -0,0 +1,63 @@ +#include +#include +#include + +using namespace std; + +const int MAXV1 = 100; +const int MAXV2 = 300; + +vector L[MAXV1]; +bool visited[MAXV2]; +int V1,V2,match[MAXV2]; + +bool dfs(int u){ + for(int i=L[u].size()-1;i>=0;--i){ + int v = L[u][i]; + + if(!visited[v]){ + visited[v] = true; + if(match[v]==-1 || dfs(match[v])){ + match[v] = u; + return true; + } + } + } + return false; +} + +int maximum_matching(){ + int ans = 0; + memset(match,-1,sizeof(match)); + + for(int i=0;i +#include +#include + +using namespace std; + +struct node{ + int r,c,dist; + + node(){} + + node(int _r, int _c, int _dist){ + r = _r; c = _c; dist = _dist; + } +}aux,aux2; + +int R,C; +bool visited[1000][1000]; +char M[1000][1001]; + +const int dr[] = {-1,1,0,0}; +const int dc[] = {0,0,-1,1}; + +node longestPath(int sr, int sc){ + int r,c; + node ans = node(sr,sc,0); + queue Q; + Q.push(node(sr,sc,0)); + + memset(visited,false,sizeof(visited)); + visited[sr][sc] = true; + + while(!Q.empty()){ + aux = Q.front(); + Q.pop(); + ans = aux; + + for(int i=0;i<4;++i){ + r = aux.r+dr[i]; + c = aux.c+dc[i]; + + if(r<0 || r>=R || c<0 || c>=C || M[r][c]!='.' || visited[r][c]) continue; + visited[r][c] = true; + Q.push(node(r,c,aux.dist+1)); + } + } + + return ans; +} + +int main(){ + int T,ans; + scanf("%d", &T); + bool found; + + while(T--){ + scanf ("%d %d",&C,&R); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,E,F,N,P[500],W[500],dp[10001]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d %d",&E,&F,&N); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,N; + long long x0,y0,x1,y1,x2,y2,Sx,Sy,S; + double CGx,CGy; + + cin>>T; + + for(int caso=1;caso<=T;caso++){ + cin>>N; + + cin>>x0>>y0; + + x1=x0; y1=y0; + Sx=0; Sy=0; S=0; + + for(int i=0;i>x2>>y2; + else{ + x2=x0; + y2=y0; + } + + Sx+=(x1+x2)*(x1*y2-y1*x2); + Sy+=(y1+y2)*(x1*y2-y1*x2); + S+=(x1*y2-y1*x2); + + x1=x2; y1=y2; + } + + CGx=Sx*1.0/(3*S); + CGy=Sy*1.0/(3*S); + + cout< +#include +#include + +using namespace std; + +int main(){ + int T,N,in[26],out[26]; + char word[1001]; + bool M[26][26]; + + scanf("%d",&T); + + while(T--){ + scanf("%d",&N); + + memset(M,false,sizeof(M)); + memset(in,0,sizeof(in)); + memset(out,0,sizeof(out)); + + for(int i = 0;i0 && in[j]+out[j]>0 && !M[i][j]) + valid = false; + + int cont1 = 0, cont2 = 0; + + for(int i = 0;i<26;++i) + if(in[i]==out[i]) ++cont1; + else if(out[i]==in[i]+1) ++cont2; + + if(!(cont1==26 || (cont1==24 && cont2==1))) valid = false; + + if(valid) printf("Ordering is possible."); + else printf("The door cannot be opened."); + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1062 - Complete the sequence!.cpp b/Tianjin Online Judge/1062 - Complete the sequence!.cpp new file mode 100755 index 0000000..a249a31 --- /dev/null +++ b/Tianjin Online Judge/1062 - Complete the sequence!.cpp @@ -0,0 +1,48 @@ +#include +#include + +using namespace std; + +bool check(int *p, int &n){ + for(int i=1;i=0;j--){ + a[j]=sum; + if(j>0) sum-=a[j-1]; + } + } + + for(int i=S;iS) printf(" "); + printf("%d",a[i]); + } + + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1065 - Factorial.cpp b/Tianjin Online Judge/1065 - Factorial.cpp new file mode 100755 index 0000000..932f3c7 --- /dev/null +++ b/Tianjin Online Judge/1065 - Factorial.cpp @@ -0,0 +1,24 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T, N, cont; + + int M[12]={5,25,125,625,3125,15625,78125,390625,1953125,9765625,48828125,244140625}; + + cin>>T; + + for(int i=0;i>N; + + cont=0; + + for(int j=0;j<12;j++) cont+=N/M[j]; + + cout< +#include +#include + +using namespace std; + +int sum(int n){ + int aux=0; + + while(n!=0){ + aux+=n%10; + n/=10; + } + + return aux; +} + +int main(){ + bool p[10500]; + int P[1284]; + int S[1284]; + + fill(p,p+10500,true); + + for(int i=2,j=0;i<10500;i++) + if(p[i]){ + P[j]=i; + S[j++]=sum(i); + for(int j=i*i;j<10500;j+=i) p[j]=false; + } + + int n,m,S1,S2; + double r; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=n+1;;i++){ + S1=sum(i); + r=sqrt(i); + S2=0; + m=i; + + for(int j=0;P[j]<=r;j++){ + while(m%P[j]==0){ + S2+=S[j]; + m/=P[j]; + } + } + + if(m==i) continue; + if(m!=1) S2+=sum(m); + + if(S1==S2){ + printf("%d\n",i); + break; + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/1074 - Atlantis.cpp b/Tianjin Online Judge/1074 - Atlantis.cpp new file mode 100755 index 0000000..8f06850 --- /dev/null +++ b/Tianjin Online Judge/1074 - Atlantis.cpp @@ -0,0 +1,57 @@ +#include +#include + +using namespace std; + +int main(){ + int tc=1,n,m; + double x1[100],x2[100],y1[100],y2[100],x[200]; + double ymin,ymax; + const double eps=1e-8; + double ans; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;i=n;i--) x[i]=x2[i-n]; + + sort(x,x+2*n); + + for(int i=0;ix1[j]){ + swap(x1[i],x1[j]); + swap(x2[i],x2[j]); + swap(y1[i],y1[j]); + swap(y2[i],y2[j]); + } + } + } + + m=2*n; + ans=0.0; + for(int i=0;i+1=x1[j] && x[i+1]<=x2[j]){ + if(y1[j]>ymax){ + ans+=(x[i+1]-x[i])*(ymax-ymin); + ymin=y1[j]; + ymax=y2[j]; + }else ymax>?=y2[j]; + } + } + + ans+=(x[i+1]-x[i])*(ymax-ymin); + } + + printf("Test case #%d\n",tc++); + printf("Total explored area: %.2f\n\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1075 - Stockbroker Grapevine.cpp b/Tianjin Online Judge/1075 - Stockbroker Grapevine.cpp new file mode 100755 index 0000000..296dc4c --- /dev/null +++ b/Tianjin Online Judge/1075 - Stockbroker Grapevine.cpp @@ -0,0 +1,51 @@ +#include +#include + +using namespace std; + +int main(){ + int T[100][100]; + int N; + int m,a,b; + int min_time, start; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i +#include +#include + +using namespace std; + +vector L[26]; + +bool OneColorability(){ + for(int i=0;i<26;++i) if(!L[i].empty()) return false; + return true; +} + +int color[26]; + +bool TwoColorability(){ + int S[26],sz,v; + + memset(color,-1,sizeof(color)); + + for(int i=0;i<26;++i){ + if(color[i]!=-1) continue; + + S[0] = i; color[i] = 0; sz = 1; + + while(sz){ + v = S[--sz]; + + for(int j=L[v].size()-1;j>=0;--j){ + if(color[L[v][j]]==color[v]) return false; + if(color[L[v][j]]!=-1) continue; + color[L[v][j]] = 1-color[v]; + S[sz] = L[v][j]; + ++sz; + } + } + } + + return true; +} + +#define MAX_SIZE 26 + +int parent[MAX_SIZE],rank[MAX_SIZE],num_comp; + +void Make_Set(const int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(const int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(const int x, const int y){ + int PX=Find(x),PY=Find(y); + if(PX==PY) return; + --num_comp; + + if(rank[PX]>rank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +bool done; +int curr_comp; +vector component[26]; + +void search(int n){ + if(n==-1){ + done = true; + return; + } + + int v = component[curr_comp][n]; + bool valid; + + for(int i=0;i<3;++i){ + valid = true; + + for(int j=L[v].size()-1;j>=0;--j){ + if(color[L[v][j]]==i){ + valid = false; + break; + } + } + + if(!valid) continue; + color[v] = i; + search(n-1); + if(done) return; + } + + color[v] = -1; +} + +bool used[26]; + +bool ThreeColorability(){ + num_comp = 26; + + for(int i=0;i<26;++i) Make_Set(i); + + for(int i=0;i<26;++i) + for(int j=L[i].size()-1;j>=0;--j) + Union(i,L[i][j]); + + for(int i=0;i<26;++i) component[i].clear(); + + memset(used,false,sizeof(used)); + + for(int i=0,k=0;i<26;++i){ + if(used[i]) continue; + + for(int j=i;j<26;++j) + if(Find(j)==Find(i)){ + component[k].push_back(j); + used[j] = true; + } + + ++k; + } + + memset(color,-1,sizeof(color)); + + for(int i=0;i +#include +#include +#include + +using namespace std; + +vector< vector > G; +int V,ET; +bool *p; + +bool canReachWithout(int x){ + if(x==0) return false; + + memset(p,false,sizeof(bool)*V); + + queue Q; + Q.push(0); + int aux; + *p = true; + + while(!Q.empty()){ + aux = Q.front(); + Q.pop(); + + if(aux==ET) return true; + + for(int j=G[aux].size()-1;j>=0;--j){ + if(*(p+G[aux][j]) || G[aux][j]==x) continue; + *(p+G[aux][j]) = true; + Q.push(G[aux][j]); + } + } + + return false; +} + +int main(){ + vector< vector > GT; + vector L; + int u,v; + + scanf("%d %d",&V,&ET); + + G.resize(V); + GT.resize(V); + + while(scanf("%d %d",&u,&v)==2){ + G[u].push_back(v); + GT[v].push_back(u); + } + + bool visited[V]; + memset(visited,false,sizeof(visited)); + + queue Q; + Q.push(ET); + visited[ET] = true; + + int aux; + + while(!Q.empty()){ + aux = Q.front(); + Q.pop(); + + if(aux==0) continue; + + for(int j=GT[aux].size()-1;j>=0;--j){ + if(visited[GT[aux][j]]) continue; + visited[GT[aux][j]] = true; + Q.push(GT[aux][j]); + L.push_back(GT[aux][j]); + } + } + + int n = L.size(); + + p = visited; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int mod2[28]; + int mod3[28]; + int mod167[14]; + int ax1=1,ax2=1; + + for(int i=0;i<28;i++){ + mod2[i]=ax1; + mod3[i]=ax2; + ax1=(ax1*2)%29; + ax2=(ax2*3)%29; + } + ax1=1; + for(int i=0;i<14;i++){ + mod167[i]=ax1; + ax1=(ax1*167)%29; + } + + int X,ans; + + while(1){ + scanf("%d",&X); + + if(X==0) break; + + //13^{-1}=9(mod 29) + + ans=(9*(mod2[(2*X+1)%28]-1)*(mod3[(X+1)%28]-1)*(mod167[(X+1)%14]-1))%29; + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1090 - City hall.cpp b/Tianjin Online Judge/1090 - City hall.cpp new file mode 100755 index 0000000..a83fc88 --- /dev/null +++ b/Tianjin Online Judge/1090 - City hall.cpp @@ -0,0 +1,42 @@ +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int M,N; + cin>>M>>N; + + map F; + vector v; + string s; + + for(int i=0;i>s; + v.push_back(s); + } + + int cont; + + for(int i=0;i :: iterator it; + for(it=F.begin();it!=F.end();it++) cout<<(*it).first<<" "<<(*it).second< +#include + +using namespace std; + +struct nodo{ + int ID,t; + + nodo(int _ID, int _t){ + ID=_ID; + t=_t; + } + + bool operator < (nodo X) const{ + if(t!=X.t) return t>X.t; + return ID>X.ID; + } +}; + +int main(){ + char s[9]; + int ID,t,K; + int P[3001]; + priority_queue Q; + + while(1){ + scanf("%s",s); + if(s[0]=='#') break; + + scanf("%d",&ID); + scanf("%d",&P[ID]); + + Q.push(nodo(ID,P[ID])); + } + + scanf("%d",&K); + + for(int i=0;i +#include +#include +#include + +using namespace std; + + +int MCD(int a,int b) +{ + if(a%b==0) return b; + return MCD(b,a%b); +} + +int main() +{ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int cont; + int a; + int N; + vector v; + while(true) + { + cin>>N; + if(N<=1 || N>=50) break; + + v.clear(); + for(int i=0;i>a; + v.push_back(a); + } + + cont=0; + int t=N*(N-1)/2; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int main(){ + int N,total,L,R,x; + vector M(12); + bool ok; + + while(1){ + scanf("%d\n",&N); + if(N==0) break; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +map M; + +void generate_positions(){ + queue Q; + for(char c='a';c<='z';c++) Q.push(string(1,c)); + + string s; + + int cont=1; + + while(!Q.empty()){ + s=Q.front(); + Q.pop(); + + M[s]=cont; + cont++; + + if(s.size()==5) continue; + + for(char c=s[s.size()-1]+1;c<='z';c++) Q.push(s+c); + } +} + +int main(){ + generate_positions(); + + string s; + map :: iterator it; + + while(cin>>s){ + it=M.find(s); + if(it==M.end()) cout<<0<second< +#include +#include + +using namespace std; + +int main(){ + int n,m,a[50],N,ans; + bool used[20*50+1]; + + for(int tc=1;;++tc){ + scanf("%d %d",&n,&m); + if(n==0) break; + + for(int i=0;i +#include +#include + +using namespace std; + +struct bipartite_graph{ + int V1,V2,*match; + vector *L; + bool *visited; + + bipartite_graph(int MAX_V1, int MAX_V2){ + L = new vector[MAX_V1]; + visited = new bool[MAX_V2]; + match = new int[MAX_V2]; + } + + void clear(int _V1, int _V2){ + V1 = _V1; V2 = _V2; + for(int i=0;i=0;--i){ + int v = L[u][i]; + if(!visited[v]){ + visited[v] = true; + if(match[v]==-1 || dfs(match[v])){ + match[v] = u; + return true; + } + } + } + return false; + } + + int maximum_matching(){ + int ans = 0; + fill(match,match+V2,-1); + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int main(){ + int n,m; + int caso=1; + double M[30][30]; + map ind; + string s1,s2; + double x; + bool exists; + + while(1){ + cin>>n; + if(n==0) break; + + ind.clear(); + + for(int i=0;i>s1; + ind[s1]=i; + } + + memset(M,0,sizeof(M)); + + cin>>m; + + for(int i=0;i>s1>>x>>s2; + M[ind[s1]][ind[s2]]=x; + } + + for(int k=0;k1.0) exists=true; + + cout<<"Case "< +#include +#include + +using namespace std; + +struct block{ + int x,y,z; + + block(int a, int b, int c){ + x=a; + y=b; + z=c; + } + + bool operator < (block X) const{ + if((x v; +vector< vector > L; +int dp[90]; + +int f(int n){ + if(dp[n]!=-1) return dp[n]; + + int aux=0; + + for(int i=0;i +#include +#include + +#define PI 3.141592653589793 + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double x1,y1,x2,y2,x3,y3; + double a,b,c,S,R; + + while(cin>>x1>>y1>>x2>>y2>>x3>>y3){ + a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); + b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); + c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); + + S=0.5*fabs(x1*y2+x2*y3+x3*y1-y1*x2-y2*x3-y3*x1); + + R=a*b*c/(4*S); + + cout< +#include +#include +#include +#include + +using namespace std; + +int dx[]={1,1,-1,-1,2,2,-2,-2}; +int dy[]={2,-2,2,-2,1,-1,1,-1}; + +struct nodo +{ + int ind1; + int ind2; + int costo; + nodo(int a, int b, int c) + { + ind1=a; + ind2=b; + costo=c; + } +}; + +int dfs(int a, int b, int m, int n) +{ + queue Q; + + Q.push(nodo(a,b,0)); + + while(!Q.empty()) + { + nodo aux=Q.front(); + Q.pop(); + + if(aux.ind1==m && aux.ind2==n) return aux.costo; + + for(int i=0;i<8;i++) + { + int I=aux.ind1+dx[i]; + int J=aux.ind2+dy[i]; + if(I>=1 && J>=1 && I<=8 && J<=8) + Q.push(nodo(I,J,aux.costo+1)); + } + + } + +} + +int main() +{ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + int x1,y1,x2,y2; + while(cin>>s1>>s2) + { + x1=s1[0]-'a'+1; + y1=s1[1]-'0'; + x2=s2[0]-'a'+1; + y2=s2[1]-'0'; + + cout<<"To get from "< + +using namespace std; + +int main(){ + int n,x,pos,cont,cities; + bool ok; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int x=2;;x++){ + cities=n-1; + pos=(x-1)%cities; + ok=true; + + while(cities>1){ + if(pos==0){ + ok=false; + break; + } + + cities--; + pos=(pos+x-1)%cities; + } + + if(ok){ + printf("%d\n",x); + break; + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/1134 - Lotto.cpp b/Tianjin Online Judge/1134 - Lotto.cpp new file mode 100755 index 0000000..e311d94 --- /dev/null +++ b/Tianjin Online Judge/1134 - Lotto.cpp @@ -0,0 +1,54 @@ +#include +#include + +using namespace std; + +vector a; +int N; +int n; +int cont; + +void f(int x, int z) +{ + if(__builtin_popcount(x)==6) + { + cont=0; + for(int i=0;i>N; + if(N==0) break; + if(aux) cout<>n; + a.push_back(n); + } + f(0,-1); + aux=true; + } + return 0; +} diff --git a/Tianjin Online Judge/1138 - Binomial Showdown.cpp b/Tianjin Online Judge/1138 - Binomial Showdown.cpp new file mode 100755 index 0000000..e40bd62 --- /dev/null +++ b/Tianjin Online Judge/1138 - Binomial Showdown.cpp @@ -0,0 +1,27 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,k; + long long C; + + while(1){ + cin>>n>>k; + + if(n==0 && k==0) break; + + if(k>n/2) k=n-k; + + C=1; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + char a[101][31]; + char b[101][32]; + int n,m,lcs; + int LCS[100][100]; + bool equal[101][101]; + + while(1){ + if(scanf("%s",a[0])!=1) break; + + n=1; + + for(int i=1;;i++){ + scanf("%s",a[i]); + + if(a[i][0]=='#') break; + else n++; + } + + m=0; + + for(int i=0;;i++){ + scanf("%s",b[i]); + + if(b[i][0]=='#') break; + else m++; + } + + for(int i=0;i=0;i--){ + for(int j=m;j>=0;j--){ + if(i==n || j==m) LCS[i][j]=0; + else if(equal[i][j]) LCS[i][j]=1+LCS[i+1][j+1]; + else LCS[i][j]=max(LCS[i][j+1],LCS[i+1][j]); + } + } + + lcs=LCS[0][0]; + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +bool visited[30][30][30]; +vector< vector < string > > v1; +int x,y,z; + +int di[]={-1,1,0,0,0,0}; +int dj[]={0,0,-1,1,0,0}; +int dk[]={0,0,0,0,-1,1}; + +struct nodo +{ + + int a; + int b; + int c; + int costo; + + nodo(int x, int y, int z, int w) + { + a=x; + b=y; + c=z; + costo=w; + } + +}; + +void bfs(int a,int b, int c) +{ + queue Q; + + Q.push(nodo(a,b,c,0)); + + memset(visited,false,sizeof(visited)); + + visited[a][b][c]=true; + + int j,k,l,I,J,K; + + while(!Q.empty()) + { + nodo aux=Q.front(); + Q.pop(); + + j=aux.a; + k=aux.b; + l=aux.c; + if(v1[l][k][j]=='E') + { + printf("Escaped in %d minute(s).\n", aux.costo);//;cout<<"Escaped in "<=0 && I=0 && J=0 && K v2; + string s; + + int m,n,p; + + while(true) + { + scanf("%d %d %d", &z, &y, &x); + if(x==0 && y==0 && z==0) break; + + v1.clear(); + + for(int i=0;i>s; + v2.push_back(s); + } + v1.push_back(v2); + } + for(int i=0;i +#include +#include +#include + +using namespace std; + +struct nodo{ + int n; + double dist; + + nodo(){ + } + + nodo(int a, double b){ + n=a; + dist=b; + } + + bool operator < (nodo X) const{ + return dist>X.dist; + } +}; + +double dist[200][200]; +bool visited[200]; + +double shortest(int &n){ + priority_queue Q; + Q.push(nodo(0,0.0)); + + fill(visited,visited+n,false); + + nodo aux; + + while(!Q.empty()){ + aux=Q.top(); + Q.pop(); + + visited[aux.n]=true; + if(aux.n==1) return aux.dist; + + for(int i=0;i +#include + +using namespace std; + +string s1; +string s2; + +string f(int n, int m, int p, int q){ + + int a=s2.find(s1[n]); + int b=-1;//b seguira valiendo -1 si no hay rama izquierda + + string ax=""; + + if(a!=p){ + b=n; + while(b<=m && s2.find(s1[b+1])>s1>>s2){ + cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int fac[]={1,1,2,6,24,120,720,5040,40320,362880}; + + int sum,n; + bool M[1000001]; + + memset(M,false,sizeof(M)); + + for(int mask=1;mask<(1<<10);mask++){ + sum=0; + + for(int j=0;j<10;j++) + if((mask&(1<>n; + + if(n<0) break; + + if(M[n]) cout<<"YES"< +#include +#include +#include +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + getline(cin,s); + string x; + while(getline(cin,s)){ + istringstream is(s); + ostringstream os; + while(is>>x){ + reverse(all(x)); + os< +using namespace std; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,m; + int b,a; + int cont; + int ax=1; + while(true){ + scanf("%d %d",&n,&m); + if(!(n||m)) break; + cont=0; + for(b=2;b0;a--){ + if(((b-a)*(b-a)+m)%(a*b)==0) cont++; + } + } + cout<<"Case "< +#include +#include +#include +#include +#include + +using namespace std; + +struct flow_graph{ + int MAX_V,E,s,t; + int *cap,*to,*next,*last; + bool *visited; + + flow_graph(int V, int MAX_E){ + MAX_V = V; E = 0; + cap = new int[2*MAX_E], to = new int[2*MAX_E], next = new int[2*MAX_E]; + last = new int[MAX_V], visited = new bool[MAX_V]; + fill(last,last+MAX_V,-1); + } + + void add_edge(int u, int v, int uv, int vu = 0){ + to[E] = v, cap[E] = uv, next[E] = last[u]; last[u] = E++; + to[E] = u, cap[E] = vu, next[E] = last[v]; last[v] = E++; + } + + int dfs(int v, int f){ + if(v==t || f<=0) return f; + if(visited[v]) return 0; + visited[v] = true; + for(int e=last[v];e!=-1;e=next[e]){ + int ret = dfs(to[e],min(f,cap[e])); + if(ret>0){ + cap[e] -= ret; + cap[e^1] += ret; + return ret; + } + } + return 0; + } + + int max_flow(int source, int sink){ + s = source, t = sink; + int f = 0,x; + while(true){ + fill(visited,visited+MAX_V,false); + x = dfs(s,INT_MAX); + if(x==0) break; + f += x; + } + return f; + } +}; + +map myMap; +int map_size = 0; + +int getIndex(string name){ + if(myMap.find(name)==myMap.end()) + myMap[name] = ++map_size; + return myMap[name]; +} + +int main(){ + int N,M,K; + char name1[25],name2[25]; + flow_graph G(2+100+200+200,100+2*100+100); // s = 0, t = 1 + + scanf("%d",&N); + + for(int i=0;i + +using namespace std; + +int main(){ + int tc=0,a,b,c,date,ans; + + while(true){ + scanf("%d %d %d %d",&a,&b,&c,&date); + if(a==-1) break; + + ans = -1; + + for(int i=1;i<=21252;++i){ + if((date+i)%23==a%23 && + (date+i)%28==b%28 && + (date+i)%33==c%33){ + ans = i; + break; + } + } + + cout<<"Case "<<(++tc)<<": the next triple peak occurs in "< +#include +#include + +using namespace std; + +struct nodo{ + int num,orden,pos; + + nodo(int a, int b, int c){ + num=a; + orden=b; + pos=c; + } + + bool operator < (nodo X)const{ + if(orden!=X.orden) return orden team_queue; + int t,n,a,cont,caso=1; + string command; + + vector N(1000000); + int cont_team[1000]; + int team[1000]; + int pos[1000]; + + set :: iterator it; + + while(cin>>t){ + if(t==0) break; + + cout<<"Scenario #"<>a; + N[a]=i; + } + } + + fill(team,team+t,0); + fill(cont_team,cont_team+t,0); + + cont=0; + + team_queue.clear(); + + while(cin>>command){ + if(command[0]=='S') break; + else if(command[0]=='D'){ + it=team_queue.begin(); + printf("%d\n",(*it).num); + cont_team[N[(*it).num]]--; + team_queue.erase(*it); + }else{ + scanf("%d",&a); + if(cont_team[N[a]]==0){ + cont_team[N[a]]=1; + team[N[a]]++; + team_queue.insert(nodo(a,cont,1)); + pos[N[a]]=cont; + cont++; + }else{ + cont_team[N[a]]++; + team[N[a]]++; + team_queue.insert(nodo(a,pos[N[a]],team[N[a]])); + } + } + } + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int M[99][99],F[99],C[99],n,conti,contj,I,J; + + while(true){ + cin>>n; + if(n==0) break; + memset(C,0,sizeof(C)); + for(int i=0;i>M[i][j]; + F[i]+=M[i][j]; + C[j]+=M[i][j]; + } + } + conti=0; + contj=0; + for(int i=0;i2) break; + } + if(conti+contj==0) cout<<"OK"<0) cout<<"Corrupt"< +#include +#include + +using namespace std; + +int main(){ + bool p[1000000]; + vector P; + + fill(p,p+1000000,true); + p[0]=p[1]=false; + + for(int i=1;i<500000;i++) p[2*i]=false; + + for(int i=3;i<1000000;i+=2){ + if(p[i]){ + if(i<500000) P.push_back(i); + for(int j=2;j*i<1000000;j++) p[i*j]=false; + } + } + + int n,a,b; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;;i++){ + a=P[i]; + b=n-a; + + if(p[b]){ + printf("%d = %d + %d\n",n,a,b); + break; + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/1173 - Matrix.cpp b/Tianjin Online Judge/1173 - Matrix.cpp new file mode 100755 index 0000000..cc3f923 --- /dev/null +++ b/Tianjin Online Judge/1173 - Matrix.cpp @@ -0,0 +1,49 @@ +#include +#define min(a,b) ab? a : b + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,N,aux,ind; + int A[7][7]; + int C[7]; + int ans; + + while(1){ + scanf("%d",&n); + if(n==-1) break; + + for(int i=0;i +#include +#include + +using namespace std; + +int a[500001]; +set S; + +int main(){ + int t,n; + a[0]=0; + S.insert(0); + + for(int i=1;i<500001;i++){ + t=a[i-1]-i; + if(t>0 && S.find(t)==S.end()) a[i]=t; + else a[i]=a[i-1]+i; + + S.insert(a[i]); + } + + while(1){ + scanf("%d",&n); + if(n==-1) break; + + printf("%d\n",a[n]); + } + + return 0; +} diff --git a/Tianjin Online Judge/1178 - Fractal.cpp b/Tianjin Online Judge/1178 - Fractal.cpp new file mode 100755 index 0000000..ef4f41e --- /dev/null +++ b/Tianjin Online Judge/1178 - Fractal.cpp @@ -0,0 +1,62 @@ +#include +#include +#include + +using namespace std; + +short n; +string ax; +vector v; +vector aux; +vector y; + +vector f() +{ + if(n==1) return v; + + n--; + aux=f(); + y=aux; + ax.clear(); + for(int i=0;i x; + while(cin>>n) + { + if(n==-1) break; + x=f(); + for(int i=0;i +#include + +using namespace std; + +int dp[13][13][(1<<13)]; +long long ways[13][13][(1<<13)]; + +int main(){ + int T,n,m,V[13],u,v; + bool M[13][13]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d %d",&n,&m); + + for(int i=0;i=3;--mask) for(int i=0;idp[i][j][mask]){ + dp[i][j][mask] = aux; + ways[i][j][mask] = ways[j][k][mask | (1<best){ + best = aux; + paths = ways[i][j][(1< + +using namespace std; + +int main(){ + int n,A,B; + int a[20]; + int b[20]; + bool start=true; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + if(!start) printf("\n"); + start=false; + + for(int i=0;ib[i]){ + if(a[i]-b[i]==1){ + if(a[i]==2) B+=6; + else B+=(a[i]+b[i]); + }else A+=a[i]; + }else{ + if(b[i]-a[i]==1){ + if(b[i]==2) A+=6; + else A+=(a[i]+b[i]); + }else B+=b[i]; + } + } + } + + printf("A has %d points. B has %d points.\n",A,B); + } + + return 0; +} diff --git a/Tianjin Online Judge/1193 - Currency Exchange.cpp b/Tianjin Online Judge/1193 - Currency Exchange.cpp new file mode 100755 index 0000000..faeae79 --- /dev/null +++ b/Tianjin Online Judge/1193 - Currency Exchange.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std; + +int main(){ + double M[5][5]; + int n; + int c[11]; + int cur; + double x; + + for(int i=0;i<5;i++) + for(int j=0;j<5;j++) cin>>M[i][j]; + + while(1){ + cin>>n; + if(n==0) break; + + for(int i=0;i>c[i]; + c[n]=1; + cin>>x; + + cur=1; + + for(int i=0;i +#include +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int main() +{ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + string s; + vector v; + + while(cin>>s) + v.push_back(s); + + map M; + + for(int i=0;i v2; + + string s1,s2; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + + getline(cin,s1); + getline(cin,s2); + cout< M; + + for(int i=0;i +#include +#include + +using namespace std; + +struct E{ + int n,W,S; + + E(int i, int w, int s){ + n=i; + W=w; + S=s; + } + + bool operator < (E X) const{ + if(W!=X.W) return WX.S; + } +}; + +int main(){ + vector v; + + int w,s,n=0; + + while(scanf("%d %d",&w,&s)==2) v.push_back(E(n++,w,s)); + + sort(v.begin(),v.end()); + + int dp[n],next[n],ans=0,pos; + + for(int i=n-1;i>=0;i--){ + dp[i]=1; + next[i]=-1; + + for(int j=i+1;jv[j].S && dp[i]ans){ + ans=dp[i]; + pos=i; + } + } + + printf("%d\n",ans); + + while(pos!=-1){ + printf("%d\n",v[pos].n+1); + pos=next[pos]; + } + + return 0; +} diff --git a/Tianjin Online Judge/1217 - Advanced Fruits.cpp b/Tianjin Online Judge/1217 - Advanced Fruits.cpp new file mode 100755 index 0000000..c954d02 --- /dev/null +++ b/Tianjin Online Judge/1217 - Advanced Fruits.cpp @@ -0,0 +1,66 @@ +#include +#include + +#define min(a,b) a=0;i--){ + for(int j=l2;j>=0;j--){ + if(i==l1 && j==l2){ + dp[i][j]=0; + continue; + }else if(i==l1){ + dp[i][j]=1+dp[i][j+1]; + next[i][j]=1; + continue; + }else if(j==l2){ + dp[i][j]=1+dp[i+1][j]; + next[i][j]=2; + continue; + } + + if(fruit1[i]==fruit2[j]){ + dp[i][j]=1+dp[i+1][j+1]; + next[i][j]=0; + }else{ + if(dp[i][j+1]<=dp[i+1][j]){ + dp[i][j]=1+dp[i][j+1]; + next[i][j]=1; + }else{ + dp[i][j]=1+dp[i+1][j]; + next[i][j]=2; + } + } + } + } + + int pos1=0,pos2=0; + + while(dp[pos1][pos2]!=0){ + if(next[pos1][pos2]==0){ + printf("%c",fruit1[pos1]); + pos1++; + pos2++; + }else if(next[pos1][pos2]==1){ + printf("%c",fruit2[pos2]); + pos2++; + }else{ + printf("%c",fruit1[pos1]); + pos1++; + } + } + + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1224 - HTML.cpp b/Tianjin Online Judge/1224 - HTML.cpp new file mode 100755 index 0000000..89ff7a7 --- /dev/null +++ b/Tianjin Online Judge/1224 - HTML.cpp @@ -0,0 +1,41 @@ +#include +#include + +using namespace std; + +int main(){ + char s[81]; + int L=0; + + while(scanf("%s",s)==1){ + if(s[0]=='<'){ + if(s[1]=='b'){ + L=0; + printf("\n"); + }else{ + if(L>0) printf("\n"); + for(int i=0;i<80;i++) printf("-"); + printf("\n"); + L=0; + } + }else{ + if(L==0){ + L=strlen(s); + printf("%s"); + }else{ + if(L+1+strlen(s)>80){ + printf("\n"); + printf("%s",s); + L=strlen(s); + }else{ + L+=1+strlen(s); + printf(" %s",s); + } + } + } + } + + if(L>0) printf("\n"); + + return 0; +} diff --git a/Tianjin Online Judge/1233 - Number Steps.cpp b/Tianjin Online Judge/1233 - Number Steps.cpp new file mode 100755 index 0000000..f8dbb7c --- /dev/null +++ b/Tianjin Online Judge/1233 - Number Steps.cpp @@ -0,0 +1,24 @@ +#include + +using namespace std; + +int main(){ + + int x,y,N; + + cin>>N; + + for(int i=0;i>x>>y; + + if(x==y){ + if(x%2==0) cout<<2*x< + +using namespace std; + +int main(){ + int t,n,P[20],L,cont,cont2; + char s[41]; + bool used[40]; + + scanf("%d",&t); + + for(int tc=1;tc<=t;tc++){ + scanf("%d",&n); + + for(int i=0;i +#include + +using namespace std; + +int X,Y,Qx[10000],Qy[10000],head,tail,x,y,x1,y1,x2,y2; +bool visited[100][100]; +bool no[100][100]; +int dx[]={-1,1,0,0},dy[]={0,0,-1,1}; + +bool valid(int &x, int &y){ + return (x>=0 && x=0 && y + +using namespace std; + +int main(){ + int N; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + if(N<101) printf("f91(%d) = 91\n",N); + else printf("f91(%d) = %d\n",N,N-10); + } + + return 0; +} diff --git a/Tianjin Online Judge/1258 - Communication System.cpp b/Tianjin Online Judge/1258 - Communication System.cpp new file mode 100755 index 0000000..4a8675e --- /dev/null +++ b/Tianjin Online Judge/1258 - Communication System.cpp @@ -0,0 +1,70 @@ +#include +#include +#include + +using namespace std; + +struct device{ + int B,P; + + device(){} + + bool operator < (device X)const{ + return B=0;--j) minP[i][j] = min(minP[i][j+1],D[i][j].P); + } + + sort(L,L+M); + memset(pos,0,sizeof(pos)); + ans = 0; + + for(int i=0;i0 && L[i]==L[i-1]) continue; + + chosen = P = 0; + + for(int j=0;j +#include + +using namespace std; + +int main(){ + int t,n,r,ans,cont; + int x[100]; + int y[100]; + int x0,y0; + + scanf("%d",&t); + + for(int sc=1;sc<=t;sc++){ + scanf("%d %d",&n,&r); + + for(int i=0;i=x0 && x[k]<=x0+r && y[k]>=y0 && y[k]<=y0+r) cont++; + + ans=max(ans,cont); + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1279 - Rotten Ropes.cpp b/Tianjin Online Judge/1279 - Rotten Ropes.cpp new file mode 100755 index 0000000..8610bf6 --- /dev/null +++ b/Tianjin Online Judge/1279 - Rotten Ropes.cpp @@ -0,0 +1,28 @@ +#include +#include + +using namespace std; + +int main(){ + int t,n,ans; + int c[1000]; + + scanf("%d",&t); + + for(int caso=1;caso<=t;caso++){ + scanf("%d",&n); + + for(int i=0;i=0;i--) + ans=max(ans,c[i]*(n-i)); + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1287 - Dick and Jane.cpp b/Tianjin Online Judge/1287 - Dick and Jane.cpp new file mode 100755 index 0000000..e9f1b81 --- /dev/null +++ b/Tianjin Online Judge/1287 - Dick and Jane.cpp @@ -0,0 +1,29 @@ +#include + +using namespace std; + +int main(){ + int s,p,y,j,x1,x2,x3; + bool solved; + + while(scanf("%d %d %d %d",&s,&p,&y,&j)==4){ + solved=false; + + for(int a=p;a<=p+1 && !solved;a++){ + for(int b=y;b<=y+1 && !solved;b++){ + x3=12+j-a-b; + if(x3>=0 && x3%3==0){ + x3/=3; + x2=x3+a; + x1=x3+b; + if((x1-x2==s || x1-x2==s+1) && (x2-x3==p || x2-x3==p+1) && (x1-x3==y || x1-x3==y+1)){ + printf("%d %d %d\n",x1,x2,x3); + solved=true; + } + } + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/1291 - Hippity Hopscotch.cpp b/Tianjin Online Judge/1291 - Hippity Hopscotch.cpp new file mode 100755 index 0000000..fecd838 --- /dev/null +++ b/Tianjin Online Judge/1291 - Hippity Hopscotch.cpp @@ -0,0 +1,42 @@ +#include +#include + +using namespace std; + +int n,k; +int M[100][100]; +int memo[100][100]; + +int solve(int r, int c){ + if(memo[r][c]!=-1) return memo[r][c]; + + int r1=max(0,r-k),r2=min(r+k,n-1),c1=max(c-k,0),c2=min(c+k,n-1); + + int ans=0; + + for(int i=r1;i<=r2;i++) + if(M[i][c]>M[r][c]) ans=max(ans,solve(i,c)); + + for(int i=c1;i<=c2;i++) + if(M[r][i]>M[r][c]) ans=max(ans,solve(r,i)); + + ans+=M[r][c]; + memo[r][c]=ans; + + return ans; +} + +int main(){ + scanf("%d %d",&n,&k); + + for(int i=0;i +#include + +using namespace std; + +int n,cont,max_num; +char map[4][5]; +int M[4][4]; + +void backtracking(int r, int c){ + if(r==n){ + max_num=max(max_num,cont); + + return; + } + + if(M[r][c]==-1){ + cont++; + M[r][c]=cont; + for(int i=c-1;i>=0 && map[r][i]=='.';i--) if(M[r][i]==-1) M[r][i]=cont; + for(int i=c+1;i=0 && map[i][c]=='.';i--) if(M[i][c]==-1) M[i][c]=cont; + for(int i=r+1;i=0 && map[r][i]=='.';i--) if(M[r][i]==cont) M[r][i]=-1; + for(int i=c+1;i=0 && map[i][c]=='.';i--) if(M[i][c]==cont) M[i][c]=-1; + for(int i=r+1;i +#include + +using namespace std; + +int inv(int &a, int &mod){ + for(int i=1;i +#include + +using namespace std; + +int main(){ + int T,n,x[1000],y[1000],ans,aux; + scanf("%d",&T); + + map< pair , int>::iterator it; + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + + map< pair , int> M; + + for(int i=0;isecond; + ans += aux*(aux-1)/2; + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1314 - Dice Stacking.cpp b/Tianjin Online Judge/1314 - Dice Stacking.cpp new file mode 100755 index 0000000..bd4ded3 --- /dev/null +++ b/Tianjin Online Judge/1314 - Dice Stacking.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std; + +#define MAX_N 10000 +#define S 6 + +int main(){ + int T,n,val[MAX_N][S],best[MAX_N][S],total[MAX_N][S],ans; + int back[] = {5,3,4,1,2,0}; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + + for(int i=0;ibest[i][j]) best[i][j] = val[i][k]; + } + + for(int j=0;jans) ans = total[n-1][j]; + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1318 - A Mini Locomotive.cpp b/Tianjin Online Judge/1318 - A Mini Locomotive.cpp new file mode 100755 index 0000000..a1817b5 --- /dev/null +++ b/Tianjin Online Judge/1318 - A Mini Locomotive.cpp @@ -0,0 +1,46 @@ +#include +#include + +using namespace std; + +#define MAX_N 50000 + +int N,M,sum[MAX_N+1],memo[3][MAX_N]; + +int solve(int n, int s){ + if(n==3) return 0; + if(memo[n][s]!=-1) return memo[n][s]; + + int aux = 0,aux2; + + for(int i=s;i+M<=N;++i){ + aux2 = solve(n+1,i+M)+sum[i+M]-sum[i]; + if(aux2>aux) aux = aux2; + } + + memo[n][s] = aux; + return aux; +} + +int main(){ + int T,p; + sum[0] = 0; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&N); + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +#define MAX_SIZE 100 + +int size; + +struct M{ + int X[MAX_SIZE][MAX_SIZE]; + M(){} +}; + +void mult(M &m, M &m1, M &m2){ + memset(m.X,0,sizeof(m.X)); + for(int i=0;i I; + int cont,A[100]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d %d",&n,&t); + size = n; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int main(){ + map party; + map votes; + map :: iterator it; + + int n,m; + string s1,s2; + + scanf("%d\n",&n); + + for(int i=0;isecond > max){ + max=it->second; + tie=false; + s1=it->first; + }else if(it->second == max) tie=true; + } + + if(tie) cout<<"tie"< +#include + +using namespace std; + +int F,I; +int M[101]; +pair L[500][500]; +int g[500]; +int mn[500]; +bool visited[500][500]; +int d[500][500]; + +struct nodo{ + int b,cost; + nodo(int y, int z){ + b=y; + cost=z; + } + bool operator <(nodo N)const{ + if(cost>N.cost) return true; + return false; + } +}; + +bool y; + +void f(int n){ + priority_queue Q; + Q.push(nodo(n,0)); + int cont=0; + + while(!Q.empty()){ + nodo aux=Q.top(); + Q.pop(); + + if(d[n][aux.b]==-1){ + d[n][aux.b]=aux.cost; + cont++; + } + + if(cont==I) return; + + for(int i=0;i>F>>I; + + memset(M,false,sizeof(M)); + + for(int i=0;i>est; + M[i]=est-1; + } + + memset(g,0,sizeof(g)); + + pair P; + + while(scanf("%d %d %d",&a,&b,&cost)==3){ + a--;b--; + P.first=b; + P.second=cost; + L[a][g[a]++]=P; + P.first=a; + P.second=cost; + L[b][g[b]++]=P; + } + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int i,ax1,ax2; + + while(cin>>s){ + ax1=-1; + + for(i=0;i + +using namespace std; + +int main(){ + int n,m; + char M[10][11]; + char N[10][11]; + int dr[]={1,-1,0,0,1,1,-1,-1}; + int dc[]={0,0,1,-1,1,-1,1,-1}; + int r,c,cont; + bool lose=false; + + scanf("%d",&n); + + for(int i=0;i=0 && r=0 && c + +using namespace std; + +int main(){ + int T,x,y; + scanf("%d",&T); + + // f(n) = máximo número que se puede lograr con n pasos + // f(0) = 0, f(1) = 1 + // f(2n) = f(2n-1)+n = n(n+1) + // f(2n-1) = f(2n-2)+n = n^2 + + while(T--){ + scanf("%d %d",&x,&y); + x = y-x; + + int lo = 0,hi = (1<<16); + long long mi; + + while(lo>1; + + long long f = (mi%2==0? mi/2*(mi/2+1) : (mi/2+1)*(mi/2+1)); + + if(x<=f) hi = mi; + else lo = mi+1; + } + + printf("%d\n",lo); + } + + return 0; +} diff --git a/Tianjin Online Judge/1348 - Freckles.cpp b/Tianjin Online Judge/1348 - Freckles.cpp new file mode 100755 index 0000000..bcd6d39 --- /dev/null +++ b/Tianjin Online Judge/1348 - Freckles.cpp @@ -0,0 +1,75 @@ +#include +#include +#include + +using namespace std; + +double P[100][2]; +int n; +double sum; + +void dikjstra(){ + double ax,min; + double dist[100]; + bool intree[100]; + + memset(intree,0,sizeof(intree)); + for(int i=0;i<100;i++) dist[i]=1000000.0; + + int v=0; + dist[0]=0; + sum=0; + + while(!intree[v]){ + intree[v]=1; + sum+=dist[v]; + + for(int i=0;i>T; + + for(int i=0;i>n; + + for(int j=0;j>a>>b; + P[j][0]=a; + P[j][1]=b; + } + + dikjstra(); + if(i!=T-1) cout< +#include + +using namespace std; + +string s1,s2; + +int main(){ + freopen("in2.txt","r",stdin); + freopen("out.txt","w",stdout); + + string a,b; + int cont,i; + bool lleva; + + while(1){ + cin>>a>>b; + if(a=="0" && b=="0") break; + + reverse(a.begin(),a.end()); + reverse(b.begin(),b.end()); + + lleva=0; + cont=0; + + if(a.size()9){ + cont++; + lleva=1; + }else lleva=0; + } + + if(cont==0) cout<<"No carry operation."< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + bool M[3000]; + bool ok; + int n,a,b; + + while(cin>>n){ + ok=true; + + for(int i=0;i>a; + + for(int i=1;i>b; + if(a==b || M[abs(b-a)] || abs(b-a)>=n) ok=0; + else M[abs(b-a)]=1; + a=b; + } + + if(ok) cout<<"Jolly"< +#include + +using namespace std; + +#define min(x,y) (x)<(y)? (x):(y) +#define abs(x) (x)<0? -(x):(x) + +int main(){ + int n,w[100],W = 0; + + scanf("%d",&n); + + for(int i=0;i=0;--j) + for(int k=W;k>=w[i];--k) + possible[j+1][k] |= possible[j][k-w[i]]; + + int min_diff = W; + + for(int j=0;j<=W;++j) + if(possible[n/2][j]) + min_diff = min(min_diff,abs(W-2*j)); + + printf("%d %d\n",(W-min_diff)/2,(W+min_diff)/2); + + return 0; +} diff --git a/Tianjin Online Judge/1363 - Fiber Network.cpp b/Tianjin Online Judge/1363 - Fiber Network.cpp new file mode 100755 index 0000000..2624737 --- /dev/null +++ b/Tianjin Online Judge/1363 - Fiber Network.cpp @@ -0,0 +1,46 @@ +#include +#include + +using namespace std; + +int main(){ + int n,u,v,mask,M[200][200]; + char s[27]; + + while(true){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;i=0;--i) mask |= (1<<(s[i]-'a')); + M[u][v] = mask; + } + + for(int k=0;k +#include +#include + +using namespace std; + +struct bipartite_graph{ + int V1,V2,*match; + vector *L; + bool *visited; + + bipartite_graph(int MAX_V1, int MAX_V2){ + L = new vector[MAX_V1]; + visited = new bool[MAX_V2]; + match = new int[MAX_V2]; + } + + void clear(int _V1, int _V2){ + V1 = _V1; V2 = _V2; + for(int i=0;i=0;--i){ + int v = L[u][i]; + if(!visited[v]){ + visited[v] = true; + if(match[v]==-1 || dfs(match[v])){ + match[v] = u; + return true; + } + } + } + return false; + } + + int maximum_matching(){ + int ans = 0; + fill(match,match+V2,-1); + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + string aux="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; + + int n=aux.size(); + map M; + + for(int i=1;i :: iterator it; + + while(getline(cin,s)){ + n=s.size(); + + for(int i=0;isecond; + else cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,b,cont; + + while(cin>>n){ + b=1; cont=1; + + do{ + b=b*10+1; + b%=n; + cont++; + }while(b!=0); + + cout< +#include +#include +#include + +using namespace std; + +const int ALPH_SIZE = 26; + +struct Node{ + vector links; + bool used; + string val; + Node(); +}; + +Node::Node(){ + links.resize(ALPH_SIZE,NULL); + used = false; +}; + +class Trie{ + public : + + Trie(); + + void printValue(const string &s) const; + void insert(const string &s, const string &val); + + private : + + Node* myRoot; +}; + +Trie::Trie(){ + myRoot = new Node(); +} + +void Trie::printValue(const string &s) const{ + Node *t = myRoot; + int len = s.size(); + + for(int i=0;ilinks[s[i]-'a']==NULL){ + t = NULL; + break; + } + t = t->links[s[i]-'a']; + } + + if(t==NULL || (t->used)==false) fputs("eh\n",stdout); + else{ + fputs((t->val).c_str(),stdout); + putc('\n',stdout); + } +} + +void Trie::insert(const string &s, const string &val){ + Node *t = myRoot; + int len = s.size(); + + for(int i=0;ilinks[s[i]-'a']==NULL) t->links[s[i]-'a'] = new Node(); + t = t->links[s[i]-'a']; + } + + t->val = val; + t->used = true; +} + +int main(){ + char line[22],s1[11],s2[11]; + string key,val; + + Trie *myTrie; + myTrie = new Trie(); + + while(true){ + fgets(line,3300001,stdin); + if(strlen(line)==1) break; + + sscanf(line,"%s%s",s1,s2); + key = string(s2); + val = string(s1); + myTrie->insert(key,val); + + } + + while(scanf("%s",s1)==1){ + key = string(s1); + myTrie->printValue(key); + } + + delete myTrie; + + return 0; +} diff --git a/Tianjin Online Judge/1387 - Discrete Logging.cpp b/Tianjin Online Judge/1387 - Discrete Logging.cpp new file mode 100755 index 0000000..9a2ef64 --- /dev/null +++ b/Tianjin Online Judge/1387 - Discrete Logging.cpp @@ -0,0 +1,61 @@ +#include +#include +#include + +using namespace std; + +int MOD; + +long long pow(int a, int n){ + if(n==0) return 1L; + + long long aux = pow(a,n/2); + + aux = (aux*aux)%MOD; + if(n&1) aux = (aux*a)%MOD; + + return aux; +} + +int main(){ + int B,N,m; + long long aux,b,ans; + map exp; + map::iterator it; + + while(scanf("%d %d %d",&MOD,&B,&N)==3){ + m = (int)ceil(sqrt(MOD)); + + exp.clear(); + aux = 1; + + for(int i=0;i + +using namespace std; + +int main(){ + int P,T,a,b,cont; + bool M[100][100]; + bool found[100]; + bool equal; + + scanf("%d %d",&P,&T); + + for(int i=0;i +#include +#include + +using namespace std; + +const int ALPH_SIZE = 26; // tamaño del alfabeto + +struct Node{ + vector links; // enlaces a los nodos hijos + int val; + + Node(); +}; + +Node::Node(){ + val = 0; + links.resize(ALPH_SIZE,NULL); +} + +class Trie{ + public : + + Trie(); + + int getValue(const string& s) const; + void insert(const string s, const int val); + + private : + + Node* myRoot; // raíz del trie +}; + +Trie::Trie(){ + myRoot = new Node(); +} + +int Trie::getValue(const string& s) const{ + Node* t = myRoot; + int len = s.size(); + + for(int k=0;k'z') return 0; + t = t->links[s[k]-'a']; + } + + if(t==NULL) return 0; + return t->val; +} + +void Trie::insert(const string s, const int val){ + int len = s.size(); + Node* t = myRoot; + + for(int k=0;klinks[s[k]-'a']==NULL){ + t->links[s[k]-'a'] = new Node(); + } + t = t->links[s[k]-'a']; + } + + t->val += val; +} + +int main(){ + int m,n,val,ans; + string s,line; + + while(cin>>m>>n){ + Trie *myTrie; + myTrie = new Trie(); + + for(int i=0;i>s>>val; + myTrie->insert(s,val); + } + + for(int i=0;i>s) ans += myTrie->getValue(s); + } + + cout< +#include + +using namespace std; + +#define MAX_L 1000000 + +int n,f[MAX_L]; +char P[MAX_L+1]; + +void prefixFunction(){ + int k = 0; + f[0] = 0; + for(int i=1;i0 && P[k]!=P[i]) k = f[k-1]; + if(P[k]==P[i]) ++k; + f[i] = k; + } +} + + +int main(){ + while(true){ + scanf("%s",P); + n = strlen(P); + + if(n==1 && P[0]=='.') break; + + prefixFunction(); + + int p = n-f[n-1]; + + if(n%p==0 && p + +using namespace std; + +int main(){ + int T,N; + scanf("%d",&T); + + while(T--){ + scanf("%d",&N); + + int ans = -1; + + for(int i = 1;i<=N;++i){ + if(N%i==0){ + int N2 = N/i; + for(int j = i;j<=N2;++j){ + if(N2%j==0){ + int k = N2/j; + int aux = 2*(i*j+j*k+k*i); + if(ans==-1 || aux +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + int n,cont; + + while(cin>>s1>>s2){ + n=s1.size(); + cont=0; + + for(int i=0;i +#include + +#define PI acos(-1) + +using namespace std; + +int n,cont; +bool solution_found; +double px,py,r,tx,ty,ux,uy,vx,vy; +bool cut[9]; +int order[9]; +double CMx,CMy,R2,a,b; +double x[9],y[9]; + +bool fall(){ + //Hallar CMX y CMY + cont=0; + CMx=0; + CMy=0; + + for(int i=0;iR2) return true; + + a=((CMx-tx)*(vy-ty)-(CMy-ty)*(vx-tx))/((ux-tx)*(vy-ty)-(uy-ty)*(vx-tx)); + if(a<0) return true; + + b=((CMy-ty)*(ux-tx)-(CMx-tx)*(uy-ty))/((ux-tx)*(vy-ty)-(uy-ty)*(vx-tx)); + if(b<0) return true; + + return false; +} + +void backtracking(int a){ + if(a==n){ + solution_found=true; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + vector x; + vector y; + int n; + double a,b; + + while(scanf("%d",&n)==1){ + x.clear(); + y.clear(); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + vector x; + vector y; + int n; + double a,b; + + while(scanf("%d",&n)==1){ + x.clear(); + y.clear(); + + for(int i=0;i + +using namespace std; + +int main(){ + + unsigned int n,m; + unsigned int k; + long long C; + + while(1){ + cin>>n>>m; + + if(n==0 && m==0) break; + + if(m>(m+n)/2) k=n; + else k=m; + + C=1; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + + int C,n,s; + double prom; + cin>>C; + + for(int i=0;i>n; + vector v(n); + + s=0; + + for(int j=0;j>v[j]; + s+=v[j]; + } + + prom=s*1.0/n; + + s=0; + + for(int j=0;jprom) s++; + + cout< +#include +#include + +#define PI 3.14159265358979323846 + +using namespace std; + +int main(){ + + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int t; + double x1,y1,x2,y2,x3,y3; + double a,b,c,S,R; + double m,n,p; + double e1,e2; + int N; + + cin>>t; + + for(int i=0;i>x1>>y1>>x2>>y2>>x3>>y3; + + S=fabs(x1*y2+x2*y3+x3*y1-x2*y1-x3*y2-x1*y3)*0.5; + a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); + b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); + c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); + + R=a*b*c/(4*S); + + m=2*asin(a/(2*R)); + n=2*asin(b/(2*R)); + p=2*asin(c/(2*R)); + + for(int j=3;j<201;j++){ + e1=m*j/(2*PI); + e2=n*j/(2*PI); + + e1-=round(e1); + e2-=round(e2); + + if(fabs(e1)<1e-5 && fabs(e2)<1e-5){ + cout< +#include + +using namespace std; + +int main(){ + int c,n,m,t,pos; + int T[1440],ans; + + scanf("%d",&c); + + for(int tc=0;tc=T[pos+n-1]) ans=ans+2*t; + else ans=T[pos+n-1]+2*t; + } + + ans-=t; + + printf("%d %d\n",ans,(m+n-1)/n); + } + + return 0; +} diff --git a/Tianjin Online Judge/1417 - Basic.cpp b/Tianjin Online Judge/1417 - Basic.cpp new file mode 100755 index 0000000..3346706 --- /dev/null +++ b/Tianjin Online Judge/1417 - Basic.cpp @@ -0,0 +1,127 @@ +#include +#include + +using namespace std; + +bool isdigit(const char c){ + return (c>='0' && c<='9'); +} + +bool valid_char(const char c){ + return (isdigit(c) || (c>='a' && c<='f')); +} + +int value(const char c){ + if(isdigit(c)) return c-'0'; + return c-'a'+10; +} + +int main(){ + int n,L,L2,pos,base; + scanf("%d",&n); + + char s[81],s2[81]; + bool decimal,valid; + + for(int tc=1;tc<=n;tc++){ + scanf("%s",s); + L=strlen(s); + + decimal=true; + for(int i=0;i16)) valid=false; + else base=(s[0]-'0')*10+s[1]-'0'; + }else{ + for(int i=0;i=base){ + valid=false; + break; + } + if(L2!=0 || (L2==0 && s[pos]!='0')) s2[L2++]=s[pos]; + + pos++; + } + + if(!valid || pos==L-1) break; + else{ + if(pos+2>=L-1 || s[pos+1]!='#' || !valid_char(s[pos+2])){ + valid=false; + break; + } + + pos+=2; + + if(L2>5) valid=false; + else{ + int base2=0; + + for(int i=0;i16){ + valid=false; + break; + } + } + + base=base2; + } + + if(base>16){ + valid=false; + break; + } + } + } + + if(!valid) printf("no\n"); + else printf("yes\n"); + } + } + + return 0; +} diff --git a/Tianjin Online Judge/1418 - Rock, Scissors, Paper.cpp b/Tianjin Online Judge/1418 - Rock, Scissors, Paper.cpp new file mode 100755 index 0000000..a7283d2 --- /dev/null +++ b/Tianjin Online Judge/1418 - Rock, Scissors, Paper.cpp @@ -0,0 +1,80 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +vector v; +vector ax; +string s; +int t,r,c,n,I,J; +int di[]={1,-1,0,0}; +int dj[]={0,0,1,-1}; + +char f(int a, int b){ + if(v[a][b]=='R'){ + for(int i=0;i<4;i++){ + I=a+di[i]; + J=b+dj[i]; + if(I>=0 && I=0 && J=0 && I=0 && J=0 && I=0 && J>t; + for(int i=0;i>r>>c>>n; + + v.clear(); + + for(int j=0;j>s; + v.push_back(s); + } + + for(int m=0;m +#include + +using namespace std; + +int main(){ + int min,max,m; + string s; + + while(1){ + min=0; + max=11; + + scanf("%d\n",&m); + + if(m==0) break; + + getline(cin,s); + + if(s[0]=='r'){ + printf("Stan may be honest\n"); + continue; + }else{ + switch(s[4]){ + case 'l': + min>?=m; + break; + case 'h': + max?=m; + break; + case 'h': + maxmin && m +#include +#include +#include + +using namespace std; + +#define MAX_DOLLS 100 + +struct doll{ + int h,d,w; + + doll(){} + + bool operator < (doll X)const{ + if(h!=X.h) return h>X.h; + if(d!=X.d) return d>X.d; + return w>X.w; + } + + bool canContain(doll &X)const{ + return (h-2*w>=X.h && d-2*w>=X.d); + } +}D[2*MAX_DOLLS]; + +int N; +bool M[2*MAX_DOLLS+1][2*MAX_DOLLS+1]; +int memo[2*MAX_DOLLS+1][2*MAX_DOLLS+1][2*MAX_DOLLS+1]; + +int solve(int pos1, int pos2, int next, int n, int m){ + if(n>N || m>N) return 3; + if(n==N && m==N) return 0; + + int &aux = memo[pos1][pos2][n]; + if(aux!=-1) return aux; + + if(M[pos1][next] && solve(next,pos2,next+1,n+1,m)!=3) return aux = 1; + if(M[pos2][next] && solve(pos1,next,next+1,n,m+1)!=3) return aux = 2; + + return aux = 3; +} + +int main(){ + int A[MAX_DOLLS],B[MAX_DOLLS]; + bool first_tc = true; + + while(true){ + scanf("%d",&N); + if(N==0) break; + + for(int i=2*N-1;i>=0;--i) scanf("%d %d %d",&D[i].h,&D[i].d,&D[i].w); + sort(D,D+(2*N)); + + memset(M,true,sizeof(M)); + + for(int i=1;i<=2*N;++i) + for(int j=1;j<=2*N;++j) + M[i][j] = D[i-1].canContain(D[j-1]); + + memset(memo,-1,sizeof(memo)); + + for(int pos1=0,pos2=0,next=1,n=0,m=0;next<=2*N;++next){ + int aux = solve(pos1,pos2,next,n,m); + + if(aux==1){ + A[n] = next-1; + ++n; + pos1 = next; + }else{ + B[m] = next-1; + ++m; + pos2 = next; + } + } + + if(!first_tc) printf("\n"); + first_tc = false; + + for(int i=0;i + +using namespace std; + +int main(){ + int x0,x1,x2,x3,S; + + while(1){ + scanf("%d %d %d %d",&x0,&x1,&x2,&x3); + if(x0==0 && x1==0 && x2==0 && x3==0) break; + + S=0; + S+=x1>x0? x0+40-x1:x0-x1; + S+=x2>x1? x2-x1:40-x1+x2; + S+=x3>x2? x2+40-x3:x2-x3; + S=S*9+1080; + + printf("%d\n",S); + } +} diff --git a/Tianjin Online Judge/1438 - Perfect Pth Powers.cpp b/Tianjin Online Judge/1438 - Perfect Pth Powers.cpp new file mode 100755 index 0000000..8e7d2bc --- /dev/null +++ b/Tianjin Online Judge/1438 - Perfect Pth Powers.cpp @@ -0,0 +1,57 @@ +#include +#include +#include + +using namespace std; + +int mcd(int a, int b){ + if(a%b==0) return b; + return mcd(b,a%b); +} + +int main(){ + bool p[46341]; + vector P; + + fill(p,p+46341,true); + p[0]=p[1]=false; + + for(int i=2;i<46341;i++){ + if(p[i]){ + P.push_back(i); + for(int j=2;j*i<46341;j++) p[j*i]=false; + } + } + + long long N; + int n=P.size(); + int pot,cont; + + while(1){ + cin>>N; + if(N==0) break; + + pot=-1; + + for(int i=0;i>=1; + } + + cout< +#include +#include + +using namespace std; +inline int lcm(int a, int b){ + return a/__gcd(a,b)*b; +} + +int main(){ + int n,t,h[50],H,ans1,ans2; + + while(true){ + scanf("%d %d",&n,&t); + if(n==0 && t==0) break; + + for(int i = 0;ians1) ans1 = x; + if(x!=H) x += m; + if(x +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + int M[10000]; + bool ok; + + while(1){ + scanf("%d:",&n); + if(n==0) break; + + vector ind(n); + + for(int i=0;i0 && 2*M[j]-M[i]ind[M[j]]) ok=true; + + if(ok) cout<<"no"< + +using namespace std; + +int n,a,b; + +int main(){ + + cin>>n; + for(int i=0;i>a>>b; + + if(b>a ) cout<<"impossible"< +#include + +using namespace std; + +struct stick{ + int l,w; + + stick(){} + + stick(int _l, int _w){ + l = _l; w = _w; + } + + bool operator < (stick X) const{ + if(l!=X.l) return lS[i].w) lo = mi+1; + else hi = mi; + } + + if(lo==m) ++m; + w[lo] = S[i].w; + } + + printf("%d\n",m); + } + + return 0; +} diff --git a/Tianjin Online Judge/1470 - Modular multiplication of polynomials.cpp b/Tianjin Online Judge/1470 - Modular multiplication of polynomials.cpp new file mode 100755 index 0000000..9281cb0 --- /dev/null +++ b/Tianjin Online Judge/1470 - Modular multiplication of polynomials.cpp @@ -0,0 +1,42 @@ +#include +#include + +using namespace std; + +int main(){ + int T,f[1000],g[1000],h[1000],p[1999]; + int d1,d2,d3,D; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&d1); + --d1; + for(int i=d1;i>=0;--i) scanf("%d",&f[i]); + + scanf("%d",&d2); + --d2; + for(int i=d2;i>=0;--i) scanf("%d",&g[i]); + + scanf("%d",&d3); + --d3; + for(int i=d3;i>=0;--i) scanf("%d",&h[i]); + + memset(p,0,sizeof(p)); + for(int i=0;i<=d1;++i) for(int j=0;j<=d2;++j) p[i+j] ^= (f[i] & g[j]); + + for(int i=d1+d2;i>=d3;--i){ + if(p[i]==0) continue; + for(int j=0;j<=d3;++j) p[i-j] ^= h[d3-j]; + } + + D = d3-1; + while(D>1 && p[D]==0) --D; + + printf("%d",D+1); + for(int i=D;i>=0;--i) printf(" %d",p[i]); + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1471 - Human Gene Functions.cpp b/Tianjin Online Judge/1471 - Human Gene Functions.cpp new file mode 100755 index 0000000..a2f71ca --- /dev/null +++ b/Tianjin Online Judge/1471 - Human Gene Functions.cpp @@ -0,0 +1,72 @@ +#include +#include + +using namespace std; + +char a[101]; +char b[101]; +int n,m; +int dp[101][101]; + +int score(char c1, char c2){ + if(c1==c2) return 5; + if(c1=='A'){ + if(c2=='C') return -1; + if(c2=='G') return -2; + if(c2=='T') return -1; + if(c2==' ') return -3; + } + if(c1=='C'){ + if(c2=='A') return -1; + if(c2=='G') return -3; + if(c2=='T') return -2; + if(c2==' ') return -4; + } + if(c1=='G'){ + if(c2=='A') return -2; + if(c2=='C') return -3; + if(c2=='T') return -2; + if(c2==' ') return -2; + } + if(c1=='T'){ + if(c2=='A') return -1; + if(c2=='C') return -2; + if(c2=='G') return -2; + if(c2==' ') return -1; + } + if(c1==' '){ + if(c2=='A') return -3; + if(c2=='C') return -4; + if(c2=='G') return -2; + if(c2=='T') return -1; + } +} + +int f(int p1, int p2){ + if(p1==n && p2==m) return 0; + + if(dp[p1][p2]!=-1) return dp[p1][p2]; + + if(p1==n) dp[p1][p2]=f(p1,p2+1)+score(' ',b[p2]); + else if(p2==m) dp[p1][p2]=f(p1+1,p2)+score(a[p1],' '); + else dp[p1][p2]=max(max(f(p1,p2+1)+score(' ',b[p2]),f(p1+1,p2)+score(a[p1],' ')),f(p1+1,p2+1)+score(a[p1],b[p2])); + + return dp[p1][p2]; +} + +int main(){ + int T; + + cin>>T; + + for(int caso=1;caso<=T;caso++){ + cin>>n>>a; + cin>>m>>b; + + memset(dp,-1,sizeof(dp)); + + printf("%d\n",f(0,0)); + } + + return 0; +} diff --git a/Tianjin Online Judge/1472 - Flip and Shift.cpp b/Tianjin Online Judge/1472 - Flip and Shift.cpp new file mode 100755 index 0000000..fa27c55 --- /dev/null +++ b/Tianjin Online Judge/1472 - Flip and Shift.cpp @@ -0,0 +1,28 @@ +#include + +using namespace std; + +int main(){ + int T,n,x,diff; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + + diff = 0; + + for(int i=0;i=-1 && diff<=1)) printf("YES\n"); + else printf("NO\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1473 - Moving Tables.cpp b/Tianjin Online Judge/1473 - Moving Tables.cpp new file mode 100755 index 0000000..4872c25 --- /dev/null +++ b/Tianjin Online Judge/1473 - Moving Tables.cpp @@ -0,0 +1,51 @@ +#include +#include +#include + +using namespace std; + +struct interval{ + int s,e; + + interval(){} + + bool operator < (interval X)const{ + return sL[i].e) swap(L[i].s,L[i].e); + + L[i].s = (L[i].s+1)/2; + L[i].e = (L[i].e+1)/2; + } + sort(L,L+n); + + priority_queue Q; + Q.push(-L[0].e); + ans = 1; + + for(int i=1;ie) Q.pop(); + else ++ans; + + Q.push(-L[i].e); + } + + printf("%d\n",10*ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1476 - A simple task.cpp b/Tianjin Online Judge/1476 - A simple task.cpp new file mode 100755 index 0000000..c07c3e8 --- /dev/null +++ b/Tianjin Online Judge/1476 - A simple task.cpp @@ -0,0 +1,20 @@ +#include +using namespace std; + +int n,i; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + cin>>n; + while(cin>>n){ + i=0; + while((n&(1<>i)<<" "< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,n; + cin>>t; + string s; + + for(int i=0;i>n; + for(int i=0;i<32;i++) + if((n&(1< +#include + +using namespace std; + +int main(){ + int n,x[200000],y[200000],sc1,sc2; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;ix[0] && y[i]>y[0]) || (x[i]y[0]) || (x[i]>x[0] && y[i] +#include +#include +#include + +using namespace std; + +#define SZ 1002 + +short flow[SZ][SZ],cap[SZ][SZ]; +int prev[SZ],f; +vector< vector > L(SZ); + +bool augmenting(int &N, int &t){ + fill(prev,prev+N,-1); + queue Q; + Q.push(0); + prev[0]=-2; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i=0;i--) L[i].clear(); + + for(int i=0;i +#include +#include + +using namespace std; + +int R,C; +int MOD; + +struct M{ + int X[70][71]; + + M(){ + } +}; + +int exp(int a, int n){ + if(n==0) return 1; + if(n==1) return a; + + int aux=exp(a,n/2); + + if(n&1) return ((long long)a*(aux*aux)%MOD)%MOD; + return (aux*aux)%MOD; +} + +int ModularInverse(int a){ + return exp(a,MOD-2); +} + +void GaussianElimination(M &M0){ + int aux; + bool found; + + for(int i=0,r=0;r0){ + found=true; + + if(j==r) break; + + for(int k=i;k0;i--) + for(int j=0;j + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int cont,n,u,d,tot; + + while(1){ + scanf("%d %d %d",&n,&u,&d); + + if(n==0) break; + + cont=0; + tot=0; + + while(1){ + cont+=u; + tot++; + if(cont>=n) break; + tot++; + cont-=d; + } + + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,h; + int a[100]; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;ia[i]) h=a[i]-1; + else h--; + + } + + return 0; +} diff --git a/Tianjin Online Judge/1519 - Ball Toss.cpp b/Tianjin Online Judge/1519 - Ball Toss.cpp new file mode 100755 index 0000000..c16eb06 --- /dev/null +++ b/Tianjin Online Judge/1519 - Ball Toss.cpp @@ -0,0 +1,60 @@ +#include +#include + +using namespace std; + +int main(){ + int n,k,cont,prev,last,next,tosses; + bool L[30],done[30]; + char c; + + while(1){ + scanf("%d",&n); + if(n<1) break; + + scanf("%d",&k); + k--; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + bool start=true; + int N,n,m,L[8][256],Q,x,best[256],h[256],worst[256]; + + while(1){ + scanf("%d",&n); + if(n<1) break; + + N=(1<=0;i--){ + for(int j=0;j<(1< +#include + +using namespace std; + +int dist2(const int &x1, const int &y1, const int &x2, const int &y2){ + return ((x1-x2)*(x1-x2)*3+(y1-y2)*(y1-y2)); +} + +int main(){ + int x[78],y[78]; + + for(int i=0,k=0;i<12;i++){ + for(int j=-i;j<=i;j+=2){ + x[k]=i; y[k]=j; + k++; + } + } + + char s[79],ans[79]; + int n,m,d1,d2,d3; + + while(1){ + scanf("%d",&n); + if(n<1) break; + + scanf("%s",s); + + n=n*(n+1)/2; + m=0; + + for(int i=0;i +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int a,b,c,d,e,f; + int s1,s2; + while(true){ + scanf("%d %d %d %d %d %d",&a,&b,&c,&d,&e,&f); + if(a==0 && b==0 && c==0 && d==0 && e==0 && f==0) break; + s1=a+c+e; + s2=b+d+f; + cout<<"Anna's won-loss record is "<<(2*s2-s1)/3<<"-"<<(2*s1-s2)/3<<"."< +using namespace std; + +int mcd(int &a,int b) +{ + if(a%b==0) return b; + return mcd(b,a%b); +} + +void mcm(int &a,int &b) +{ + a=a/mcd(a,b)*b; + return; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int m; + int x; + int ax; + cin>>m; + while(cin>>m){ + x=1; + for(int i=0;i>ax; + mcm(x,ax); + } + cout< +#include +#include +#include + +using namespace std; + +bool solved; +vector v; +bool M[11][11]; +bool X[11][11]; +int N; +int cont; + +void b(int a) +{ + if(cont==2*(N+1)){ + solved=true; + return; + } + + if(v[a]>=2) return; + + for(int i=0;i>N){ + if(N==0) break; + getline(cin,s); + + memset(M,false,sizeof(M)); + + for(int i=1;i<=N;i++){ + getline(cin,s); + istringstream is(s); + while(is>>ax){ + M[i][ax]=true; + M[ax][i]=true; + } + } + + v.clear(); + v.resize(N+1); + for(int i=0;i +#include + +using namespace std; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1; + string s2; + + int a[10]; + int b[10]; + + while(true) + { + + cin>>s1; + if(s1=="THEEND") break; + + cin>>s2; + + for(int i=0;is1[a[j]]) swap(a[i],a[j]); + else if(s1[a[i]]==s1[a[j]] && a[i]>a[j]) swap(a[i],a[j]); + } + } + + for(int i=0;i +#include + +using namespace std; + +double x,y; + +double dist2(double &x1, double &y1, double &x2, double &y2){ + x=x1-x2; + y=y1-y2; + return x*x+y*y; +} + +int N,f[12],ans; +bool M[12][12]; + +bool ok(int v){ + for(int i=0;i=ans) return; + if(n==N) ans=freq; + else{ + for(int i=1;i<=freq;i++){ + f[n]=i; + if(!ok(n)) continue; + search(n+1,freq); + } + for(int i=freq+1;i +#include + +using namespace std; + +double triArea(double &x1, double &y1, double &x2, double &y2, double &x3, double &y3){ + return fabs(x1*y2+x2*y3+x3*y1-y1*x2-y2*x3-y3*x1)/2; +} + +double quadArea(double &x1, double &y1, double &x2, double &y2, double &x3, double &y3, double &x4, double &y4){ + return triArea(x1,y1,x2,y2,x3,y3)+triArea(x3,y3,x4,y4,x1,y1); +} + +int main(){ + int tc=1; + double x[4],y[4],midx[4],midy[4],best,S,A1,A2,a1,a2,dif; + bool zeroes=false; + + while(1){ + zeroes=true; + + for(int i=0;i<4;i++){ + scanf("%lf %lf",&x[i],&y[i]); + if(x[i]!=0 || y[i]!=0) zeroes=false; + } + + if(zeroes) break; + + for(int i=0;i<4;i++){ + midx[i]=(x[i]+x[(i+1)&3])/2; + midy[i]=(y[i]+y[(i+1)&3])/2; + } + + a1=triArea(x[0],y[0],x[3],y[3],x[2],y[2]); + a2=triArea(x[0],y[0],x[1],y[1],x[2],y[2]); + best=fabs(a1-a2); A1=a1; A2=a2; + + a1=triArea(x[0],y[0],x[3],y[3],x[1],y[1]); + a2=triArea(x[3],y[3],x[1],y[1],x[2],y[2]); + if(fabs(a1-a2) +#include + +using namespace std; + +bool palindrome(string &s){ + int n=s.size(); + for(int i=0;i +#include + +using namespace std; + +int main(){ + long long a,b,c; + int L; + char s[5001]; + + while(1){ + scanf("%s",s); + if(s[0]=='0') break; + L=strlen(s); + + b=1; c=0; + for(int i=1;i<=L;i++){ + a=0; + if(s[i-1]!='0') a+=b; + if(i>=2 && (s[i-2]=='1' || (s[i-2]=='2' && s[i-1]<='6'))) a+=c; + c=b; b=a; + } + + printf("%ld\n",a); + } + + return 0; +} diff --git a/Tianjin Online Judge/1547 - To and Fro.cpp b/Tianjin Online Judge/1547 - To and Fro.cpp new file mode 100755 index 0000000..a054899 --- /dev/null +++ b/Tianjin Online Judge/1547 - To and Fro.cpp @@ -0,0 +1,27 @@ +#include +#include + +using namespace std; + +int main(){ + int R,C; + char s[201]; + + while(1){ + scanf("%d",&C); + if(C==0) break; + + scanf("%s",s); + + R=strlen(s)/C; + + for(int j=0;j +#include + +using namespace std; + +int main(){ + + cout<<"n e"< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string n; + int ax; + + while(1){ + cin>>n; + if(n=="0") break; + + ax=0; + + for(int i=0;i +#include +#include + +using namespace std; + +struct punto{ + int x,y,z; + + punto(int a, int b, int c){ + x=a; + y=b; + z=c; + } +}; + +double dist(punto &A, punto &B){ + return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y)+(A.z-B.z)*(A.z-B.z)); +} + +int main(){ + vector v; + vector u; + + int x,y,z; + + for(int i=0;i<16;i++){ + scanf("%d %d %d",&x,&y,&z); + v.push_back(punto(x,y,z)); + } + + while(1){ + scanf("%d %d %d",&x,&y,&z); + if(x==-1 && y==-1 && z==-1) break; + + u.push_back(punto(x,y,z)); + } + + double min,aux; + int ind; + + for(int i=0;i +#include +#include + +using namespace std; + +bool isCyclic(string s){ + set rotations; + rotations.insert(s); + + int L = s.size(); + + for(int i=1;i=0;--j){ + c += (s[j]-'0')*i; + aux[j] += c%10; + c /= 10; + } + + if(c!=0 || rotations.find(aux)==rotations.end()) return false; + } + + return true; +} + +int main(){ + string s; + + while(cin>>s){ + cout< +#include + +using namespace std; + +int main(){ + int M[100][100]; + int N,ans; + int sum[100][101]; + int dp[101]; + + while(scanf("%d",&N)==1){ + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,sum,raiz; + + cout<<"PERFECTION OUTPUT"< +#include + +using namespace std; + +int main(){ + freopen("in2.txt","r",stdin); + freopen("out.txt","w",stdout); + + double sum,aux; + + sum=0; + + for(int i=0;i<12;i++){ + cin>>aux; + sum+=aux; + } + + printf("$%.2f\n",sum/12); +} diff --git a/Tianjin Online Judge/1575 - I Think I Need a Houseboat.cpp b/Tianjin Online Judge/1575 - I Think I Need a Houseboat.cpp new file mode 100755 index 0000000..cbf4f4b --- /dev/null +++ b/Tianjin Online Judge/1575 - I Think I Need a Houseboat.cpp @@ -0,0 +1,24 @@ +#include +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + int T,year; + double x,y; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%lf %lf",&x,&y); + + year=ceil(PI/100*(x*x+y*y)); + + printf("Property %d: This property will begin eroding in year %d.\n",i,year); + } + printf("END OF OUTPUT.\n"); + + return 0; +} diff --git a/Tianjin Online Judge/1577 - A New Growth Industry.cpp b/Tianjin Online Judge/1577 - A New Growth Industry.cpp new file mode 100755 index 0000000..d39548e --- /dev/null +++ b/Tianjin Online Judge/1577 - A New Growth Industry.cpp @@ -0,0 +1,49 @@ +#include + +using namespace std; + +int main(){ + int days,K,I,J; + int D[16]; + int M[2][20][20]; + int di[]={0,0,0,1,-1}; + int dj[]={0,1,-1,0,0}; + + scanf("%d",&days); + + for(int i=0;i<16;i++) scanf("%d",&D[i]); + + for(int i=0;i<20;i++) + for(int j=0;j<20;j++) scanf("%d",&M[0][i][j]); + + for(int k=1;k<=days;k++){ + for(int i=0;i<20;i++){ + for(int j=0;j<20;j++){ + K=0; + + for(int a=0;a<5;a++){ + I=i+di[a]; + J=j+dj[a]; + if(I>=0 && I<20 && J>=0 && J<20) K+=M[(k-1)%2][I][J]; + } + + M[k%2][i][j]=M[(k-1)%2][i][j]+D[K]; + if(M[k%2][i][j]>3) M[k%2][i][j]=3; + else if(M[k%2][i][j]<0) M[k%2][i][j]=0; + } + } + } + + for(int i=0;i<20;i++){ + for(int j=0;j<20;j++){ + if(M[days%2][i][j]==0) printf("."); + else if(M[days%2][i][j]==1) printf("!"); + else if(M[days%2][i][j]==2) printf("X"); + else if(M[days%2][i][j]==3) printf("#"); + } + printf("\n"); + } + + + return 0; +} diff --git a/Tianjin Online Judge/1583 - Anakin's mission.cpp b/Tianjin Online Judge/1583 - Anakin's mission.cpp new file mode 100755 index 0000000..c572578 --- /dev/null +++ b/Tianjin Online Judge/1583 - Anakin's mission.cpp @@ -0,0 +1,34 @@ +#include +#include + +using namespace std; + +double memo[51][101][101]; + +double solve(int N, int m, int n){ + if(N==0) return 1.0; + if(memo[N][m][n]>-0.5) return memo[N][m][n]; + + double aux = 0; + + if(m>0) aux += solve(N-1,m,n)+solve(N-1,m-1,n+1); + if(n>0) aux += solve(N-1,m,n)+solve(N-1,m+1,n-1); + aux /= 4; + + memo[N][m][n] = memo[N][n][m] = aux; + return aux; +} + +int main(){ + int T,N,m,n; + scanf("%d",&T); + + memset(memo,-1,sizeof(memo)); + + for(int tc=1;tc<=T;++tc){ + scanf("%d %d %d",&N,&m,&n); + printf("%.6lf\n",solve(N,m,n)); + } + + return 0; +} diff --git a/Tianjin Online Judge/1584 - Attack Of The Clones.java b/Tianjin Online Judge/1584 - Attack Of The Clones.java new file mode 100755 index 0000000..5703fd0 --- /dev/null +++ b/Tianjin Online Judge/1584 - Attack Of The Clones.java @@ -0,0 +1,33 @@ +import java.io.BufferedReader; +import java.math.BigInteger; + +public class Main{ + public static void main(String args[]){ + BufferedReader cin = new BufferedReader(new java.io.InputStreamReader(System.in)); + + String s; + BigInteger N; + int n,m; + + while(true){ + try{ + s=cin.readLine(); + if(s.equals("0")) break; + + N=new BigInteger(s); + + n=N.bitLength(); + m=0; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,L; + char s[51]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%s",s); + L = strlen(s); + + printf("String #%d\n",tc); + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int a,b,c,test_case=1; + + while(1){ + scanf("%d %d %d",&a,&b,&c); + + if(a==0 && b==0 && c==0) break; + + printf("Triangle #%d\n",test_case); + test_case++; + + if(a==-1){ + if(c +#include + +using namespace std; + +int main(){ + string URL,s; + int n; + int a,b,x,y; + bool port,path; + + cin>>n; + + for(int caso=1;caso<=n;caso++){ + cout<<"URL #"<>URL; + + a=0; + b=URL.find("://"); + s=URL.substr(a,b); + cout<<"Protocol = "<"<"< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,test_case=1;; + + char c1,c2; + + int mask; + + while(1){ + scanf("%d\n",&n); + if(n==0) break; + + printf("Program #%d\n",test_case); + test_case++; + + mask=1; + + for(int i=0;i +#include + +using namespace std; + +struct pol{ + int P[11]; + + pol(){ + } + + pol(int a){ + P[0]=a; + for(int i=1;i<11;i++) P[i]=0; + } +}; + +pol Add(pol &a, pol b){ + pol c; + + for(int i=0;i<11;i++) c.P[i]=a.P[i]+b.P[i]; + + return c; +} + +pol Mult(pol &a){ + pol b; + + b.P[0]=0; + for(int i=1;i<11;i++) b.P[i]=a.P[i-1]; + + return b; +} + +pol Mult(int &n, pol &a){ + pol b; + + for(int i=0;i<11;i++) b.P[i]=n*a.P[i]; + + return b; +} + +void print(pol &a){ + int gr=0; + + for(int i=10;i>=1 && gr==0;i--) if(a.P[i]!=0) gr=i; + + for(int i=gr;i>=1;i--){ + if(a.P[i]==0) continue; + + if(i!=gr) printf("+"); + if(a.P[i]!=1) printf("%d*",a.P[i]); + if(i==1) printf("n"); + else printf("n^%d",i); + } + + if(gr==0) printf("%d",a.P[0]); + else if(a.P[0]!=0) printf("+%d",a.P[0]); + + printf("\n\n"); +} + +int main(){ + int T,n; + char s[15]; + stack Q; + pol ans,x,y; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%s",s); + + for(int i=0;i<11;i++) x.P[i]=0; + + ans=pol(0); x=pol(1); + + while(1){ + scanf("%s",s); + + if(s[0]=='O'){ + scanf("%d",&n); + ans=Add(ans,Mult(n,x)); + }else if(s[0]=='L'){ + Q.push(x); + + scanf("%s",s); + + if(s[0]=='n') x=Mult(x); + else{ + sscanf(s,"%d",&n); + x=Mult(n,x); + } + }else{ + if(Q.empty()) break; + else{ + x=Q.top(); + Q.pop(); + } + } + } + + printf("Program #%d\nRuntime = ",tc); + print(ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1597 - There's Treasure Everywhere!.cpp b/Tianjin Online Judge/1597 - There's Treasure Everywhere!.cpp new file mode 100755 index 0000000..ee2b6a3 --- /dev/null +++ b/Tianjin Online Judge/1597 - There's Treasure Everywhere!.cpp @@ -0,0 +1,56 @@ +#include +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int n,cont=1,cont1,cont2; + double x,y; + + while(true){ + getline(cin,s); + if(s=="END") break; + + cout<<"Map #"<>n>>s){ + if(s=="N") y+=n*1.0; + else if(s=="S") y-=n*1.0; + else if(s=="E") x+=n*1.0; + else if(s=="W") x-=n*1.0; + else if(s=="NE"){ + cont1+=n; + cont2+=n; + }else if(s=="NW"){ + cont1-=n; + cont2+=n; + }else if(s=="SE"){ + cont1+=n; + cont2-=n; + }else{ + cont1-=n; + cont2-=n; + } + } + x+=cont1*sqrt(2)/2; + y+=cont2*sqrt(2)/2; + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int h[50]; + int n,prom,min,caso=1; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;iprom) min+=h[i]-prom; + + printf("Set #%d\nThe minimum number of moves is %d.\n\n",caso,min); + caso++; + } + + return 0; +} diff --git a/Tianjin Online Judge/1609 - Blowing Fuses.cpp b/Tianjin Online Judge/1609 - Blowing Fuses.cpp new file mode 100755 index 0000000..06a5547 --- /dev/null +++ b/Tianjin Online Judge/1609 - Blowing Fuses.cpp @@ -0,0 +1,40 @@ +#include +#include + +using namespace std; + +int main(){ + int n,m,c,pos,ans,sum,caso=1; + int a[20]; + bool off[20]; + + while(1){ + scanf("%d %d %d",&n,&m,&c); + if(n==0 && m==0 && c==0) break; + + for(int i=0;ic) printf("Fuse was blown.\n\n"); + else printf("Fuse was not blown.\nMaximal power consumption was %d amperes.\n\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1614 - Is It A Tree.cpp b/Tianjin Online Judge/1614 - Is It A Tree.cpp new file mode 100755 index 0000000..d0321d9 --- /dev/null +++ b/Tianjin Online Judge/1614 - Is It A Tree.cpp @@ -0,0 +1,73 @@ +#include +#include +#include +#include + +using namespace std; + +int main(){ + int tc=1,u,v,N,E,parent[1000],cont,aux; + bool valid,active[1000],in[1000],visited[1000]; + vector< vector > L(1000); + + while(1){ + fill(parent,parent+1000,-1); + fill(active,active+1000,false); + fill(in,in+1000,false); + valid=true; + E=0; + + for(int i=0;i<1000;i++) L[i].clear(); + + while(1){ + scanf("%d %d",&u,&v); + if(u<=0 || v<=0) break; + E++; + u--; v--; + active[u]=active[v]=true; + if(u==v) valid=false; + L[u].push_back(v); + in[v]=true; + } + + if(u<0 || v<0) break; + + N=count(active,active+1000,true); + + if(N!=0 && E!=N-1) valid=false; + + if(valid){ + for(int i=0;i<1000;i++){ + if(active[i] && !in[i]){ + queue Q; + Q.push(i); + + fill(visited,visited+1000,false); + visited[i]=true; + + while(!Q.empty() && valid){ + aux=Q.front(); + Q.pop(); + + for(int j=L[aux].size()-1;j>=0;j--){ + if(visited[L[aux][j]]) valid=false; + else{ + Q.push(L[aux][j]); + visited[L[aux][j]]=true; + } + } + } + + if(count(visited,visited+1000,true)!=N) valid=false; + break; + } + } + } + + if(valid) printf("Case %d is a tree.\n",tc); + else printf("Case %d is not a tree.\n",tc); + tc++; + } + + return 0; +} diff --git a/Tianjin Online Judge/1624 - Programmer, Rank Thyself.cpp b/Tianjin Online Judge/1624 - Programmer, Rank Thyself.cpp new file mode 100755 index 0000000..5ae8107 --- /dev/null +++ b/Tianjin Online Judge/1624 - Programmer, Rank Thyself.cpp @@ -0,0 +1,110 @@ +#include +#include +#include +#include +#include + +using namespace std; + +struct team{ + string name; + vector p; + int geo; + int cont; + int sum; + + team(string a, vector v, int x, int y){ + name=a; + p=v; + geo=x; + cont=y; + sum=0; + for(int i=0;i<7;i++) sum+=v[i]; + } + + bool operator <(team X)const{ + int n1=0,n2=0,sum1=0,sum2=0; + + for(int i=0;i<7;i++){ + if(p[i]==0) n1++; + if(X.p[i]==0) n2++; + sum1+=p[i]; + sum2+=X.p[i]; + } + + if(n1!=n2) return n1 v(7); + double aux; + vector ranking; + + while(1){ + cin>>c; + if(c==0) break; + + ranking.clear(); + + for(int i=0;i>s; + aux=0; + n=0; + for(int j=0;j<7;j++){ + cin>>v[j]; + if(v[j]!=0){ + aux+=log(v[j]); + n++; + } + } + + if(n!=0) aux=exp(aux/n); + geo=aux+0.5; + + ranking.push_back(team(s,v,geo,n)); + } + + cont=1; + + sort(ranking.begin(),ranking.end()); + + cout<<"CONTEST "< +#include + +using namespace std; + +char s1[201],s2[201],s3[401]; +int L1,L2,L3,memo[201][201]; + +int solve(int n, int m){ + if(n+m==L3) return 1; + if(memo[n][m]!=-1) return memo[n][m]; + + int aux = 0; + + if(n + +using namespace std; + +long long memo[2001][10]; +int pot2[]={1,2,4,8,16,32,64,128,256,512,1024}; +int M; + +long long f(int a, int b){ + if(b==0) return 1; + + if(memo[a][b]!=-1) return memo[a][b]; + + long long aux=0; + + for(int i=2*a;i*pot2[b-1]<=M;i++) + aux+=f(i,b-1); + + memo[a][b]=aux; + + return aux; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int C,N; + + long long ans; + + cin>>C; + + for(int caso=0;caso>N>>M; + + for(int i=1;i<=M;i++) + for(int j=1;j + +using namespace std; + +int i,s1,s2,m; + +bool es(int n){ + m=n; + s1=0; + + for(i=0;i<4;i++){ + s1+=m%10; + m/=10; + } + + m=n; + s2=0; + + for(i=0;i<4;i++){ + s2+=m%12; + m/=12; + } + + if(s1!=s2) return false; + + m=n; + s2=0; + + for(i=0;i<4;i++){ + s2+=m%16; + m/=16; + } + + if(s1!=s2) return false; + return true; +} + +int main(){ + freopen("out.txt","w",stdout); + + for(int j=2992;j<10000;j++) + if(es(j)) cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int s,cant,caso=1; + + int final_sz; + + while(1){ + scanf("%d",&s); + + if(s==0) break; + + s=(s+1)/2; + + s=s+(s+1)/2; + + cant=ceil(s/1860000.0); + + printf("File #%d\nJohn needs %d floppies.\n\n",caso,cant); + caso++; + } + + return 0; +} diff --git a/Tianjin Online Judge/1643 - Golf.cpp b/Tianjin Online Judge/1643 - Golf.cpp new file mode 100755 index 0000000..488fe15 --- /dev/null +++ b/Tianjin Online Judge/1643 - Golf.cpp @@ -0,0 +1,29 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int p,s,caso=1; + + while(1){ + scanf("%d %d",&p,&s); + + if(p==0) break; + + printf("Hole #%d\n",caso); + caso++; + + if(s==1) printf("Hole-in-one.\n\n"); + else if(p==s) printf("Par.\n\n"); + else if(p-s==1) printf("Birdie.\n\n"); + else if(s-p==1) printf("Bogey.\n\n"); + else if(p-s==2) printf("Eagle.\n\n"); + else if(p-s==3) printf("Double Eagle.\n\n"); + else printf("Double Bogey.\n\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1644 - Reverse Text.cpp b/Tianjin Online Judge/1644 - Reverse Text.cpp new file mode 100755 index 0000000..fbba6b8 --- /dev/null +++ b/Tianjin Online Judge/1644 - Reverse Text.cpp @@ -0,0 +1,21 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + string s; + cin>>n; + getline(cin,s); + for(int i=0;i=0;i--) cout< +#include + +using namespace std; + +#define MAX_SIZE 50 + +int parent[MAX_SIZE],rank[MAX_SIZE],comp; + +void Make_Set(const int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(const int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(const int x, const int y){ + int PX=Find(x),PY=Find(y); + + if(rank[PX]>rank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +struct edge{ + int u,v,L; + + edge(){ + } + + edge(const int _u, const int _v, const int _L){ + u=_u; v=_v; L=_L; + } + + bool operator < (const edge &X) const{ + return L +#include + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + string s1,s2; + int n,m; + + int M[210][210]; + + while(cin>>s1>>s2){ + + n=s1.size(); + m=s2.size(); + + memset(M,0,sizeof(M)); + + int j=0; + + for(int i=n-1;i>=0;i--){ + for(int j=m-1;j>=0;j--){ + if(s1[i]==s2[j]) M[i][j]=M[i+1][j+1]+1; + else M[i][j]=max(M[i][j+1],M[i+1][j]); + } + } + + int ans=-1; + for(int i=0;i + +using namespace std; + +#define MAX_L 1000000 + +int n,f[MAX_L]; +char P[MAX_L+1]; + +void prefixFunction(){ + int k = 0; + f[0] = 0; + for(int i=1;i0 && P[k]!=P[i]) k = f[k-1]; + if(P[k]==P[i]) ++k; + f[i] = k; + } +} + +int main(){ + int tc=1; + + while(true){ + scanf("%d",&n); + if(n==0) break; + + scanf("%s",P); + + prefixFunction(); + + printf("Test case #%d\n",tc); + ++tc; + + for(int i=2;i<=n;++i){ + int p = i-f[i-1]; + if(i%p==0 && p + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,f,ax,a,b; + + while(cin>>n){ + ax=1; + f=1; + while(ax +#include + +using namespace std; + +int main(){ + int T,total,n; + int a[24]; + int ac,t,cont; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d %d",&total,&n); + + for(int i=0;i +#include + +using namespace std; + +int solve(int a, int &b){ + for(int i=0;i<10;i++) + if((a*i+b)%10==0) return i; +} + +int main(){ + int T,n,sum,ind,x; + char s[8]; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%s",s); + n=strlen(s); + + sum=0; + + for(int j=0;j + +using namespace std; + +int main(){ + int cont_left,cont_right; + + int T,a,b; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%d %d",&a,&b); + + cont_left=cont_right=0; + + while(a!=1 && b!=1){ + if(a>b){ + cont_left+=a/b; + a%=b; + }else{ + cont_right+=b/a; + b%=a; + } + } + + if(a==1) cont_right+=b-1; + else cont_left+=a-1; + + printf("Scenario #%d:\n%d %d\n\n",i,cont_left,cont_right); + } + + return 0; +} diff --git a/Tianjin Online Judge/1701 - Stamps.cpp b/Tianjin Online Judge/1701 - Stamps.cpp new file mode 100755 index 0000000..e336995 --- /dev/null +++ b/Tianjin Online Judge/1701 - Stamps.cpp @@ -0,0 +1,36 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,n,m,sum,j; + + scanf("%d",&T); + + for(int i=0;i v(m); + + for(j=0;j +#include + +using namespace std; + +int main(){ + int T,n; + int M[14][14]; + int dp[1<<14]; + int N,aux,cost; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d",&n); + + for(int i=0;i=0;mask--){ + aux=INT_MAX; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int parent[333]; +int son[333]; +vector v; +map M; + +int main(){ + int T,S,n,start; + string s1,s2; + + cin>>T; + + for(int caso=1;caso<=T;caso++){ + cout<<"Scenario #"<>S; + + v.clear(); + M.clear(); + n=0; + + memset(parent,-1,sizeof(parent)); + + for(int i=0;i>s1>>s2; + + if(M.find(s1)==M.end()){ + M[s1]=n; + v.push_back(s1); + n++; + } + + if(M.find(s2)==M.end()){ + M[s2]=n; + v.push_back(s2); + n++; + } + + parent[M[s2]]=M[s1]; + son[M[s1]]=M[s2]; + } + + + + for(int i=0;i +#include +#include + +using namespace std; + +vector< vector > L; +bool M[2000][2000]; +int color[2000]; + +bool bipartite(int &V){ + fill(color,color+V,-1); + + int aux,v; + queue Q; + + for(int i=0;i=0;j--){ + v=L[aux][j]; + if(color[v]==color[aux]) return false; + if(color[v]==-1){ + Q.push(v); + color[v]=1-color[aux]; + } + } + } + } + } + + return true; +} + +int main(){ + int T,V,E,u,v; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&V,&E); + + L.clear(); + L.resize(V); + + for(int i=0;i + +using namespace std; + +int main(){ + int T,a,b,c,d; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%d %d %d %d",&a,&b,&c,&d); + + printf("Scenario #%d:\n",i); + + if((((a&1)+(b&1))&1)==(((c&1)+(d&1))&1)) printf("0\n\n"); + else printf("1\n\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1713 - Heavy Transportation.cpp b/Tianjin Online Judge/1713 - Heavy Transportation.cpp new file mode 100755 index 0000000..2a6c1ac --- /dev/null +++ b/Tianjin Online Judge/1713 - Heavy Transportation.cpp @@ -0,0 +1,71 @@ +#include +#include +#include + +using namespace std; + +struct nodo{ + int v,w; + + nodo(){ + } + + nodo(int _v, int _w){ + v=_v; + w=_w; + } + + bool operator < (nodo X) const{ + return w Q; + Q.push(nodo(0,INT_MAX)); + + fill(visited,visited+n,false); + + nodo aux; + + while(1){ + aux=Q.top(); + Q.pop(); + + if(visited[aux.v]) continue; + visited[aux.v]=true; + + if(aux.v==n-1) return aux.w; + + for(int i=0;i +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + double R,r; + int T,n; + + cin>>T; + + for(int caso=1;caso<=T;caso++){ + printf("Scenario #%d:\n",caso); + + cin>>R>>n; + r=R/(1+1/sin(PI/n)); + + printf("%.3f\n\n",r); + } + + return 0; +} diff --git a/Tianjin Online Judge/1720 - Brainman.cpp b/Tianjin Online Judge/1720 - Brainman.cpp new file mode 100755 index 0000000..cdc4187 --- /dev/null +++ b/Tianjin Online Judge/1720 - Brainman.cpp @@ -0,0 +1,43 @@ +#include + +using namespace std; + +int c; + +void swap(int &a, int &b){ + c=a; + a=b; + b=c; +} + +int main(){ + int T,n,cont,ind; + int a[1000]; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d",&n); + + for(int i=0;i + +using namespace std; + +int main(){ + int f[45]; + + f[1]=2; + f[2]=3; + + for(int i=3;i<45;i++) f[i]=f[i-1]+f[i-2]; + + int T,n; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%d",&n); + printf("Scenario #%d:\n%d\n\n",i,f[n]); + } + + return 0; +} diff --git a/Tianjin Online Judge/1730 - Self Numbers.cpp b/Tianjin Online Judge/1730 - Self Numbers.cpp new file mode 100755 index 0000000..8089cad --- /dev/null +++ b/Tianjin Online Judge/1730 - Self Numbers.cpp @@ -0,0 +1,29 @@ +#include + +using namespace std; + +int main(){ + freopen("out.txt","w",stdout); + + bool M[10001]; + int ax,s; + + memset(M,true,sizeof(M)); + + for(int i=1;i<10001;i++){ + if(!M[i]) continue; + cout< +#include + +using namespace std; + +int main(){ + int f[13]; + + f[0]=0; + f[1]=1; + + for(int i=2;i<=12;i++){ + f[i]=INT_MAX; + + for(int j=1;j<=i;j++) f[i]=min(f[i],2*f[i-j]+(1< + +using namespace std; + +int main(){ + int T; + long long M[3][4]; + long long A,A1,A2,A3; + double x1,x2,x3; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + for(int j=0;j<3;j++) + for(int k=0;k<4;k++) scanf("%lld",&M[j][k]); + + A=(M[0][0]*M[1][1]*M[2][2]+M[1][0]*M[2][1]*M[0][2]+M[2][0]*M[0][1]*M[1][2])-(M[0][2]*M[1][1]*M[2][0]+M[1][2]*M[2][1]*M[0][0]+M[2][2]*M[0][1]*M[1][0]); + A1=(M[0][3]*M[1][1]*M[2][2]+M[1][3]*M[2][1]*M[0][2]+M[2][3]*M[0][1]*M[1][2])-(M[0][2]*M[1][1]*M[2][3]+M[1][2]*M[2][1]*M[0][3]+M[2][2]*M[0][1]*M[1][3]); + A2=(M[0][0]*M[1][3]*M[2][2]+M[1][0]*M[2][3]*M[0][2]+M[2][0]*M[0][3]*M[1][2])-(M[0][2]*M[1][3]*M[2][0]+M[1][2]*M[2][3]*M[0][0]+M[2][2]*M[0][3]*M[1][0]); + A3=(M[0][0]*M[1][1]*M[2][3]+M[1][0]*M[2][1]*M[0][3]+M[2][0]*M[0][1]*M[1][3])-(M[0][3]*M[1][1]*M[2][0]+M[1][3]*M[2][1]*M[0][0]+M[2][3]*M[0][1]*M[1][0]); + + printf("%lld %lld %lld %lld\n",A1,A2,A3,A); + + if(A==0) printf("No unique solution\n\n"); + else{ + x1=A1*1.0/A; + x2=A2*1.0/A; + x3=A3*1.0/A; + + if(-0.0005 +#include + +using namespace std; + +int n,l,a,b,x,y; + +int di[]={-2,-2,-1,-1,1,1,2,2}; +int dj[]={1,-1,2,-2,2,-2,1,-1}; + +struct nodo{ + int i; + int j; + int cost; + nodo(int x, int y, int z){ + i=x; + j=y; + cost=z; + } +}; + +bool visited[300][300]; + +int bfs(){ + queue Q; + Q.push(nodo(a,b,0)); + visited[a][b]=true; + + int I,J; + + while(!Q.empty()){ + nodo aux=Q.front(); + Q.pop(); + + if(aux.i==x && aux.j==y) return aux.cost; + + for(int i=0;i<8;i++){ + I=aux.i+di[i]; + J=aux.j+dj[i]; + if(I>=0 && I=0 && J>n; + for(int i=0;i +#include +#include + +using namespace std; + +int M[1025][1025]; +int sums_r[1025][1025]; +int total[1025][1025]; + +int main(){ + int T,d,n,m,r,c,x,cont; + + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d %d",&d,&n); + + for(int i=0;i<1025;i++) fill(M[i],M[i]+1025,0); + + for(int i=0;ix){ + x=total[i][j]; + r=i; + c=j; + } + + printf("%d %d %d\n",r,c,x); + } + + return 0; +} diff --git a/Tianjin Online Judge/1738 - Automatic Poetry.cpp b/Tianjin Online Judge/1738 - Automatic Poetry.cpp new file mode 100755 index 0000000..0159690 --- /dev/null +++ b/Tianjin Online Judge/1738 - Automatic Poetry.cpp @@ -0,0 +1,45 @@ +#include +#include +#include + +using namespace std; + +int main(){ + int n; + string l1,l2; + string s2,s3,s4,s5; + int pos1,pos2,pos3,pos4; + + cin>>n; + getline(cin,l1); + + for(int caso=1;caso<=n;caso++){ + getline(cin,l1); + getline(cin,l2); + + pos1=l1.find("<"); + pos2=l1.find(">"); + pos3=l1.find("<",pos1+1); + pos4=l1.find(">",pos2+1); + + s2=l1.substr(pos1+1,pos2-pos1-1); + s3=l1.substr(pos2+1,pos3-pos2-1); + s4=l1.substr(pos3+1,pos4-pos3-1); + s5=l1.substr(pos4+1,l1.size()-pos4-1); + + l1.erase(pos1,1); + l1.erase(pos2-1,1); + l1.erase(pos3-2,1); + l1.erase(pos4-3,1); + + cout< +#include + +using namespace std; + +string memo[600][600]; + +int c; +string s,sum; + +string suma(string a,string b) +{ + int c=0; + + if(a.size()>b.size()) b=string(a.size()-b.size(),'0')+b; + + if(b.size()>a.size()) a=string(b.size()-a.size(),'0')+a; + + sum.clear(); + sum.resize(a.size()); + + for(int i=a.size()-1;i>=0;i--){ + c+=(a[i]-'0')+(b[i]-'0'); + sum[i]=(char)('0'+c%10); + c/=10; + } + + if (c!=0){ + s=""; + s+=(char)(c+'0'); + sum.insert(0,s); + } + + return sum; +} + +string f(int N, int a){ + if(N==0) return "1"; + if(a>N) return "0"; + + if(memo[N][a].empty()) memo[N][a]=suma(f(N-a,a),f(N,a+1)); + + return memo[N][a]; +} + +int main(){ + int N; + + while(1){ + cin>>N; + if(N==0) break; + + cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int M[10][4]; + int n[10]; + + n[0]=1; M[0][0]=0; + n[1]=1; M[1][0]=1; + n[2]=4; M[2][1]=2; M[2][2]=4; M[2][3]=8; M[2][0]=6; + n[3]=4; M[3][1]=3; M[3][2]=9; M[3][3]=7; M[3][0]=1; + n[4]=2; M[4][1]=4; M[4][0]=6; + n[5]=1; M[5][0]=5; + n[6]=1; M[6][0]=6; + n[7]=4; M[7][1]=7; M[7][2]=9; M[7][3]=3; M[7][0]=1; + n[8]=4; M[8][1]=8; M[8][2]=4; M[8][3]=2; M[8][0]=6; + n[9]=2; M[9][1]=9; M[9][0]=1; + + string a,b; + int ax; + while(1){ + cin>>a>>b; + if(a=="0" && b=="0") break; + + if(b=="0"){ + cout<<1< +#include + +using namespace std; + +long long min(long long a, long long b){ + if(a v; + v.push_back(1); + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + double x1,y1,r1,x2,y2,r2; + scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&r1,&x2,&y2,&r2); + + if(r1 +#include + +using namespace std; + +int a[100],memo[100][100]; + +int solve(int s, int e){ + if(e==s+1) return 0; + int &aux = memo[s][e],aux2; + if(aux!=-1) return aux; + + for(int i=s+1;i + +using namespace std; + +int main(){ + int N; + scanf("%d",&N); + + int a[N]; + for(int i=0;i=0;i--){ + dp[i]=1; + + for(int j=i+1;j + +using namespace std; + +int main(){ + int N,P; + scanf("%d %d",&N,&P); + + int comp[N][P],min[N],max[N]; + + for(int i = 0;imax[i]) max[i] = comp[i][j]; + } + } + + int cont = 0; + + for(int i = 0;i=N){ + if(cont>0) printf(" "); + printf("%d",i+1); + ++cont; + } + } + + if(cont==0) printf("0"); + printf("\n"); + + return 0; +} diff --git a/Tianjin Online Judge/1771 - Rock-Paper-Scissors Tournament.cpp b/Tianjin Online Judge/1771 - Rock-Paper-Scissors Tournament.cpp new file mode 100755 index 0000000..17e9a73 --- /dev/null +++ b/Tianjin Online Judge/1771 - Rock-Paper-Scissors Tournament.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + int n,k,ax,a,b; + cin>>n; + while(true){ + cin>>k; + + ax=n*(n-1)/2*k; + + vector w(n,0); + vector l(n,0); + + for(int i=0;i>a>>s1>>b>>s2; + + if(s1==s2) ; + else if((s1=="paper"&&s2=="rock")||(s1=="scissors"&&s2=="paper") ||(s1=="rock"&&s2=="scissors")){ + w[a-1]++; + l[b-1]++; + }else{ + w[b-1]++; + l[a-1]++; + } + } + + for(int i=0;i>n; + if(n==0) break; + else cout< + +using namespace std; + +int memo[31][2][2][2]; + +int solve(int n, int a, int b, int c){ + if(n==0){ + if(a==0 && b==0 && c==0) return 1; + return 0; + } + + if(memo[n][a][b][c]!=-1) return memo[n][a][b][c]; + + int aux; + + if(a==0){ + if(b==0){ + if(c==0) aux=solve(n-1,1,1,1)+solve(n-1,0,0,1)+solve(n-1,1,0,0); + else aux=solve(n-1,0,0,0)+solve(n-1,1,1,0); + }else{ + if(c==0) aux=solve(n-1,1,0,1); + else aux=solve(n-1,1,0,0); + } + }else{ + if(b==0){ + if(c==0) aux=solve(n-1,0,0,0)+solve(n-1,0,1,1); + else aux=solve(n-1,0,1,0); + }else{ + if(c==0) aux=solve(n-1,0,0,1); + else aux=solve(n-1,0,0,0); + } + } + + memo[n][a][b][c]=aux; + return aux; +} + +int main(){ + for(int i=0;i<=30;i++) + for(int a=0;a<2;a++) + for(int b=0;b<2;b++) + for(int c=0;c<2;c++) + memo[i][a][b][c]=-1; + + int N; + + while(1){ + scanf("%d",&N); + if(N==-1) break; + + printf("%d\n",solve(N,0,0,0)); + } + + return 0; +} diff --git a/Tianjin Online Judge/1782 - The jackpot.cpp b/Tianjin Online Judge/1782 - The jackpot.cpp new file mode 100755 index 0000000..ed0beaa --- /dev/null +++ b/Tianjin Online Judge/1782 - The jackpot.cpp @@ -0,0 +1,30 @@ +#include + +using namespace std; + +int main(){ + int N,a[10000],dp[10000]; + int ans; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i?=dp[i]; + } + + if(ans<0) printf("Losing streak.\n"); + else printf("The maximum winning streak is %d.\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1785 - Jack.cpp b/Tianjin Online Judge/1785 - Jack.cpp new file mode 100755 index 0000000..cb48a40 --- /dev/null +++ b/Tianjin Online Judge/1785 - Jack.cpp @@ -0,0 +1,39 @@ +#include +#include + +using namespace std; + +char map[1000][1001]; +int R,C; +int memo[1000][1000]; + +long long ways(int r, int c){ + if(r==R-1 && c==C-1) return 1; + + if(memo[r][c]==-1){ + int aux=0; + + if(r!=R-1 && map[r+1][c]!='#') aux+=ways(r+1,c); + if(c!=C-1 && map[r][c+1]!='#') aux+=ways(r,c+1); + + memo[r][c]=aux; + } + + return memo[r][c]; +} + +int main(){ + int T; + + scanf("%d",&T); + + for(int i=0;i + +using namespace std; + +int M; + +int pot(int a, int b){ + if(b==0) return 1; + + int aux=pot(a,b/2); + + if(b%2==0) return (aux*aux)%M; + else return (((a*aux)%M)*aux)%M; +} + +int main(){ + int T,H,A,B,sum; + + scanf("%d",&T); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int numbers[100][1000]; + int T,R,S,n,I,J; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + printf("Skladacka cislo %d:\n",caso); + + scanf("%d %d",&R,&S); + + for(int i=0;i0 && numbers[I-1][J]==n){ + printf("Kamen %d presunut dolu.\n",n); + swap(numbers[I][J],numbers[I-1][J]); + I--; + }else if(I0 && numbers[I][J-1]==n){ + printf("Kamen %d presunut doprava.\n",n); + swap(numbers[I][J],numbers[I][J-1]); + J--; + }else if(J +#include + +using namespace std; + +struct nodo{ + int n; + nodo *next; + + nodo(){ + } +}; + +int main(){ + int a[3000]; + + nodo *L,*p; + L=NULL; + + for(int i=33810;i>=2;i--){ + p=new nodo; + (*p).next=L; + (*p).n=i; + L=p; + } + + int n; + + nodo *p2; + + for(int i=0;i<3000;i++){ + n=(*L).n; + p=L; + a[i]=n; + + while(1){ + for(int j=0;j +#include +#include +#include + +using namespace std; + +#define MAX_V 5000 + +vector L[MAX_V]; +int V,dfsPos,dfsNum[MAX_V],lowlink[MAX_V],num_scc,scc[MAX_V]; +bool in_stack[MAX_V]; +stack S; + +void tarjan(int v){ + dfsNum[v] = lowlink[v] = dfsPos++; + S.push(v); in_stack[v] = true; + + for(int i = L[v].size()-1;i>=0;--i){ + int w = L[v][i]; + + if(dfsNum[w]==-1){ + tarjan(w); + lowlink[v] = min(lowlink[v],lowlink[w]); + }else if(in_stack[w]) lowlink[v] = min(lowlink[v],lowlink[w]); + } + + if(dfsNum[v]==lowlink[v]){ + int aux; + + do{ + aux = S.top(); S.pop(); + scc[aux] = num_scc; + in_stack[aux] = false; + }while(aux!=v); + + ++num_scc; + } +} + +void build_scc(){ + memset(dfsNum,-1,sizeof(dfsNum)); + memset(in_stack,false,sizeof(in_stack)); + dfsPos = num_scc = 0; + + for(int i = 0;i=0;--j){ + int v = L[i][j]; + if(scc[v]!=scc[i]) bottom[scc[i]] = false; + } + } + + for(int i = 0,k = 0;i + +using namespace std; + +int main(){ + int T,N,M,R,C; + bool ok; + int X[100]; + int Y[100]; + int dir[100]; + char c; + + int dr[]={1,0,-1,0}; + int dc[]={0,1,0,-1}; + + int pos[100][100]; + + int n,m; + + scanf("%d",&T); + + for(int i=0;i=0 && Y[n]+k*dr[dir[n]]=0;k++){ + if(pos[X[n]+k*dc[dir[n]]][Y[n]+k*dr[dir[n]]]!=-1){ + printf("Robot %d crashes into robot %d\n",n+1,pos[X[n]+k*dc[dir[n]]][Y[n]+k*dr[dir[n]]]+1); + ok=false; + break; + } + } + + if(ok && (X[n]+m*dc[dir[n]]>=C || X[n]+m*dc[dir[n]]<0 || Y[n]+m*dr[dir[n]]>=R || Y[n]+m*dr[dir[n]]<0)){ + ok=false; + printf("Robot %d crashes into the wall\n",n+1); + } + + if(ok){ + pos[X[n]][Y[n]]=-1; + pos[X[n]+m*dc[dir[n]]][Y[n]+m*dr[dir[n]]]=n; + X[n]=X[n]+m*dc[dir[n]]; + Y[n]=Y[n]+m*dr[dir[n]]; + } + } + } + + if(ok) printf("OK\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1805 - Electrical Outlets.cpp b/Tianjin Online Judge/1805 - Electrical Outlets.cpp new file mode 100755 index 0000000..eea07a0 --- /dev/null +++ b/Tianjin Online Judge/1805 - Electrical Outlets.cpp @@ -0,0 +1,31 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,L; + + cin>>N; + + int sum,ax; + + for(int i=0;i>L; + + for(int j=0;j>ax; + sum+=ax; + } + + sum-=L; + + cout< +#include + +using namespace std; + +bool necklace(string s){ + string x; + int n=s.size(); + + for(int i=1;i>T; + + for(int i=0;i>s; + N=s.size(); + + for(int j=0;j!=N;){ + for(int k=N-j;;k--){ + x=s.substr(j,k); + if(necklace(x)){ + cout<<"("< +#include + +using namespace std; + +int main(){ + int K; + double a[20]; + + while(1){ + cin>>K; + if(K==0) break; + + for(int i=0;i>a[i]; + + sort(a,a+K); + + double S=a[0]; + bool found=false; + + for(int i=1;i +#include +#include + +using namespace std; + +struct team{ + string name; + long long solved, penalty; + + team(){ + } + + bool operator < (team X) const{ + if(solved!=X.solved) return solved>X.solved; + return penalty>n; + + team a[n]; + int num, time; + + for(int i=0;i>a[i].name; + + a[i].solved=0; + a[i].penalty=0; + + for(int j=0;j<4;j++){ + cin>>num>>time; + + if(time != 0){ + a[i].solved++; + + a[i].penalty+=time+20*(num-1); + } + } + } + + sort(a,a+n); + + cout< +#include +#include +#include +#include + +using namespace std; + +int main(){ + string s; + int n; + + vector v; + + while(getline(cin,s)){ + n=s.size(); + + for(int i=0;i>s) v.push_back(s); + } + + n=v.size(); + sort(v.begin(),v.end()); + + bool used[n]; + fill(used,used+n,false); + + int cont[n]; + fill(cont,cont+n,1); + + for(int i=0;i + +using namespace std; + +int pot3[12]; + +void print(int n){ + if(n==0){ + printf("-"); + return; + } + + print(n-1); + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double a,b,c; + const double eps=1e-6; + bool found; + + while(1){ + cin>>a>>b>>c; + if(a<=eps && b<=eps && c<=eps) break; + + found=false; + + if(a<=4.5+eps && b>=150-eps && c>=200-eps){ + cout<<"Wide Receiver "; + found=true; + } + + if(a<=6+eps && b>=300-eps && c>=500-eps){ + cout<<"Lineman "; + found=true; + } + + if(a<=5+eps && b>=200-eps && c>=300-eps){ + cout<<"Quarterback "; + found=true; + } + + if(!found) cout<<"No positions"; + cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1="VWXYZABCDEFGHIJKLMNOPQRSTU",s; + + char M[26]; + + for(int i=0;i<26;i++) M[i]=s1[i]; + + while(1){ + getline(cin,s); + if(s=="START") continue; + if(s=="END"){ + cout<='A'&&s[i]<='Z') cout< +#include +#include + +using namespace std; + +struct song{ + int id, L; + double f; + + song(){} + + song(int _id, int _L, double _f){ + id = _id; L = _L; f = _f; + } + + bool operator < (song X) const{ + return (f/L>X.f/X.L); + } +}; + +int main(){ + int n,S,id,L; + double f; + + while(cin>>n){ + vector a; + + for(int i=0;i>id>>L>>f; + a.push_back(song(id,L,f)); + } + + cin>>S; + + sort(a.begin(),a.end()); + + cout< +#include +#include +#include + +using namespace std; + +int sum=0; +int sudoku[9][9]; +bool solved; +bool f[9][10]; +bool c[9][10]; +bool cuadro[9][10]; + +void solve(int x, int y) +{ + if(x==9 && y==0) + { + for(int i=0;i<9;i++){ + for(int j=0;j<9;j++){ + cout<>n; + string s; + getline(cin,s); + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,n,cont,raiz; + bool primo[1010]; + vector p; + + memset(primo,1,sizeof(primo)); + + p.push_back(2); + + primo[0]=primo[1]=0; primo[2]=1; + + for(int i=3;i<1010;i+=2){ + if(primo[i]){ + p.push_back(i); + for(int j=2;j*i<1010;j++) primo[i*j]=0; + } + } + + while(1){ + cin>>N; + if(N==0) break; + + cont=0; + n=N; + + for(int i=0;p[i]<=sqrt(N);i++){ + if(N%p[i]==0){ + while(N%p[i]==0) N/=p[i]; + cont++; + } + } + if(N!=1) cont++; + cout< +#include + +using namespace std; + +int main(){ + double d,v,u,t1,t2; + int T; + + cin>>T; + for(int caso=0;caso>d>>v>>u; + + if(v>=u || u==0 || v==0){ + printf("Case %d: can't determine\n",caso+1); + continue; + } + + t1=d/u; + t2=d/sqrt(u*u-v*v); + + printf("Case %d: %.3lf\n",caso+1,fabs(t2-t1)); + } +} diff --git a/Tianjin Online Judge/1884 - Pascal's Travels.cpp b/Tianjin Online Judge/1884 - Pascal's Travels.cpp new file mode 100755 index 0000000..1206c5e --- /dev/null +++ b/Tianjin Online Judge/1884 - Pascal's Travels.cpp @@ -0,0 +1,35 @@ +#include +#include + +using namespace std; + +char board[34][34]; +long long memo[34][34]; +int n; + +long long paths(int I, int J){ + if(I>=n || J>=n) return 0; + if(I==n-1 && J==n-1) return 1; + if(board[I][J]=='0') return 0; + + if(memo[I][J]!=-1) return memo[I][J]; + + memo[I][J]=paths(I+board[I][J]-'0',J)+paths(I,J+board[I][J]-'0'); + + return memo[I][J]; +} + +int main(){ + while(1){ + scanf("%d\n",&n); + if(n==-1) break; + + for(int i=0;i +#include +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int W[101]; +int T[101]; + +bool orden(pair a, pair b){ + return a.second > b.second; +} + +int main(){ + int w, caso=0, ind, width, total, t, aux, minT; + char c; + while(1){ + scanf("%d\n",&w); + caso++; + if(w==-1) break; + + total=0,t=0; + + memset(T, 0, sizeof(T)); + + while(1){ + scanf("%c",&c); + if(c=='E') break; + else if(c=='A'){ + t++; + + scanf("%d %d\n",&ind,&width); + + W[ind]=width; + T[ind]=t; + + total+=width; + + while(total>w){ + minT=(1<<30); + for(int i=1; i<=100; i++){ + if(T[i]!=0 && T[i] > v; + + for(int i=1; i<=100; i++) + if(T[i]) v.push_back(make_pair(i, T[i])); + + sort(all(v), orden); + + for(int i=0; i +#include +#include + +using namespace std; + +struct p{ + int x,y; + + p(){ + } + p(int a, int b){ + x=a; + y=b; + } +}; + +struct seg{ + p p1,p2; + + seg(p a, p b){ + p1.x=a.x; + p1.y=a.y; + p2.x=b.x; + p2.y=b.y; + } +}; + +int N,M; +vector v; + +int area(p A, p B, p C){ + return A.x*B.y+B.x*C.y+C.x*A.y-A.y*B.x-B.y*C.x-C.y*A.x; +} + +bool intersection(seg A, seg B){ + if(A.p1.x==B.p1.x && A.p1.y==B.p1.y) return false; + if(A.p1.x==B.p2.x && A.p1.y==B.p2.y) return false; + if(A.p2.x==B.p1.x && A.p2.y==B.p1.y) return false; + if(A.p2.x==B.p2.x && A.p2.y==B.p2.y) return false; + + if(area(A.p1,B.p2,A.p2)*area(A.p1,B.p1,A.p2)<0 && area(B.p1,A.p2,B.p2)*area(B.p1,A.p1,B.p2)<0) return true; + return false; +} + +int di[]={1,1,-1,-1,2,2,-2,-2}; +int dj[]={2,-2,2,-2,1,-1,1,-1}; +int I,J; +bool unidos[21][21][21][21]; +bool used[21][21]; +bool visited[21][21]; + +bool dfs(){ + pair P; + memset(visited,false,sizeof(visited)); + + for(int i=0;i<=N;i++){ + if(used[0][i] && !visited[0][i]){ + stack< pair > S; + + S.push(make_pair(0,i)); + visited[0][i]=true; + + while(!S.empty()){ + P=S.top(); + S.pop(); + + if(P.first==N) return true; + + for(int j=0;j<8;j++){ + I=P.first+di[j]; + J=P.second+dj[j]; + + if(I>=0 && I<=N && J>=0 && J<=N && !visited[I][J] && unidos[P.first][P.second][I][J]){ + visited[I][J]=true; + S.push(make_pair(I,J)); + } + } + } + } + } + + return false; +} + +int main(){ + int x,y; + bool ok; + bool color[21][21]; + + while(1){ + cin>>N>>M; + if(N==0) break; + + v.clear(); + + memset(unidos,false,sizeof(unidos)); + memset(used,false,sizeof(used)); + + for(int i=0;i>x>>y; + + used[x][y]=true; + color[x][y]=i%2; + + for(int j=0;j<8;j++){ + I=x+di[j]; + J=y+dj[j]; + + if(I>=0 && I<=N && J>=0 && J<=N && used[I][J] && color[I][J]==i%2){ + ok=true; + + for(int k=0;k + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int a,b,c,d; + double x,y; + + while(1){ + scanf("%d %d %d %d",&a,&b,&c,&d); + + if(a==0 && b==0 && c==0 && d==0) break; + + for(int i=100;i>=1;i--){ + x=a*i/100.0; + y=b*i/100.0; + + if((x<=c && y<=d)||(x<=d && y<=c)){ + cout< +#include +#include +#include +#include +#include + +using namespace std; + +int n,m,d; +char map1[20][21]; +char map2[20][21]; + +int flow[802][802]; +int cap[802][802]; +vector< vector > L; +int prev[802]; + +bool escape(int i, int j){ + if(i+1<=d || j+1<=d || n-i<=d || m-j<=d) return true; + return false; +} + +bool augmenting(int &N){ + fill(prev,prev+N,-1); + queue Q; + Q.push(0); + prev[0]=-2; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i0){ + cap[N2+i1*m+j1][N1+i2*m+j2]=INT_MAX; + L[N2+i2*m+j2].push_back(N1+i1*m+j1); + L[N1+i1*m+j1].push_back(N2+i2*m+j2); + } + + f=0; + + while(augmenting(N)) f++; + + printf("Case #%d: ",caso); + + if(f==cont) printf("no lizard was left behind.\n"); + else if(cont-f==1) printf("1 lizard was left behind.\n"); + else printf("%d lizards were left behind.\n",cont-f); + } + + return 0; +} diff --git a/Tianjin Online Judge/1892 - Netiquette.cpp b/Tianjin Online Judge/1892 - Netiquette.cpp new file mode 100755 index 0000000..571ca0f --- /dev/null +++ b/Tianjin Online Judge/1892 - Netiquette.cpp @@ -0,0 +1,55 @@ +#include +#include + +using namespace std; + +bool cond1(string s){ + for(int i=0;i+1='a' && c<='z') || (c>='A' && c<='Z'); +} + +bool cond2(string s){ + for(int i=0;i+1 +#include +#include +#include + +using namespace std; + +struct punto{ + int x,y; + + punto(){ + } + + punto(int a, int b){ + x=a; + y=b; + } + + bool operator < (punto P) const{ + if(x!=P.x) return xP.y; + } +}; + +int area(punto A, punto B, punto C){ + return A.x*B.y+B.x*C.y+C.x*A.y-A.y*B.x-B.y*C.x-C.y*A.x; +} + +double length(vector &P){ + int k=0; + sort(P.begin(),P.end()); + + int n=P.size(); + vector H(2*n); + + for(int i=0;i=2 && area(H[k-2],H[k-1],P[i])<=0) k--; + H[k++]=P[i]; + } + + for(int i=n-1,t=k;i>=0;i--){ + while(k>t && area(H[k-2],H[k-1],P[i])<=0) k--; + H[k++]=P[i]; + } + + + double ans=0.0; + + for(int i=0;i P; + double extra,L; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + value=0; + aux_l=0; + + for(int i=0;ivalue) continue; + + L=length(P); + + if(aux_l>L){ + if(aux_value + +using namespace std; + +int main(){ + int n,m; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + printf("Printing order for %d pages:\n",n); + + if(n==1){ + printf("Sheet 1, front: Blank, 1\n"); + continue; + } + + m=(n+3)/4; + + for(int i=1;i<=m;i++){ + printf("Sheet %d, front:",i); + + if(4*m-2*i+2>n) printf(" Blank,"); + else printf(" %d,",4*m-2*i+2); + printf(" %d\n",2*i-1); + + printf("Sheet %d, back :",i); + + printf(" %d,",2*i); + if(4*m-2*i+1>n) printf(" Blank\n"); + else printf(" %d\n",4*m-2*i+1); + } + } + + return 0; +} diff --git a/Tianjin Online Judge/1902 - Finding Rectangles.cpp b/Tianjin Online Judge/1902 - Finding Rectangles.cpp new file mode 100755 index 0000000..400d49a --- /dev/null +++ b/Tianjin Online Judge/1902 - Finding Rectangles.cpp @@ -0,0 +1,64 @@ +#include +#include + +using namespace std; + +struct point{ + char c; + int x,y; + + point(){ + } + + point(char _c, int _x, int _y){ + c=_c; + x=_x; + y=_y; + } +}; + +int main(){ + int n,set=1,cont; + point a[26]; + point P; + + while(1){ + scanf("%d\n",&n); + if(n==0) break; + + for(int i=0;i=a[i2].x) continue; + + for(int i3=0;i3=a[i1].y) continue; + if(cont%10==0) printf("\n"); + + printf(" %c%c%c%c",a[i1].c,a[i2].c,a[i3].c,a[i4].c); + + cont++; + } + } + } + } + + if(cont==0) printf(" No rectangles"); + + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/1903 - Word Amalgamation.cpp b/Tianjin Online Judge/1903 - Word Amalgamation.cpp new file mode 100755 index 0000000..e4075ec --- /dev/null +++ b/Tianjin Online Judge/1903 - Word Amalgamation.cpp @@ -0,0 +1,39 @@ +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + set S; + bool ok; + + while(1){ + cin>>s; + if(s=="XXXXXX") break; + S.insert(s); + } + + while(1){ + cin>>s; + if(s=="XXXXXX") break; + + sort(s.begin(),s.end()); + ok=0;; + + do{ + if(S.find(s)!=S.end()){ + cout< +#include +#include + +using namespace std; + +struct punto{ + char letra; + int x; + int y; + + punto(char a, int b, int c){ + letra=a; + x=b; + y=c; + } +}; + +vector v; + +int area(int a, int b, int c){ + return abs(v[a].x*v[b].y+v[b].x*v[c].y+v[c].x*v[a].y-v[a].y*v[b].x-v[b].y*v[c].x-v[c].y*v[a].x); +} + +int S,S1,S2,S3; + +bool comprobar(int a, int b, int c){ + + for(int i=0;i>n; + if(n==0) break; + + v.clear(); + + for(int i=0;i>letra>>x>>y; + v.push_back(punto(letra,x,y)); + } + + A_max=-1; + s=" "; + + for(int i=0;iA_max && comprobar(i,j,k)){ + A_max=S; + s[0]=v[i].letra; + s[1]=v[j].letra; + s[2]=v[k].letra; + } + } + } + } + + cout< +#include +#include +#include + +using namespace std; + +struct nodo{ + int m; + int n; + string s; + + nodo(int a, int b, string c){ + m=a; + n=b; + s=c; + } +}; + +map > M; +vector v,v1,v2,v3,v4; + +int mcd(int a, int b){ + if(a%b==0) return b; + return mcd(b,a%b); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int m,n,a,b,d; + char signo; + string s1,s2; + bool enc; + + while(1){ + cin>>signo; + if(signo=='.') break; + else if(signo=='!'){ + cin>>m>>s1>>signo>>n>>s2; + + d=mcd(m,n); + m/=d; + n/=d; + + v1=M[s1]; + v2=M[s2]; + M[s1].push_back(nodo(m,n,s2)); + + for(int i=0;i>s1>>signo>>s2; + v=M[s1]; + enc=false; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int meses; + int num; + int cont; + int n; + double pago; + double prestamo; + double value; + double debe; + double porc; + double mensual; + double L[150]; + + while(1){ + cin>>meses>>pago>>prestamo>>num; + + if(meses<0) break; + + fill(L,L+150,-1.0); + + for(int i=0;i>n>>porc; + L[n]=porc; + } + + for(int i=1;i<150;i++) + if(L[i]==-1.0) L[i]=L[i-1]; + + mensual=prestamo/meses; + value=prestamo+pago; + debe=prestamo; + cont=0; + + while(1){ + value*=(1-L[cont]); + + if(debe +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,ax; + string s1,s2; + + vector v1; + vector v2; + + while(1){ + cin>>n; + if(n==0) break; + + v1.clear(); + v2.clear(); + + getline(cin,s1); + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int F,C,f,c,cont; + vector grid; + string s; + int visited[10][10]; + bool loop; + + while(1){ + cin>>F>>C>>c; + if(F==0 && C==0 && c==0) break; + + f=0; + c--; + + grid.clear(); + + for(int i=0;i>s; + grid.push_back(s); + } + + memset(visited,-1,sizeof(visited)); + cont=0; + loop=false; + + visited[f][c]=0; + + while(1){ + cont++; + + if(grid[f][c]=='N') f--; + else if(grid[f][c]=='S') f++; + else if(grid[f][c]=='W') c--; + else c++; + + if(f<0 || f>=F || c<0 || c>=C) break; + + if(visited[f][c]!=-1){ + loop=true; + break; + }else visited[f][c]=cont; + } + + if(!loop) cout< +#include + +using namespace std; + +struct nodo{ + int visited[6]; + int pos; + int suma; + int cont; +}; + +int num[6][3]; +int mx; +vector< vector > v; +vector ax; +bool M[18][18]; + +void bfs(){ + queue Q; + mx=-1; + + nodo aux; + for(int i=0;i<6;i++) + aux.visited[i]=-1; + + aux.cont=1; + + for(int i=0;i<3;i++){ + aux.visited[0]=i; + aux.suma=v[i][1]; + aux.pos=i; + Q.push(aux); + } + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + + if(aux.cont==6){ + if(aux.visited[0]==0 && M[aux.pos][0]) mx=max(mx,aux.suma); + else if(aux.visited[0]==1 && M[aux.pos][1]) mx=max(mx,aux.suma); + else if(aux.visited[0]==2 && M[aux.pos][2]) mx=max(mx,aux.suma); + continue; + } + + for(int i=0;i<18;i++){ + if(aux.visited[i/3]==-1 && M[aux.pos][i]){ + nodo ax; + for(int j=0;j<6;j++) ax.visited[j]=aux.visited[j]; + ax.visited[i/3]=i%3; + ax.pos=i; + ax.suma=aux.suma+v[i][1]; + ax.cont=aux.cont+1; + + Q.push(ax); + } + } + } +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + char signo; + + + while(1){ + for(int i=0;i<6;i++) + for(int j=0;j<3;j++) + cin>>num[i][j]; + + v.clear(); + + for(int i=0;i<6;i++){ + for(int j=0;j<3;j++){ + ax.clear(); + ax.push_back(num[i][j]); + ax.push_back(num[i][(j+1)%3]); + ax.push_back(num[i][(j+2)%3]); + v.push_back(ax); + } + } + + memset(M,false,sizeof(M)); + + for(int i=0;i<18;i++) + for(int j=0;j<18;j++) + if(v[i][2]==v[j][0] && i/3!=j/3) M[i][j]=true; + + + bfs(); + + if(mx==-1) cout<<"none"<>signo; + if(signo=='$') break; + } + + return 0; +} diff --git a/Tianjin Online Judge/1911 - Easier Done than Said.cpp b/Tianjin Online Judge/1911 - Easier Done than Said.cpp new file mode 100755 index 0000000..8971177 --- /dev/null +++ b/Tianjin Online Judge/1911 - Easier Done than Said.cpp @@ -0,0 +1,58 @@ +#include +#include + +using namespace std; + +bool vocal(char c){ + return (c=='a' || c=='e' || c=='i' || c=='o' || c=='u'); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s,aux; + int cont; + bool ok,b1,b2,b3; + + while(1){ + cin>>s; + if(s=="end") break; + + ok=false; + + for(int i=0;i1){ + + for(int i=0;i2){ + for(int i=0;i is acceptable."< is not acceptable."< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,board,cards,enc; + int pos[4]; + vector v; + bool ok; + + string s,ax; + + while(1){ + scanf("%d %d %d",&N,&board,&cards); + if(N==0) break; + + cin>>s; + + v.clear(); + + for(int i=0;i>ax; + v.push_back(ax); + } + + ok=false; + for(int i=0;i +#include + +using namespace std; + +struct punto{ + int x; + int y; + + punto(int a, int b){ + x=a; + y=b; + } +}; + +int dist2(punto a, punto &b){ + return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); +} + +int area(punto &a, punto &b, punto &c){ + return a.x*b.y+b.x*c.y+c.x*a.y-a.y*b.x-b.y*c.x-c.y*a.x; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int Ox,Oy,x,y,N,mx,cont1,cont2,S; + double r; + + vector v; + vector m; + + while(1){ + cin>>Ox>>Oy>>r; + if(r<0) break; + + cin>>N; + punto O=punto(Ox,Oy); + + v.clear(); + for(int i=0;i>x>>y; + if(dist2(punto(x,y),O)<=r*r) v.push_back(punto(x,y)); + } + + mx=0; + + for(int i=0;i0) cont1++; + else cont2++; + } + mx=max(mx,max(cont1,cont2)); + } + + cout< +#include + +using namespace std; + +int main(){ + int k1,k2,k3,cont; + int pos1[80]; + int pos2[80]; + string s; + + while(1){ + cin>>k1>>k2>>k3; + if(k1==0 && k2==0 && k3==0) break; + + cin>>s; + + string decoded(s.size(),' '); + + cont=0; + for(int i=0;i='a' && s[i]<='i') + pos1[cont++]=i; + + if(cont!=0){ + for(int i=0;i='j' && s[i]<='r') + pos1[cont++]=i; + + if(cont!=0){ + for(int i=0;i='s' && s[i]<='z') || s[i]=='_') + pos1[cont++]=i; + + if(cont!=0){ + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + double sum,tot; + + while(1){ + cin>>tot; + if(tot==0.00) break; + + n=2; + sum=0.00; + + while(sum +#include + +using namespace std; + +struct nodo{ + int r,c; + + nodo(){ + } + + nodo(int _r, int _c){ + r=_r; + c=_c; + } +}; + +int main(){ + int R,C,r0,c0,r,c; + int dr[]={1,-1,0,0,1,1,-1,-1}; + int dc[]={0,0,1,-1,1,-1,1,-1}; + queue Q; + nodo aux; + + char M[20][21]; + bool visited[20][20]; + + int p; + + while(1){ + scanf("%d %d %d %d",&R,&C,&r0,&c0); + if(R==0) break; + + for(int i=0;i0 && M[aux.r-1][aux.c]=='.') p++; + if(aux.r0 && M[aux.r][aux.c-1]=='.') p++; + if(aux.c=0 && r=0 && c +#include + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int n,m,cont; + string s; + + char M[26]; + + while(1){ + cin>>n; + if(n==0) break; + + cin>>s; + + memset(M,0,sizeof(M)); + m=0; + cont=0; + + for(int i=0;in){ + cont++; + M[s[i]-'A']=-1; + } + } + if(cont==0) cout<<"All customers tanned successfully."< +#include + +using namespace std; + +int n; +int M[26][26]; +int N[26][26]; +int gr[26]; + +void prim(){ + vector d(n,(1<<30)); + int v; + vector intree(n,false); + int dist=0; + int tot=0; + + v=0; + + while(!intree[v]){ + tot+=dist; + intree[v]=true; + + for(int i=0;i>n){ + if(n==0) break; + + memset(gr,0,sizeof(gr)); + + for(int i=0;i>vill; + cin>>k; + for(int j=0;j>vill; + M[i][gr[i]++]=vill-'A'; + M[vill-'A'][gr[vill-'A']++]=i; + cin>>x; + N[i][vill-'A']=x; + N[vill-'A'][i]=x; + } + } + + + prim(); + + } + + return 0; +} diff --git a/Tianjin Online Judge/1925 - Clay Bully.cpp b/Tianjin Online Judge/1925 - Clay Bully.cpp new file mode 100755 index 0000000..5b98ca8 --- /dev/null +++ b/Tianjin Online Judge/1925 - Clay Bully.cpp @@ -0,0 +1,48 @@ +#include +#include +#include + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int n; + vector v; + vector vol; + string s; + int ax1,ax2,prom,a,b; + + while(1){ + cin>>n; + if(n==-1) break; + + v.clear();vol.clear(); + + prom=0; + + for(int i=0;i>ax1;ax2*=ax1; + cin>>ax1;ax2*=ax1; + cin>>ax1;ax2*=ax1; + vol.push_back(ax2); + prom+=ax2; + + cin>>s; + v.push_back(s); + } + + prom/=n; + + for(int i=0;iprom) b=i; + } + + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int M[15]; + int n,ax; + bool N[100]; + + while(1){ + cin>>ax; + n=0; + memset(N,0,sizeof(N)); + + if(ax==-1) break; + + while(ax!=0){ + M[n++]=ax; + N[ax]=1; + cin>>ax; + } + + ax=0; + + for(int i=0;i +#include + +using namespace std; + +int n; + +string s; + +void imp(int a){ + if(a==n){ + cin>>s; + cout<>s; + cout<>s; + cout<>s>>s2; + cout<>n; + if(n==0) break; + + cout<<"SET "< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + short m; + + int t1,t2,mx,cont,a,b; + + while(true){ + cin>>m; + if(m==0) break; + + t1=0; t2=0; + mx=0; cont=0; + + while(true){ + cin>>a>>b; + if(a==-1 && b==-1) break; + + if(cont+a<=m){ + mx=max(mx,b); + cont+=a; + }else{ + t1=max(t1,cont); + t2+=mx; + mx=b; + cont=a; + } + } + if(mx!=0){ + t1=max(t1,cont); + t2+=mx; + } + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,s,t,ax,tot; + + while(cin>>n){ + if(n==-1) break; + + ax=0;tot=0; + + for(int i=0;i>s>>t; + + tot+=s*(t-ax); + ax=t; + } + cout< + +using namespace std; + +#define min(x,y) (x)<(y)? (x):(y) +#define max(x,y) (x)>(y)? (x):(y) + +int main(){ + int n,x[1000],y[1000],z[1000],d[1000]; + int xl,xh,yl,yh,zl,zh,ans; + + while(true){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;i=xh || yl>=yh || zl>=zh){ + ans = 0; + break; + } + } + + if(ans==-1) ans = (xh-xl)*(yh-yl)*(zh-zl); + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/1945 - Perfect Cubes.cpp b/Tianjin Online Judge/1945 - Perfect Cubes.cpp new file mode 100755 index 0000000..ed54658 --- /dev/null +++ b/Tianjin Online Judge/1945 - Perfect Cubes.cpp @@ -0,0 +1,31 @@ +#include + +using namespace std; + +int cubo[201]; + +int main(){ + + int s,d; + + for(int i=0;i<201;i++) cubo[i]=i*i*i; + + for(int a=2;a<201;a++){ + s=0; + for(int b=2;3*cubo[b]<=cubo[a];b++){ + s+=cubo[b]; + for(int c=b;2*cubo[c]<=(cubo[a]-cubo[b]);c++){ + s+=cubo[c]; + + d=c; + while(s+cubo[d] +#include +#include +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + string s; + int coef,exp; + bool ok; + + while(getline(cin,s)){ + istringstream is(s); + exp=8; + ok=true; + while(is>>coef){ + if(coef!=0){ + if(coef!=1){ + if(coef==-1){ + if(exp==0 && ok) cout<<-1; + else if(exp==0) cout<<" - "<<1; + else if(!ok) cout<<" - "; + else cout<<"-"; + } + else if(coef<0 && ok) cout<0) cout<<"x"; + if(exp>1) cout<<"^"< +#include +#include + +using namespace std; + +int m,n,cont; +vector v; +string s; +bool visited[100][100]; + +int di[]={1,1,1,-1,-1,-1,0,0}; +int dj[]={1,0,-1,1,0,-1,1,-1}; + +void dfs(int a, int b){ + + visited[a][b]=1; + int I,J; + + for(int i=0;i<8;i++){ + I=a+di[i]; + J=b+dj[i]; + if(I>=0 && I=0 && J>m>>n; + if(m==0) break; + + v.clear(); + + for(int i=0;i>s; + v.push_back(s); + } + + cont=0; + memset(visited,0,sizeof(visited)); + + for(int i=0;i +#include + +using namespace std; + +int t,n,s=0; +vector< vector > u; +vector v; +vector aux; + +void b(int a){ + if(a>n) return; + + if(s==t){ + u.push_back(aux); + return; + } + if(s>t) return; + + aux.push_back(v[a]); + s+=v[a]; + b(a+1); + aux.erase(aux.begin()+aux.size()-1); + s-=v[a]; + + b(a+1); + + return; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int ax; + + while(true){ + cin>>t>>n; + if(n==0) break; + + v.clear(); + for(int i=0;i>ax; + v.push_back(ax); + } + + u.clear(); + b(0); + + if(u.size()==0){ + cout<<"Sums of "< +#include + +using namespace std; + +bool vocal(char c) +{ + return c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='y'; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + short cont; + int ax; + + while(getline(cin,s)) + { + if(s=="e/o/i") break; + cont=0; + + ax=0; + while(s[ax]!='/'){ + if(vocal(s[ax])){ + cont++; + while(vocal(s[ax])) ax++; + continue; + } + ax++; + } + ax++; + if(cont!=5){ + cout<<1< +#include +#include +#include + +using namespace std; + +int ax1,ax2; + +int conv(string s, int b){ + ax1=0;ax2=1; + + for(int i=s.size()-1;i>=0;i--){ + ax1+=(s[i]-'0')*ax2; + ax2*=b; + } + return ax1; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector v; + vector u; + + short n; + string s; + int mn; + bool ok,solved; + + while(true){ + cin>>n; + if(n==0) break; + v.clear(); + + for(int i=0;i>s; + v.push_back(s); + } + + mn=-1; + + for(int i=0;i +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,M,i,j,cont; + cin>>N; + string s; + for(i=1;i<=N;i++){ + cin>>M; + cont=0; + for(j=0;j>s; + if(s=="sheep") cont++; + } + cout<<"Case "< +#include + +using namespace std; + +char M[1000][1000]; + +int main(){ + int n,m,Q,K,P,Qr[100],Qc[100],Kr[100],Kc[100],Pr,Pc,r,c,tc=1,cont; + int dr1[]={-1,-1,-1,1,1,1,0,0},dc1[]={-1,1,0,-1,1,0,-1,1}; + int dr2[]={-2,-2,2,2,-1,-1,1,1},dc2[]={-1,1,-1,1,-2,2,-2,2}; + + while(1){ + scanf("%d %d",&n,&m); + if(n==0) break; + + for(int i=0;i=0 && r=0 && c=0 && r=0 && c +#include +#include + +using namespace std; + +int C[1000],memo[1000][1000]; + +int solve(int a, int b, int p){ + if(a>b) return 0; + + int &ret = memo[a][b]; + if(ret!=-1) return ret; + + if(p==0) ret = max(C[a]-solve(a+1,b,1-p),C[b]-solve(a,b-1,1-p)); + else{ + if(C[a]>=C[b]) ret = C[a]-solve(a+1,b,1-p); + else ret = C[b]-solve(a,b-1,1-p); + } + + return ret; +} + +int main(){ + int tc = 1,N; + + while(true){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + bool p[10000]; + fill(p,p+10000,true); + + set S; + int sum=0; + int a[1230]; + a[0]=0; + int P[1229]; + + for(int i=2,j=0;i<10000;i++) + if(p[i]){ + sum+=i; + S.insert(sum); + P[j]=i; + a[++j]=sum; + + for(int j=i*i;j<10000;j+=i) p[j]=false; + } + + int n,cont; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + cont=0; + + for(int i=0;P[i]<=n && i<1229;i++) + if(S.find(n+a[i])!=S.end()) cont++; + + printf("%d\n",cont); + } + + return 0; +} diff --git a/Tianjin Online Judge/2020 - Palindromes.cpp b/Tianjin Online Judge/2020 - Palindromes.cpp new file mode 100755 index 0000000..0421496 --- /dev/null +++ b/Tianjin Online Judge/2020 - Palindromes.cpp @@ -0,0 +1,41 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1="ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"; + string s2="A 3 HIL JM O 2TUVWXY51SE Z 8 "; + + map M; + + for(int i=0;i>cad){ + palindrome=mirrored=1; + + n=strlen(cad); + + for(int i=0;i<=n/2;i++){ + if(cad[i]!=cad[n-1-i]) palindrome=0; + if(cad[n-1-i]!=M[cad[i]]) mirrored=0; + } + + if(palindrome && mirrored) cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,C; + + bool p[1001]; + vector primos; + vector v; + + memset(p,true,sizeof(p)); + + p[0]=0; + primos.push_back(1); + + for(int i=2;i<1001;i++){ + if(p[i]){ + primos.push_back(i); + + for(int j=2;j*i<1001;j++) p[j*i]=0; + } + } + + while(cin>>N>>C){ + v.clear(); + + for(int i=0;primos[i]<=N && iv.size()) for(int i=0;iv.size()) for(int i=0;i +#include + +using namespace std; + +int mcd(int a, int b){ + if(a%b==0) return b; + return mcd(b,a%b); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int step,mod; + + while(cin>>step>>mod){ + cout< + +using namespace std; + +int min(int &a, int b){ + if(a +#include + +using namespace std; + +int memo[10001]; +int v[]={6,2,8,4}; + +int DIG(int n) +{ + if(n==0) return 1; + + if(memo[n]!=-1) return memo[n]; + + if(n%5==0) + { + int k=n; + int j=DIG(n-1); + while(k%10==0) + k/=10; + + while(k%5==0) + { + k/=5; + j=v[j/2-1]; + } + j=(j*k)%10; + memo[n]=j; + return j; + } + + + int x=DIG(n-1)*n; + if(x%10!=0) x%=10; + else + { + while(x%10==0) + x/=10; + x%=10; + } + memo[n]=x; + return x; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + + memset(memo,-1,sizeof(memo)); + + while(cin>>N) + cout< "< +#include + +using namespace std; + +int mcd(int a, int b){ + if(a%b==0) return b; + return mcd(b,a%b); +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int a,b; + double pres; + int ax; + int i; + int dem; + bool inicio=true; + while(cin>>a>>b){ + if(!inicio) cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int a,b,c; + + cin>>a>>b>>c; + + if(a<=168) cout<<"CRASH "< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int f0,f1,f2; + int A,B; + + while(cin>>f0>>f1>>f2){ + A=(f2-2*f1+f0)/2; + B=(-f2+4*f1-3*f0)/2; + + cout< +#include +#include +#include + +using namespace std; + +int main(){ + int T,N,prev[99],aux,end; + char type[100],line[601],text[99][256]; + vector L[99]; + bool visited[99]; + int ans[99],sz; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d\n",&N); + + memset(text,'\0',sizeof(text)); + memset(visited,false,sizeof(visited)); + + for(int i=0;i='0' && line[j]<='9'){ + if(aux==-1) aux = 0; + aux = aux*10+(line[j]-'0'); + if(j==l-1){ + L[i].push_back(aux-1); + aux = -1; + } + }else{ + if(aux!=-1) L[i].push_back(aux-1); + aux = -1; + } + } + }else if(line[pos+2]!='H') visited[i] = true; + } + + queue Q; + Q.push(0); + visited[0] = true; + + while(!Q.empty()){ + int aux = Q.front(); + Q.pop(); + + if(type[aux]=='E'){ + end = aux; + break; + } + + for(int i=L[aux].size()-1;i>=0;--i){ + int v = L[aux][i]; + if(visited[v]) continue; + + Q.push(v); + visited[v] = true; + prev[v] = aux; + } + } + + sz = 0; + + while(end!=0){ + ans[sz++] = end; + end = prev[end]; + } + + ans[sz++] = 0; + + printf("STORY %d\n",tc); + for(int i=sz-1;i>=0;--i) printf("%s\n",text[ans[i]]); + } + + return 0; +} diff --git a/Tianjin Online Judge/2066 - No Brainer.cpp b/Tianjin Online Judge/2066 - No Brainer.cpp new file mode 100755 index 0000000..bdf1787 --- /dev/null +++ b/Tianjin Online Judge/2066 - No Brainer.cpp @@ -0,0 +1,32 @@ +#include +#include + +using namespace std; + +bool menor(string &a, string &b){ + if(a.size()b.size()) return false; + + for(int i=0;ib[i]) return false; + } + + return false; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + int n; + + cin>>n; + + for(int i=0;i>s1>>s2; + if(menor(s1,s2)) cout<<"NO BRAINS"< +#include + +using namespace std; + +double memo[20][61][61]; + +int N; + +double fA(int n, int A, int B){ + if(n==N){ + if(A>B) return 1.0; + return 0.0; + } + + if(memo[n][A][B]>-0.5) return memo[n][A][B]; + + memo[n][A][B]=0.0625*(3*fA(n+1,A+1,B)+2*fA(n+1,A+1,B-1)+fA(n+1,A+2,B-1)+2*fA(n+1,A,B+1)+6*fA(n+1,A,B)+fA(n+1,A-1,B+2)+fA(n+1,A,B-1)); + + return memo[n][A][B]; +} + +double fB(int n, int A, int B){ + if(n==N){ + if(A-0.5) return memo[n][A][B]; + + memo[n][A][B]=0.0625*(3*fB(n+1,A+1,B)+2*fB(n+1,A+1,B-1)+fB(n+1,A+2,B-1)+2*fB(n+1,A,B+1)+6*fB(n+1,A,B)+fB(n+1,A-1,B+2)+fB(n+1,A,B-1)); + + return memo[n][A][B]; +} + +int main(){ + printf("Round A wins B wins Tie\n"); + + double A,B; + + for(int i=1;i<=20;i++){ + N=i; + + memset(memo,-1,sizeof(memo)); + A=fA(0,20,20)*100; + + memset(memo,-1,sizeof(memo)); + B=fB(0,20,20)*100; + + cout< + +using namespace std; + +int aux; + +int num_div(int a){ + aux=0; + + for(int i=1;i<=a;i++) + if(a%i==0) aux++; + + return aux; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int div[101]; + int t,n,cont; + + for(int i=1;i<=100;i++) + div[i]=num_div(i); + + cin>>t; + + for(int caso=0;caso>n; + + cont=0; + for(int i=1;i<=n;i++) + if(div[i]%2==1) cont++; + + cout< +#include +#include + +using namespace std; + +int main(){ + + double x,y; + double dist; + int t[2]; + string s; + bool ok=true; + + while(true){ + t[0]=0; + t[1]=0; + + for(int i=0;i<6;i++){ + cin>>x>>y; + + if(x==-100){ + ok=false; + break; + } + + dist=x*x+y*y; + + if(dist<=9) t[i/3]+=100; + else if(dist<=36) t[i/3]+=80; + else if(dist<=81) t[i/3]+=60; + else if(dist<=144) t[i/3]+=40; + else if(dist<=225) t[i/3]+=20; + } + + if(!ok) break; + + if(t[0]==t[1]) cout<<"SCORE: "<t[1] ? 1 : 2)<<" WINS."< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int stack[30]; + int pos[31]; + int moves[57]; + int N,K,ind; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i=2;i--){ + if(pos[i]!=i){ + if(pos[i]!=1){ + moves[K++]=pos[i]; + + ind=pos[i]; + + for(int j=0;j +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + + double D,H,a,b,c; + int h; + + cin>>D>>H; + + while(1){ + cin>>a>>b>>c; + if(a<=0||b<=0||c<=0) break; + + h=round(H+sqrt(2)*D/sqrt((1/(tan(a*PI/180)*tan(a*PI/180))+1/(tan(c*PI/180)*tan(c*PI/180))-2*1/(tan(b*PI/180)*tan(b*PI/180))))); + cout< + +using namespace std; + +int Z,I,M,L; + +int f(int &x){ + return (Z*x+I)%M; +} + +int main(){ + int a,b,cont,caso=1; + + while(1){ + scanf("%d %d %d %d",&Z,&I,&M,&L); + if(M==0) break; + + a=b=L; + cont=0; + + do{ + a=f(a); + b=f(b);b=f(b); + cont++; + }while(a!=b); + + a=b=L; + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,time,cont,total; + char c; + string s; + + int score[26]; + int incorrect[26]; + + while(1){ + cin>>N; + if(N==0) break; + + memset(score,-1,sizeof(score)); + memset(incorrect,0,sizeof(incorrect)); + + for(int i=0;i>c>>time>>s; + + if(s[0]=='c'){ + score[c-'A']=time; + }else incorrect[c-'A']++; + } + + cont=total=0; + + for(int i=0;i<26;i++){ + if(score[i]!=-1){ + total+=score[i]+20*incorrect[i]; + cont++; + } + } + + cout< + +using namespace std; + +int main(){ + int N,aux,cont1,cont2; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + cont1=cont2=0; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int M[2000]; + int dp[200][201]; + int sum[200][201]; + int N,ans; + float F; + + while(1){ + scanf("%d %f",&N,&F); + if(N==0) break; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + cin>>N; + + vector< vector > carta; + vector< vector > z; + int ax; + char c,x; + + map M; + M['H']=0; + M['C']=1; + M['D']=2; + M['S']=3; + M['T']=10; + M['J']=11; + M['Q']=12; + M['K']=13; + + for(int i=0;i>c; + if(c>='1' && c<='9') carta[j].push_back(c-'0'); + else carta[j].push_back(M[c]); + cin>>c; + if(j==0) x=c; + carta[j].push_back(M[c]); + } + + z.clear(); + z.resize(3); + + for(int j=0;j<3;j++){ + z[j].push_back(carta[j+1][0]); + z[j].push_back(carta[j+1][1]); + } + + for(int j=0;j<2;j++){ + for(int k=j+1;k<3;k++){ + if(z[j][1]>z[k][1] ) swap(z[j],z[k]); + else if(z[j][1]==z[k][1] && z[j][0]>z[k][0]) swap(z[j],z[k]); + } + } + + if(carta[1]==z[0]){ + if(carta[2]==z[1]) ax=1; + else ax=2; + }else if(carta[1]==z[1]){ + if(carta[2]==z[0]) ax=3; + else ax=4; + }else{ + if(carta[2]==z[0]) ax=5; + else ax=6; + } + + ax+=carta[0][0]-1; ax%=13; ax++; + + if(ax>=1 && ax<=9) cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,M; + int m1,m2; + int aux; + int points[10001]; + + while(1){ + scanf("%d %d",&N,&M); + if(N==0 && M==0) break; + + fill(points,points+10001,0); + + for(int i=0;im1){ + m2=m1; + m1=points[i]; + }else if(points[i] + +using namespace std; + +int M[100000]; +int N[100001]; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + bool ok; + + while(1){ + cin>>n; + + if(n==0) break; + + for(int i=0;i>M[i]; + N[M[i]]=i+1; + } + + ok=false; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N,adelante,atras,cont,aux; + bool todos_cero; + int posts[5000]; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + todos_cero=true; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,D; + bool M[100]; + bool ax; + + while(1){ + scanf("%d %d",&N,&D); + if(N==0 && D==0) break; + + fill(M,M+N,1); + + for(int i=0;i>ax; + M[j]=M[j]&&ax; + } + } + ax=false; + for(int i=0;i + +using namespace std; + +int main(){ + int N,R,Q; + int rev_1[1000]; + int rev_2[1000]; + int x,cont=1; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + scanf("%d",&R); + + for(int i=0;i=rev_1[j] && x<=rev_2[j]) x=rev_1[j]+rev_2[j]-x; + + printf("%d\n",x); + } + } + + return 0; +} diff --git a/Tianjin Online Judge/2146 - Computer DJ.cpp b/Tianjin Online Judge/2146 - Computer DJ.cpp new file mode 100755 index 0000000..ecaa804 --- /dev/null +++ b/Tianjin Online Judge/2146 - Computer DJ.cpp @@ -0,0 +1,50 @@ +#include + +using namespace std; + +int main(){ + int N,Q,x; + char L[26][101]; + + int pot,pos; + + while(1){ + scanf("%d %d",&N,&Q); + if(N==0 && Q==0) break; + + for(int i=0;ii*pot*N) x-=i*pot*N; + else{ + pos=(x-1)/i; + x=(x-1)%i; + + for(int j=i-1;;j--) + if(j==x){ + printf("%s\n",L[pos%N]); + break; + }else pos/=N; + + break; + } + + pot*=N; + } + } + + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/2147 - P-Networks.cpp b/Tianjin Online Judge/2147 - P-Networks.cpp new file mode 100755 index 0000000..703324d --- /dev/null +++ b/Tianjin Online Judge/2147 - P-Networks.cpp @@ -0,0 +1,52 @@ +#include +#include +#include + +using namespace std; + +int main(){ + int N,aux; + int pos[20]; + int num_in_pos[20]; + bool no_existe; + int strokes[190]; + int cont; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + no_existe=false; + fill(pos,pos+N,-1); + + for(int i=0;i + +using namespace std; + +long long seed = 47; + +long long rand(){ + seed = (seed * 279470273) % 4294967291LL; + return seed; +} + +typedef int treap_type; + +class treap{ + public: + + treap_type value; + long long priority; + treap *left, *right; + int sons; + + treap(treap_type value) : left(NULL), right(NULL), value(value), sons(0){ + priority = rand(); + } + + ~treap(){ + if(left) delete left; + if(right) delete right; + } +}; + +inline void rotate_to_right(treap* &t){ + treap* n = t->left; + t->left = n->right; + n->right = t; + t = n; +} + +inline void rotate_to_left(treap* &t){ + treap* n = t->right; + t->right = n->left; + n->left = t; + t = n; +} + +void fix_augment(treap* t){ + if(!t) return; + t->sons = (t->left ? t->left->sons + 1 : 0) + + (t->right ? t->right->sons + 1 : 0); +} + +void insert(treap* &t, treap_type val){ + if(!t) t = new treap(val); + else insert(val <= t->value ? t->left : t->right, val); + + if(t->left && t->left->priority > t->priority) + rotate_to_right(t); + else if(t->right && t->right->priority > t->priority) + rotate_to_left(t); + + fix_augment(t->left); fix_augment(t->right); fix_augment(t); +} + +int getKth(treap* &t, int K){ + int left = (t->left==NULL? 0 : 1+t->left->sons); + int right = (t->right==NULL? 0 : 1+t->right->sons); + + if(1+left==K) return t->value; + else if(leftright,K-1-left); + return getKth(t->left,K); +} + +int main(){ + int N,M; + scanf("%d %d",&N,&M); + + int A[N],U[M]; + for(int i = 0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int x,y,n,cont; + int T; + + int a[10000]; + + int M[100][100]; + + while(1){ + scanf("%d %d",&x,&y); + + if(x==0 && y==0) break; + + scanf("%d %d %d",&a[0],&a[1],&n); + + memset(M,-1,sizeof(M)); + + cont=1; + + M[a[0]][a[1]]=0; + + for(int i=2;;i++){ + a[i]=(x*a[i-1]+y*a[i-2])%100; + if(M[a[i-1]][a[i]]!=-1){ + T=i-1-M[a[i-1]][a[i]]; + break; + }else{ + cont++; + M[a[i-1]][a[i]]=i-1; + } + } + + while(n>=cont) n-=T; + + if(a[n]>=0 && a[n]<10) printf("0"); + printf("%d\n",a[n]); + } + + return 0; +} diff --git a/Tianjin Online Judge/2183 - Checker Game.cpp b/Tianjin Online Judge/2183 - Checker Game.cpp new file mode 100755 index 0000000..1fb1bc5 --- /dev/null +++ b/Tianjin Online Judge/2183 - Checker Game.cpp @@ -0,0 +1,39 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + int board[100][100]; + int M[100][100]; + int max_score; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i0) M[i][j]=max(M[i][j],M[i-1][j-1]+board[i][j]); + if(j +#include + +using namespace std; + +int main(){ + int N,k,num,n,m,cont,dif; + int a[500]; + int b[500]; + + while(1){ + scanf("%d %d",&N,&k); + if(N==0 && k==0) break; + + n=m=0; + + for(int i=0;ik) j++; + else if(a[i]-b[j]<-k) i++; + else{ + cont++; + i++; + j++; + continue; + } + } + + printf("%d\n",cont); + } + + return 0; +} diff --git a/Tianjin Online Judge/2187 - Computer Games III.cpp b/Tianjin Online Judge/2187 - Computer Games III.cpp new file mode 100755 index 0000000..4268014 --- /dev/null +++ b/Tianjin Online Judge/2187 - Computer Games III.cpp @@ -0,0 +1,36 @@ +#include + +using namespace std; + +int A,B; +double memo[31][31]; + +double prob(int R, int T){ + if(R<0 || T<0 || (A-R<=B-T && (R!=A || T!=B))) return 0.0; + + if(R==0 && T==0) return 1.0; + + if(memo[R][T]!=-1.0) return memo[R][T]; + + memo[R][T]=R*1.0/(R+T)*prob(R-1,T)+T*1.0/(R+T)*prob(R,T-1); + + return memo[R][T]; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + while(1){ + scanf("%d %d",&A,&B); + + if(A==0 && B==0) break; + + for(int i=A;i>=0;i--) + for(int j=B;j>=0;j--) memo[i][j]=-1.0; + + printf("%.3f\n",prob(A,B)); + } + + return 0; +} diff --git a/Tianjin Online Judge/2188 - Sum of Factorials.cpp b/Tianjin Online Judge/2188 - Sum of Factorials.cpp new file mode 100755 index 0000000..70e45cf --- /dev/null +++ b/Tianjin Online Judge/2188 - Sum of Factorials.cpp @@ -0,0 +1,39 @@ +#include +#include + +using namespace std; + +map< pair , bool > M; + +int fac[]={1,2,6,24,120,720,5040,40320,362880,3628800}; + +void sums(int n, int x, int y){ + if(n==10){ + M[make_pair(x,y)]=1; + return; + } + + sums(n+1,x+fac[n],y); + sums(n+1,x,y+fac[n]); + sums(n+1,x,y); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int x,y; + + sums(0,0,0); + + while(1){ + cin>>x>>y; + + if(x==0 && y==0) break; + + if(M[make_pair(x,y)]) cout<<"Yes"< +#include +#include +#include +#include + +using namespace std; + +int N,key; +vector< vector > v; +bool M[1000]; + +int dfs(int n){ + M[n]=1; + int cont=1; + + queue Q; + + for(int i=0;i>N; + if(N==0) break; + + v.clear(); v.resize(N); + + getline(cin,s); + + while(1){ + getline(cin,s); + istringstream is(s); + + is>>a; + if(a==0) break; + + a--; + + while(is>>b){ + b--; + v[a].push_back(b); + v[b].push_back(a); + } + } + + ax=0; + ostringstream os; + + + key=0; + for(int i=0;i + +using namespace std; + +int parent[100000],rank[100000]; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + if(PX==PY) return; + + if(rank[PX]>rank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +int main(){ + int N,M,K,x,y; + + scanf("%d %d %d",&N,&M,&K); + + for(int i=0;i +#include + +using namespace std; + +struct nodo{ + int r,c; + + nodo(){ + } + + nodo(int _r, int _c){ + r=_r; + c=_c; + } +}; + +int main(){ + int R,C,r,c; + int dr[]={1,-1,0,0,1,1,-1,-1}; + int dc[]={0,0,1,-1,1,-1,1,-1}; + queue Q; + nodo aux; + + char M[8][9]; + bool visited[8][8]; + + int p,A; + double S; + + while(1){ + scanf("%d %d",&R,&C); + if(R==0) break; + + for(int i=0;i0 && M[aux.r-1][aux.c]=='.') p++; + if(aux.r0 && M[aux.r][aux.c-1]=='.') p++; + if(aux.c=0 && r=0 && c +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + int N,M; + while(scanf("%d %d",&N,&M)==2){ + if(N%(M+1)==0) cout<<"Think About It."< + +using namespace std; + +int N,M; +bool X[100][100]; +char Y[100][100]; +bool visited[100][100]; + +int di[]={1,1,1,0,0,-1,-1,-1}; +int dj[]={1,-1,0,1,-1,1,-1,0}; + +int cont(int n, int m){ + int ax=0,I,J; + + for(int i=0;i<8;i++){ + I=n+di[i]; + J=m+dj[i]; + if(I>=0 && I=0 && J=0 && I=0 && J>N>>M; + if(N==0 && M==0) break; + + for(int i=0;i>a>>b; + a--; b--; + X[a][b]=1; + } + + cin>>a>>b; + a--; b--; + + if(X[a][b]){ + cout<<"oops!"< +#include + +using namespace std; + +struct card{ + int score; + + card(int a){ + score=a; + } + + bool operator < (card X) const{ + return score>X.score; + } +}; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,score; + char c; + card aux=card(0); + + while(1){ + scanf("%d",&n); + if(n==0) break; + + priority_queue Q; + + for(int i=0;i>c; + + if(c=='B'){ + scanf("%d",&score); + Q.push(card(score)); + }else{ + aux=Q.top(); + Q.pop(); + + printf("%d\n",aux.score); + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/2199 - A+B Problem.cpp b/Tianjin Online Judge/2199 - A+B Problem.cpp new file mode 100755 index 0000000..0d1bca8 --- /dev/null +++ b/Tianjin Online Judge/2199 - A+B Problem.cpp @@ -0,0 +1,50 @@ +#include +#include +#include + +using namespace std; + +int main() +{ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,n; + int x; + vector v; + hash_set S; + hash_set :: iterator it; + + while(true) + { + scanf("%d",&N); + if(N==0) break; + + v.clear(); + S.clear(); + for(int i=0;i=1;i--) + { + if((v[i]+v[i-1]v[v.size()-1])) continue; + for(int j=i-1;j>=0;j--) + { + if((it=S.find(v[i]+v[j]))!=S.end()) + { + x=max(x,v[i]+v[j]); + break; + } + } + } + cout< + +using namespace std; + +int main(){ + int n,m,a,b,c,d; + int dp[50][50]; + + int dr[]={1,1,2,2}; + int dc[]={2,-2,1,-1}; + int R,C; + + while(1){ + scanf("%d %d",&n,&m); + if(n==0 && m==0) break; + + scanf("%d %d %d %d",&a,&b,&c,&d); + + a--; b--; c--; d--; + + for(int i=a;i<=c;i++) + for(int j=0;jc || C<0 || C>=m) continue; + + dp[R][C]+=dp[i][j]; + } + printf("%d\n",dp[c][d]); + } + + return 0; +} diff --git a/Tianjin Online Judge/2217 - Invitation Cards.cpp b/Tianjin Online Judge/2217 - Invitation Cards.cpp new file mode 100755 index 0000000..1b0fdae --- /dev/null +++ b/Tianjin Online Judge/2217 - Invitation Cards.cpp @@ -0,0 +1,91 @@ +#include +#include +#include + +#include + +using namespace std; + +struct edge{ + int v,d; + + edge(){ + } + + edge(int _v, int _d){ + v=_v; + d=_d; + } +}; + +vector< vector > L,L_rev; + +struct node{ + int v,cost; + + node(){ + } + + node(int _v, int _cost){ + v=_v; + cost=_cost; + } + + bool operator < (node X) const{ + return cost>X.cost; + } +}aux; + +bool reached[1000000]; + +int dijkstra(int &N, vector< vector > &L){ + int ans=0,cont=N,v; + + priority_queue Q; + Q.push(node(0,0)); + fill(reached,reached+N,false); + + while(cont){ + aux=Q.top(); + Q.pop(); + + if(reached[aux.v]) continue; + reached[aux.v]=true; + ans+=aux.cost; + cont--; + + for(int i=L[aux.v].size()-1;i>=0;i--){ + v=L[aux.v][i].v; + if(reached[v]) continue; + Q.push(node(v,aux.cost+L[aux.v][i].d)); + } + } + + return ans; +} + +int main(){ + int T,P,Q,u,v,cost; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&P,&Q); + + L.clear(); + L.resize(P); + L_rev.clear(); + L_rev.resize(P); + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,ans; + + while(1){ + cin>>n; + if(n==0) break; + + ans=1; + + for(int i=0;i +#include + +using namespace std; + +struct gangster{ + int T,P,S; + + gangster(){ + } + + bool operator < (gangster X) const{ + return T>X.T; + } +}; + +int main(){ + int n,k,t; + + scanf("%d %d %d",&n,&k,&t); + + gangster A[n]; + + for(int i=0;i=0;i--){ + for(int j=0;j<=k;j++){ + dp[i%2][j]=dp[1-i%2][j]; + if(j0) dp[i%2][j]=max(dp[i%2][j],dp[1-i%2][j-1]); + + if(pos +#include + +using namespace std; + +int main(){ + int N,S,ax; + + vector v; + + bool ok; + + while(cin>>N>>S){ + if(N==0 && S==0) break; + + v.clear(); + v.resize(N); + + for(int i=0;i>v[i]; + + ok=false; + + for(int mask=0;mask<(1< +#include + +using namespace std; + +int main(){ + int dp[501][501]; + int attraction[500][500]; + int m,n,ans; + + while(1){ + scanf("%d %d",&m,&n); + if(m==0 && n==0) break; + + for(int i=0;i=0;i--){ + for(int j=0;j +#include + +using namespace std; + +char M[1000][1001]; +bool visited[1000][1000]; +bool border_left[1000][1000]; +int cont_right[1000][1000]; + +int main(){ + int R,C,n,m; + + bool ok; + int cont; + + while(1){ + scanf("%d %d",&R,&C); + if(R==0) break; + + for(int i=0;i=0;j--) cont_right[i][j]=M[i][j]=='#'? cont_right[i][j+1]+1:0; + + border_left[i][0]=M[i][0]=='#'? true:false; + + for(int j=1;j0 && c>0) if(visited[r-1][c-1]) ok=false; + + if(r>0) for(int i=0;i0 && c +#include +#include + +using namespace std; + +#define MAX_V 10000 + +int N,ancestor[MAX_V][14],level[MAX_V]; +vector L[MAX_V]; +bool visited[MAX_V]; + +void search(int l, int pos){ + visited[pos] = true; + level[pos] = l; + + for(int i = L[pos].size()-1;i>=0;--i){ + int next = L[pos][i]; + + if(!visited[next]){ + ancestor[next][0] = pos; + search(l+1,next); + } + } +} + +void initialize(){ + for(int i = 1;(1<=level[q]) return false; + + int log = 1; + while((1<=0;--i) + if(level[q]-(1<=level[p]) + q = ancestor[q][i]; + + return p==q; +} + +int main(){ + int T,Q,u,v; + scanf("%d",&T); + + for(int tc = 1;tc<=T;++tc){ + scanf("%d",&N); + + for(int i = 0;i + +using namespace std; + +int memo[1001]; + +int length(int n){ + if(n==1) return 1; + if(n>1000){ + if(n%2==0) return 1+length(n/2); + return 1+length(3*n+1); + } + + if(memo[n]!=-1) return memo[n]; + + int aux; + + if(n%2==0) aux=1+length(n/2); + else aux=1+length(3*n+1); + + memo[n]=aux; + + return aux; +} + +int main(){ + int N; + + for(int i=1;i<1001;i++) memo[i]=-1; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + printf("%d\n",length(N)); + } + + return 0; +} diff --git a/Tianjin Online Judge/2252 - Going to Alpha Centauri (iterativo).cpp b/Tianjin Online Judge/2252 - Going to Alpha Centauri (iterativo).cpp new file mode 100755 index 0000000..da96e80 --- /dev/null +++ b/Tianjin Online Judge/2252 - Going to Alpha Centauri (iterativo).cpp @@ -0,0 +1,68 @@ +#include +#include +#include + +using namespace std; + +struct planet{ + int n,D; + + planet(int a, int b){ + n=a; + D=b; + } + + bool operator < (planet X) const{ + return D > L; + vector v; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i +#include + +using namespace std; + +vector< vector > L; +int memo[1000]; +int D[1000]; +int N; + +int total(int n){ + if(n==N-1) return 1; + + if(memo[n]!=-1) return memo[n]; + + int cont=0; + + for(int i=0;i +#include + +using namespace std; + +int dist2(int x1, int y1, int x2, int y2){ + return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); +} + +int x[750],y[750]; + +struct edge{ + int u,v,d; + + edge(){ + } + + edge(int _u, int _v){ + u=_u; + v=_v; + d=dist2(x[u],y[u],x[v],y[v]); + } + + bool operator < (edge X) const{ + return drank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +void Solve(){ + int N; + scanf("%d",&N); + + for(int i=0;i1;i++) + Union(a[i].u,a[i].v); +} + +int main(){ + Solve(); + + return 0; +} diff --git a/Tianjin Online Judge/2290 - Ferry Loading IV.cpp b/Tianjin Online Judge/2290 - Ferry Loading IV.cpp new file mode 100755 index 0000000..7b21a78 --- /dev/null +++ b/Tianjin Online Judge/2290 - Ferry Loading IV.cpp @@ -0,0 +1,58 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,L,N; + + cin>>T; + + int l; + string s; + + for(int tc=1;tc<=T;tc++){ + cin>>L>>N; + L*=100; + + vector left; + vector right; + + for(int i=0;i>l>>s; + + if(l>L) continue; + + if(s[0]=='l') left.push_back(l); + else right.push_back(l);; + } + + int n=left.size()-1, m=right.size()-1, cont=0, side=0; + + while(n>=0 || m>=0){ + cont++; + + if(side==0){ + if(n>=0){ + int aux=0; + for(;n>=0 && aux+left[n]<=L;n--) aux+=left[n]; + } + }else{ + if(m>=0){ + int aux=0; + for(;m>=0 && aux+right[m]<=L;m--) aux+=right[m]; + } + } + + side=1-side; + } + + cout< +#include +#include + +using namespace std; + +struct nodo{ + int num; + vector v; + + nodo(int _num){ + num=_num; + } +}; + +char c1,c2; + +int f(char s[4]){ + int a,b; + + if(strlen(s)==3){ + a=10; + c2=s[2]; + }else{ + c1=s[0]; c2=s[1]; + if(c1=='A') a=1; + else if(c1=='J') a=11; + else if(c1=='Q') a=12; + else if(c1=='K') a=13; + else a=c1-'0'; + } + + if(c2=='C') b=0; + else if(c2=='D') b=1; + else if(c2=='H') b=2; + else b=3; + + return 13*b+a; +} + +int cont; + +int find(int &X, vector &v){ + for(int i=v.size()-1;i>=0;i--) + if(X==v[i].num) return i; + + cont++; + + v.push_back(nodo(X)); + return v.size()-1; +} + +void insert(vector &a, vector &b){ + vector *p; + p=&b; + + for(int i=0;i trie; + vector v; + char s[4]; + + while(1){ + scanf("%d\n",&N); + if(N==0) break; + + trie.clear(); + cont=0; + + for(int i=0;i + +using namespace std; + +long long count(long long &x){ + if(x<0) return 0; + + long long cont=1,y=1; + + while(x/y!=0){ + if((x/y)%10==0) cont+=x%y+1+(x-10*y)/(10*y)*y; + else cont+=x/(10*y)*y; + + y*=10; + } + + return cont; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long m,n; + + while(1){ + scanf("%lld %lld",&m,&n); + if(m<0) break; + + m--; + printf("%lld\n",count(n)-count(m)); + } + + return 0; +} diff --git a/Tianjin Online Judge/2300 - Firepersons.cpp b/Tianjin Online Judge/2300 - Firepersons.cpp new file mode 100755 index 0000000..f6b28f8 --- /dev/null +++ b/Tianjin Online Judge/2300 - Firepersons.cpp @@ -0,0 +1,83 @@ +#include +#include + +using namespace std; + +#define MAX_SIZE 100 +#define MOD 10000 + +int size; + +struct M{ + int X[MAX_SIZE][MAX_SIZE]; + + M(){ + } +}; + +void mult(M &m, M &m1, M &m2){ + memset(m.X,0,sizeof(m.X)); + + for(int i=0;i +#include +#include + +using namespace std; + +vector p; + +bool primo(int n){ + for(int i=0;i ax(p.size(),0); + + vector< vector > v(432,ax); + + int aux; + + for(int i=2;i<432;i++){ + for(int j=0;j u(p.size()); + long long div; + int n,k; + + while(cin>>n>>k){ + u=ax; + div=1; + for(int i=0;i +#include +#include + +using namespace std; + +struct piece{ + int r,c; + char sym; + + piece(int _r, int _c, char _sym){ + r=_r; + c=_c; + sym=_sym; + } +}; + +int main(){ + string s,aux; + int ind; + + for(int i=0;i<17;i++){ + getline(cin,aux); + s+=aux; + } + + vector v; + + ind=s.find("K"); + if(ind != -1) v.push_back(piece(8-(ind/33)/2,(ind%33)/4+1,'K')); + ind=s.find("Q"); + if(ind != -1) v.push_back(piece(8-(ind/33)/2,(ind%33)/4+1,'Q')); + ind=s.find("R"); + while(ind != -1){ + v.push_back(piece(8-(ind/33)/2,(ind%33)/4+1,'R')); + ind=s.find("R",ind+1); + } + ind=s.find("B"); + while(ind != -1){ + v.push_back(piece(8-(ind/33)/2,(ind%33)/4+1,'B')); + ind=s.find("B",ind+1); + } + ind=s.find("N"); + while(ind != -1){ + v.push_back(piece(8-(ind/33)/2,(ind%33)/4+1,'N')); + ind=s.find("N",ind+1); + } + ind=s.find("P"); + while(ind != -1){ + v.push_back(piece(8-(ind/33)/2,(ind%33)/4+1,'P')); + ind=s.find("P",ind+1); + } + + for(int i=0;iv[k].r || (v[j].r==v[k].r && v[j].c>v[k].c))swap(v[j],v[k]); + break; + }else if(i+1v[i+1].r || (v[i].r==v[i+1].r && v[i].c>v[i+1].c))) swap(v[i],v[i+1]); + + cout<<"White: "; + + for(int i=0;iv[k].c))swap(v[j],v[k]); + break; + }else if(i+1v[i+1].c))) swap(v[i],v[i+1]); + + cout<<"Black: "; + + for(int i=0;i +#include + +#define min(a,b) a +#include + +using namespace std; + +int main(){ + int N,K; + + scanf("%d %d",&N,&K); + + double L[N]; + + for(int i=0;i=K) lo=mi; + else hi=mi-1; + } + + double ans=lo/100.0; + printf("%.2f\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/2321 - Pairs of integers.cpp b/Tianjin Online Judge/2321 - Pairs of integers.cpp new file mode 100755 index 0000000..815f56a --- /dev/null +++ b/Tianjin Online Judge/2321 - Pairs of integers.cpp @@ -0,0 +1,73 @@ +#include +#include + +using namespace std; + +int d[9],cont,M,x; + +set S; + +void search(int n){ + if(n%11<10){ + x=10*(n/11)+(n%11); + + for(int i=cont-1;i>=0;i--) x=10*x+d[i]; + + S.insert(x); + } + + if(n%2==0 && n>0){ + int d1=(n%10)/2; + int d2=d1+5; + + cont++; + + if(n>2*d1){ + d[cont-1]=d1; + search((n-d1)/10); + } + + if(n>2*d2){ + d[cont-1]=d2; + search((n-d2)/10); + } + + cont--; + } +} + +int dig(int n){ + if(n==0) return 1; + + cont=0; + + while(n!=0){ + n/=10; + cont++; + } + + return cont; +} + +int main(){ + int N; + + scanf("%d",&N); + + cont=0; + search(N); + + int sz=S.size(),aux; + set :: iterator it; + + printf("%d\n",sz); + for(it=S.begin();it!=S.end();it++){ + aux=(*it); + + printf("%d + ",aux); + for(int j=dig(aux)-dig(N-aux)-1;j>0;j--) printf("0"); + printf("%d = %d\n",N-aux,N); + } + + return 0; +} diff --git a/Tianjin Online Judge/2322 - Nearest number - 2.cpp b/Tianjin Online Judge/2322 - Nearest number - 2.cpp new file mode 100755 index 0000000..1c05cd5 --- /dev/null +++ b/Tianjin Online Judge/2322 - Nearest number - 2.cpp @@ -0,0 +1,86 @@ +#include +#include + +using namespace std; + +int M1[200][200]; +int M2[200][200]; +int N; + +struct nodo{ + int r,c,dist; + + nodo(){ + } + + nodo(int _r, int _c, int _dist){ + r=_r; + c=_c; + dist=_dist; + } +}; + +int di[]={1,-1,0,0}; +int dj[]={0,0,1,-1}; + +bool visited[200][200]; + +int bfs(int r, int c){ + int x=-1,dist; + + queue Q; + Q.push(nodo(r,c,0)); + nodo aux; + + for(int i=0;idist) break; + + if(M1[aux.r][aux.c]!=0){ + if(x==-1){ + x=M1[aux.r][aux.c]; + dist=aux.dist; + continue; + }else return 0; + } + + for(int i=0;i<4;i++){ + r=aux.r+di[i]; + c=aux.c+dj[i]; + + if(r>=0 && r=0 && c +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,cont=0,L; + char M[2][256]; + + scanf("%d",&n); + scanf("%s",M[0]); + + cont+=strlen(M[0]); + + for(int i=1,j=1;i +#include + +using namespace std; + +int main(){ + bool p[31623]; + fill(p,p+31623,true); + p[0]=p[1]=false; + + int P[3401]; //sqrt(10^9)=31622.77660 + int P_size=0; + + for(int i=2;i<31623;i++){ + if(p[i]){ + P[P_size++]=i; + for(int j=2;j*i<31623;j++) p[i*j]=false; + } + + } + +int T,n,cont,d; + +scanf("%d",&T); + +for(int i=1;i<=T;i++){ + printf("Scenario #%d:\n",i); + + scanf("%d",&n); + + d=1; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T; + char M[9][10]; + bool ok; + bool r[9][9]; + bool c[9][9]; + bool sq[9][9]; + int cont_r[9]; + int cont_c[9]; + int cont_sq[9]; + + scanf("%d",&T); + + for(int sc=1;sc<=T;sc++){ + for(int i=0;i<9;i++) scanf("%s",M[i]); + + for(int i=0;i<9;i++){ + fill(r[i],r[i]+9,false); + fill(c[i],c[i]+9,false); + fill(sq[i],sq[i]+9,false); + fill(cont_r,cont_r+9,0); + fill(cont_c,cont_c+9,0); + fill(cont_sq,cont_sq+9,0); + } + + for(int i=0;i<9;i++) + for(int j=0;j<9;j++) + if(M[i][j]!='0'){ + cont_r[i]++; + r[i][M[i][j]-'0'-1]=true; + cont_c[j]++; + c[j][M[i][j]-'0'-1]=true; + cont_sq[i/3*3+j/3]++; + sq[i/3*3+j/3][M[i][j]-'0'-1]=true; + } + + ok=false; + + while(!ok){ + ok=true; + + + for(int i=0;i<9;i++) + for(int j=0;j<9;j++) + if(M[i][j]=='0'){ + ok=false; + if(cont_r[i]==8){ + cont_r[i]++; + cont_c[j]++; + cont_sq[i/3*3+j/3]++; + + for(int k=0;k<9;k++) + if(!r[i][k]){ + r[i][k]=true; + c[j][k]=true; + sq[i/3*3+j/3][k]=true; + M[i][j]='0'+k+1; + } + }else if(cont_c[j]==8){ + cont_r[i]++; + cont_c[j]++; + cont_sq[i/3*3+j/3]++; + + for(int k=0;k<9;k++) + if(!c[j][k]){ + r[i][k]=true; + c[j][k]=true; + sq[i/3*3+j/3][k]=true; + M[i][j]='0'+k+1; + } + }else if(cont_sq[i/3*3+j/3]==8){ + cont_r[i]++; + cont_c[j]++; + cont_sq[i/3*3+j/3]++; + + for(int k=0;k<9;k++) + if(!sq[i/3*3+j/3][k]){ + r[i][k]=true; + c[j][k]=true; + sq[i/3*3+j/3][k]=true; + M[i][j]='0'+k+1; + } + } + } + } + + printf("Scenario #%d:\n",sc); + for(int i=0;i<9;i++) printf("%s\n",M[i]); + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/2343 - Knights of the Round Table.cpp b/Tianjin Online Judge/2343 - Knights of the Round Table.cpp new file mode 100755 index 0000000..f24a940 --- /dev/null +++ b/Tianjin Online Judge/2343 - Knights of the Round Table.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std; + +#define L(k) 2*n*sin(a[j]-a[k]) + +int main(){ + int T,n; + int p,q; + double a[10000]; + double max; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%d",&n); + + max=0.0; + + scanf("%d %d",&p,&q); + a[0]=M_PI*p/q; + + for(int j=1,k=0;jL(k)) k++; + + max=fmax(max,L(k)); + } + + printf("Scenario #%d:\n%.2f\n\n",i,max); + } + + return 0; +} diff --git a/Tianjin Online Judge/2344 - Honeymoon Hike.cpp b/Tianjin Online Judge/2344 - Honeymoon Hike.cpp new file mode 100755 index 0000000..e3d4944 --- /dev/null +++ b/Tianjin Online Judge/2344 - Honeymoon Hike.cpp @@ -0,0 +1,94 @@ +#include +#include + +using namespace std; + +#define max(x,y) (x)>(y)? (x):(y) +#define min(x,y) (x)<(y)? (x):(y) + +struct node{ + int x,y; + + node(){} + + node(int _x, int _y){ + x = _x; y = _y; + } +}aux; + +int n,H[100][100],min_h,max_h; +bool visited[100][100]; + +const int dx[] = {-1,1,0,0}, dy[] = {0,0,-1,1}; + +bool possible(int diff){ + int x2,y2; + + for(int lo=min_h;lo<=max_h;++lo){ + for(int i=0;ilo+diff); + + if(visited[0][0]) continue; + + queue Q; + Q.push(node(0,0)); + visited[0][0] = true; + + while(!Q.empty()){ + aux = Q.front(); + Q.pop(); + + if(aux.x==n-1 && aux.y==n-1) return true; + + for(int i=0;i<4;++i){ + x2 = aux.x+dx[i]; + y2 = aux.y+dy[i]; + + if(x2>=0 && x2=0 && y2 + +using namespace std; + +int main(){ + int T,n,m; + long long sum; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%d %d",&n,&m); + + sum=(long long)(m-n+1)*(m+n)/2; + + printf("Scenario #%d:\n%lld\n\n",i,sum); + } + + return 0; +} diff --git a/Tianjin Online Judge/2350 - Laserbox.cpp b/Tianjin Online Judge/2350 - Laserbox.cpp new file mode 100755 index 0000000..f3f04ae --- /dev/null +++ b/Tianjin Online Judge/2350 - Laserbox.cpp @@ -0,0 +1,65 @@ +#include + +using namespace std; + +int main(){ + int T,n,r,R,C; + bool turn[50][50]; + bool visited[50][50][4]; + + int dr[]={-1,0,1,0}; + int dc[]={0,1,0,-1}; + int dir; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&n,&r); + + for(int i=0;i +#include + +using namespace std; + +bool found[1000001]; + +int main(){ + int N,G,n; + int a[300]; + + scanf("%d",&N); + + for(int tc=1;tc<=N;tc++){ + scanf("%d",&G); + + for(int i=0;ia[j]) n=a[i]-a[j]; + else n=a[j]-a[i]; + + for(int k=1;k*k<=n;k++) + if(n%k==0) + found[k]=found[n/k]=true; + } + + for(int i=1;i<=1000000;i++) + if(!found[i]){ + printf("%d\n",i); + break; + } + } + + return 0; +} diff --git a/Tianjin Online Judge/2369 - Circle Drawing.cpp b/Tianjin Online Judge/2369 - Circle Drawing.cpp new file mode 100755 index 0000000..5d9c97a --- /dev/null +++ b/Tianjin Online Judge/2369 - Circle Drawing.cpp @@ -0,0 +1,69 @@ +#include +#include + +using namespace std; + +struct nodo{ + int y,x; + + nodo(int _y, int _x){ + y=_y; + x=_x; + } +}; + +int main(){ + int X_size,Y_size,N; + + scanf("%d %d %d",&X_size,&Y_size,&N); + + char M[Y_size][X_size+1]; + + for(int i=0;i Q; + Q.push(nodo(y,x)); + visited[y][x]=true; + + while(!Q.empty()){ + nodo aux=Q.front(); + Q.pop(); + + M[aux.y][aux.x]='0'+c; + + for(int i=0;i<4;i++){ + y2=aux.y+dy[i]; + x2=aux.x+dx[i]; + d1=y2-y; + d2=x2-x; + + if(x2>=0 && x2=0 && y2 +#include +#include + +using namespace std; + +int main(){ + char s1[101],s2[101]; + int a[101],b[101]; + + scanf("%s %s",s1,s2); + + int n=strlen(s1); + + fill(a,a+n+1,0); + fill(b,b+n+1,0); + + for(char c='A';c<='Z';c++) a[count(s1,s1+n,c)]++; + for(char c='A';c<='Z';c++) b[count(s2,s2+n,c)]++; + + bool ok=true; + + for(int i=0;i<=n;i++) ok=ok && (a[i]==b[i]); + + if(ok) printf("YES\n"); + else printf("NO\n"); + + return 0; +} diff --git a/Tianjin Online Judge/2404 - Bin Packing.cpp b/Tianjin Online Judge/2404 - Bin Packing.cpp new file mode 100755 index 0000000..bc97d1a --- /dev/null +++ b/Tianjin Online Judge/2404 - Bin Packing.cpp @@ -0,0 +1,24 @@ +#include +#include + +using namespace std; + +int main(){ + int n,L,l[100000]; + + scanf("%d %d",&n,&L); + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int k,m,n,moves[100],grundy[10001],sz,nim_val; + bool is[101]; + + grundy[0]=0; + + while(1){ + scanf("%d",&k); + if(k==0) break; + + for(int i=0;i=moves[j]) is[grundy[i-moves[j]]]=true; + + x=0; + while(is[x]) x++; + grundy[i]=x; + } + + scanf("%d",&m); + + for(int i=0;i +#include + +using namespace std; + +char map[101][101]; +int memo[198][100][100]; +int H,W,N; + +int f(int n, int a, int b){ + if(n==N){ + if(map[H-1][W-1]=='*') return 1; + return 0; + } + + if(memo[n][a][b]==-1){ + int aux=0; + + if(a+1 +#include + +using namespace std; + +int main(){ + int n,m,L,x,ans; + bool M[200][300]; + bool contains[200][200]; + bool valid[200]; + bool ok,found; + + while(1){ + scanf("%d %d",&n,&m); + if(n==0 && m==0) break; + + for(int i=0;i +#include + +using namespace std; + +int n,m,P1[500][500],P2[500][500],FR[501][501],FC[501][501],dp[501][501]; + +int main(){ + while(1){ + scanf("%d %d",&n,&m); + if(n==0) break; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,max; + string s; + int cont[26]; + + cin>>T; + + for(int i=0;i>s; + + memset(cont,0,sizeof(cont)); + + for(int j=0;jmax) max=cont[j]; + + for(char c='a';c<='z';c++) + if(cont[c-'a']==max) cout< +#include + +using namespace std; + +bool visited[100]; + +vector< vector > L; + +void bfs(int a){ + queue Q; + + visited[a]=true; + Q.push(a); + + while(!Q.empty()){ + int aux=Q.front(); + Q.pop(); + + for(int i=0;i>T; + + for(int i=0;i>N>>M; + + L.clear(); + L.resize(N); + + for(int j=0;j>a>>b; + L[a-1].push_back(b-1); + L[b-1].push_back(a-1); + } + + cont=0; + memset(visited,false,sizeof(visited)); + + for(int j=0;j +#include + +using namespace std; + +int main(){ + int cont[250001]; + int div[250001]; + + cont[0]=0; + div[0]=1; + + double lim; + bool found; + + for(int i=1,a=5;i<=250000;i++,a+=4){ + lim=sqrt(4*i+1); + + found=false; + + for(int j=5;j<=lim;j+=4) + if(a%j==0){ + found=true; + div[i]=div[(a/j-1)/4]+1; + break; + } + + if(!found) div[i]=1; + + if(div[i]==2) cont[i]=cont[i-1]+1; + else cont[i]=cont[i-1]; + } + + int h; + + while(1){ + scanf("%d",&h); + if(h==0) break; + + printf("%d %d\n",h,cont[(h-1)/4]); + } + + return 0; +} diff --git a/Tianjin Online Judge/2483 - Nasty Hacks.cpp b/Tianjin Online Judge/2483 - Nasty Hacks.cpp new file mode 100755 index 0000000..c552e17 --- /dev/null +++ b/Tianjin Online Judge/2483 - Nasty Hacks.cpp @@ -0,0 +1,24 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,r,e,c; + + cin>>n; + + for(int i=0;ir) cout<<"advertise"< +#include + +using namespace std; + +int dx0[] = {-1,0,0,1,1,1},dy0[] = {0,1,-1,1,0,-1}; +int dx1[] = {-1,-1,-1,0,0,1},dy1[] = {1,0,-1,1,-1,0}; +int memo[15][29][29]; + +int solve(int n, int x, int y){ + if(n==0){ + if(x==0 && y==0) return 1; + return 0; + } + + if(memo[n][x+14][y+14]!=-1) return memo[n][x+14][y+14]; + + int aux = 0; + + if(y%2==0) for(int i=0;i<6;++i) aux += solve(n-1,x+dx0[i],y+dy0[i]); + else for(int i=0;i<6;++i) aux += solve(n-1,x+dx1[i],y+dy1[i]); + + memo[n][x+14][y+14] = aux; + return aux; +} + +int main(){ + int T,n; + scanf("%d",&T); + + memset(memo,-1,sizeof(memo)); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + printf("%d\n",solve(n,0,0)); + } + + return 0; +} diff --git a/Tianjin Online Judge/2490 - Broken Necklace.cpp b/Tianjin Online Judge/2490 - Broken Necklace.cpp new file mode 100755 index 0000000..bc4d6f2 --- /dev/null +++ b/Tianjin Online Judge/2490 - Broken Necklace.cpp @@ -0,0 +1,93 @@ +/* +ID: zion_ba1 +LANG: C++ +TASK: beads +*/ +#include +#include + +using namespace std; + +int main(){ + int N; + scanf("%d",&N); + + char s[N+1]; + scanf("%s",s); + + bool all=true; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int n,m; + char W[200]; + + while(1){ + scanf("%s %d",W,&n); + + m=strlen(W); + + if(m==1 && W[0]=='.') break; + + for(int i=0;i +#include +#include + +using namespace std; + +int n; +int di[]={0,1,0,-1}; +int dj[]={1,0,-1,0}; +int M[99][99]; +int visited[99][99]; +bool ok; + +int dfs(int x, int y) +{ + if(visited[x][y]) return 0; + int ax=1; + int I,J; + visited[x][y]=true; + for(int i=0;i<4;i++){ + I=x+di[i]; + J=y+dj[i]; + if(I>=0&&I=0&&J>n; + if(n==0) break; + + memset(M,0,sizeof(M)); + memset(visited,false,sizeof(visited)); + + getline(cin,s); + for(int i=0;i>x>>y) M[x-1][y-1]=i+1; + } + + ok=true; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,score,prev; + char str[80]; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%s",str); + + score=0; + prev=0; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int generator[100001]; + int aux,sum; + + fill(generator,generator+100001,0); + + for(int i=1;i<100000;i++){ + sum=i; + aux=i; + while(aux!=0){ + sum+=aux%10; + aux/=10; + } + + if(sum<=100000 && generator[sum]==0) generator[sum]=i; + } + + + int T,N; + + scanf("%d",&T); + + for(int i=0;i + +using namespace std; + +int main(){ + int f[38],T[38]; + + f[0]=f[1]=1; + for(int i=2;i<38;i++) f[i]=f[i-1]+f[i-2]; + + T[0]=1; + for(int i=1;i<38;i++) T[i]=T[i-1]+f[i]; + + int TC,K,D,last; + scanf("%d",&TC); + + char s[39]; + + for(int tc=1;tc<=TC;tc++){ + scanf("%d",&K); + + for(int i=0;;i++){ + if(K<=T[i]){ + D=i+1; + break; + } + } + + if(D>=2) K=K-T[D-2]-1; + + for(int i=0;i<39;i++) s[i]=0; + + s[0]='1'; + last=1; + + for(int i=1,j=D-1;i=f[j-1]){ + s[i]='1'; + last=1; + K-=f[j-1]; + j-=2; + }else{ + s[i]='0'; + last=0; + j--; + } + } + } + + printf("%s\n",s); + } + + return 0; +} diff --git a/Tianjin Online Judge/2520 - Quicksum.cpp b/Tianjin Online Judge/2520 - Quicksum.cpp new file mode 100755 index 0000000..737a66e --- /dev/null +++ b/Tianjin Online Judge/2520 - Quicksum.cpp @@ -0,0 +1,26 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int sum; + + while(1){ + getline(cin,s); + if(s=="#") break; + + sum=0; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + char A[90]; + + while(true){ + scanf("%s",A); + if(A[0]=='#') break; + + int L = strlen(A),cont = 0; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + char string[80]; + int n; + bool M[26][26]; + bool surprising; + + while(1){ + scanf("%s",string); + if(string[0]=='*') break; + + n=strlen(string); + surprising=true; + + for(int i=1;i +#include +#include +#include +#include + +#include + +using namespace std; + +vector W,uns,pos,neg; + +string solve(){ + for(int i=W.size()-1;i>=0;--i){ + for(int j=uns.size()-1;j>=0;--j){ + bool found = false; + + for(int k=uns[j].size()-1;k>=0;--k){ + for(int p=W[i].size()-1;p>=0;--p) + if(W[i][p]==uns[j][k]) + found = true; + } + + if(!found) continue; + found = true; + + for(int k=pos[j].size()-1;k>=0;--k){ + if(W[i].find(pos[j][k])==string::npos) + found = false; + } + + if(!found) continue; + found = false; + + for(int k=neg[j].size()-1;k>=0;--k){ + if(W[i].find(neg[j][k])!=string::npos) + found = true; + } + + if(found) continue; + return W[i]; + } + } + + return "NONE"; +} + +int main(){ + char s[80]; + + while(true){ + W.clear(); + + scanf("%s",s); + if(s[0]=='#') break; + + W.push_back(string(s)); + + while(true){ + scanf("%s",s); + if(s[0]=='*') break; + W.push_back(string(s)); + } + + sort(W.rbegin(),W.rend()); + + while(true){ + scanf("%s",s); + if(s[0]=='*') break; + + string aux(s); + aux += '|'; + + int cur = 0,L = aux.size(); + uns.clear(); pos.clear(); neg.clear(); + + while(cur +#include +#include +#include + +using namespace std; + +struct planet{ + int id,x,y,z; + + planet(){ + } + + planet(int a, int b, int c, int d){ + id=a; + x=b; + y=c; + z=d; + } +}; + +double dist(planet A, planet B){ + return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y)+(A.z-B.z)*(A.z-B.z)); +} + +vector v; + +vector< vector > L; + +struct nodo{ + int n; + int dist; + + nodo(int a, int b){ + n=a; + dist=b; + } +}; + +bool visited[1000]; +int N; + +int max_dist(int n){ + queue Q; + Q.push(nodo(n,0)); + int ans; + + fill(visited,visited+N,false); + visited[n]=true; + + while(!Q.empty()){ + nodo aux=Q.front(); + Q.pop(); + + ans=aux.dist; + + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int B,N,A; + double x,ans; + + while(1){ + cin>>B>>N; + if(B==0 && N==0) break; + + ans=-1000000.0; + + for(int i=floor(pow(B*1.0,1.0/N))-1;;i++){ + x=pow(i*1.0,N*1.0); + + if(x>B){ + if(fabs(x-B) +#include + +using namespace std; + +int dp[1001][1001]; + +int main(){ + int n,m; + char s1[1001],s2[1001]; + + for(int i=0;i<=1000;i++) dp[0][i]=i; + for(int i=0;i<=1000;i++) dp[i][0]=i; + + while(scanf("%d",&n)==1){ + if(n>0) scanf("%s",s1); + scanf("%d",&m); + if(m>0) scanf("%s",s2); + for(int i=1;i<=n;i++) + for(int j=1;j<=m;j++) + dp[i][j]=min(min(dp[i-1][j]+1,dp[i][j-1]+1),dp[i-1][j-1]+(s1[i-1]!=s2[j-1])); + + printf("%d\n",dp[n][m]); + } + + return 0; +} diff --git a/Tianjin Online Judge/2531 - Oreon.cpp b/Tianjin Online Judge/2531 - Oreon.cpp new file mode 100755 index 0000000..d7d0618 --- /dev/null +++ b/Tianjin Online Judge/2531 - Oreon.cpp @@ -0,0 +1,86 @@ +#include +#include +#include + +using namespace std; + +int parent[26],rank[26]; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + + if(rank[PX]>rank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +struct edge{ + int u,v,d; + + edge(int _u, int _v, int _d){ + u=_u; + v=_v; + d=_d; + } + + bool operator < (edge X) const{ + if(d!=X.d) return d L; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&V); + + L.clear(); + + for(int i=0;ii) L.push_back(edge(i,j,d)); + } + } + + sort(L.rbegin(),L.rend()); + + for(int i=0;i=0;i--){ + u=L[i].u; + v=L[i].v; + + if(Find(u)!=Find(v)){ + Union(u,v); + printf("%c-%c %d\n",'A'+u,'A'+v,L[i].d); + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/2533 - Wordfish.cpp b/Tianjin Online Judge/2533 - Wordfish.cpp new file mode 100755 index 0000000..773ba09 --- /dev/null +++ b/Tianjin Online Judge/2533 - Wordfish.cpp @@ -0,0 +1,59 @@ +#include +#include +#include + +using namespace std; + +int f(string s){ + int aux=INT_MAX; + for(int i=0;i+1X.d; + return s>s){ + L[0]=pass(s); + + aux=s; + for(int i=1;i<11;i++){ + prev_permutation(aux.begin(),aux.end()); + L[i]=pass(aux); + } + + aux=s; + for(int i=11;i<21;i++){ + next_permutation(aux.begin(),aux.end()); + L[i]=pass(aux); + } + + sort(L,L+21); + + cout< + +using namespace std; + +int main(){ + + int t,n; + cin>>t; + int a,b,c; + + for(int i=0;i>n; + a=n/25; + n%=25; + b=n/10; + n%=10; + c=n/5; + n%=5; + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,n,ax; + cin>>N; + + for(int i=0;i>n; + ax=((n*n+n)/2)*((n*n+5*n+6)/2)/2; + cout< +#include + +using namespace std; + +int mcd(int a, int b){ + while(a%b!=0){ + a%=b; + swap(a,b); + } + + return b; +} + +int main(){ + int ans[1001]; + for(int i=1;i<=1000;i++) ans[i]=3; // (0,1) , (1,0) , (1,1) + + bool checked[1001][1001]; + for(int i=0;i<=1000;i++) fill(checked[i],checked[i]+1001,false); + + for(int i=1;i<=1000;i++) + for(int j=i+1;j<=1000;j++) + if(!checked[i][j]){ + if(mcd(i,j)==1){ + for(int k=max(i,j);k<=1000;k++) ans[k]+=2; + for(int x=2*i,y=2*j;x<=1000 && y<=1000;x+=i,y+=j) checked[x][y]=true; + } + } + + int T,N; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + printf("%d %d %d\n",tc,N,ans[N]); + } + + return 0; +} diff --git a/Tianjin Online Judge/2547 - Subsequence.cpp b/Tianjin Online Judge/2547 - Subsequence.cpp new file mode 100755 index 0000000..5ec829d --- /dev/null +++ b/Tianjin Online Judge/2547 - Subsequence.cpp @@ -0,0 +1,39 @@ +#include + +using namespace std; + +int main(){ + int T,N,S,a[100000],sum[100001],lo,hi,mi,ans; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&N,&S); + + for(int i=0;i>1; + + if(sum[mi+1]-sum[i]>=S) hi=mi; + else lo=mi+1; + } + + if(sum[hi+1]-sum[i] + +using namespace std; + +int main(){ + char c; + + while(1){ + c=getchar(); + if(c==EOF) break; + putchar(c); + } + + return 0; +} diff --git a/Tianjin Online Judge/2560 - The Explorer.cpp b/Tianjin Online Judge/2560 - The Explorer.cpp new file mode 100755 index 0000000..0d30045 --- /dev/null +++ b/Tianjin Online Judge/2560 - The Explorer.cpp @@ -0,0 +1,69 @@ +#include +#include +#include + +using namespace std; + +struct nodo{ + int x,y,dist; + + nodo(){ + } + + nodo(int a, int b, int c){ + x=a; + y=b; + dist=c; + } +}; + +int main(){ + int T,C,R,aux,Ax,Ay,Bx,By,X,Y; + bool obstacle[100][100]; + bool visited[100][100]; + nodo v; + int dx[]={1,-1,0,0}; + int dy[]={0,0,1,-1}; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d %d",&C,&R); + + for(int i=0;i Q; + Q.push(nodo(Ax,Ay,1)); + visited[Ax][Ay]=true; + + while(!Q.empty()){ + v=Q.front(); + Q.pop(); + + if(v.x==Bx && v.y==By){ + printf("%d\n",v.dist); + break; + } + + for(int i=0;i<4;i++){ + X=v.x+dx[i]; + Y=v.y+dy[i]; + + if(X>=0 && X=0 && Y +#include +#include + +using namespace std; + +vector num[366]; +int cont[366][10]; + +int main(){ + memset(cont,0,sizeof(cont)); + num[0].push_back(1); + + for(int i=1;i<=365;++i){ + int L = num[i-1].size(); + + for(int j=0;j9){ + num[i].push_back(num[i][L-1]/10); + num[i][L-1] %= 10; + ++L; + } + + for(int j=0;j +#include + +using namespace std; + +#define MAX_N 100000 + +int abs(int x){ + return (x<0? -x:x); +} + +int main(){ + int n,ind1[MAX_N],ind2[MAX_N],A[MAX_N],x,N,M; + + while(true){ + scanf("%d",&n); + if(n==0) break; + + N = M = 0; + + for(int i=0;i0){ + x = min(A[ind1[i]],A[ind2[j]]); + A[ind1[i]] -= x; A[ind2[j]] -= x; + ans += (long long)x*abs(ind1[i]-ind2[j]); + if(A[ind2[j]]==0) ++j; + } + } + + printf("%lld\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/2593 - The Pilots Brothers Refrigerator.cpp b/Tianjin Online Judge/2593 - The Pilots Brothers Refrigerator.cpp new file mode 100755 index 0000000..af6dfdf --- /dev/null +++ b/Tianjin Online Judge/2593 - The Pilots Brothers Refrigerator.cpp @@ -0,0 +1,71 @@ +#include +#include +#include + +using namespace std; + +struct node{ + int mask,dist; + + node(){} + + node(int _mask, int _dist){ + mask = _mask; dist = _dist; + } +}aux; + +int parent[(1<<16)],r[(1<<16)],c[(1<<16)]; + +int solve(int s){ + memset(parent,-1,sizeof(parent)); + + queue Q; + Q.push(node(s,0)); + parent[0] = -2; + + while(!Q.empty()){ + aux = Q.front(); + Q.pop(); + + if(aux.mask==(1<<16)-1) return aux.dist; + + for(int i = 0;i<4;++i) for(int j = 0;j<4;++j){ + int mask2 = aux.mask; + + for(int k = 0;k<4;++k) mask2 ^= (1<<(4*i+k)); + for(int k = 0;k<4;++k) mask2 ^= (1<<(4*k+j)); + mask2 ^= (1<<(4*i+j)); + + if(parent[mask2]==-1){ + parent[mask2] = aux.mask; + r[mask2] = i; c[mask2] = j; + Q.push(node(mask2,aux.dist+1)); + } + } + } +} + +int main(){ + char M[4][5]; + for(int i = 0;i<4;++i) scanf("%s",M[i]); + + int s = 0; + + for(int i = 0;i<4;++i) + for(int j = 0;j<4;++j) + if(M[i][j]=='-') + s |= (1<<(4*i+j)); + + int choice_r[(1<<16)],choice_c[(1<<16)],sz = solve(s); + + for(int i = 0,mask = (1<<16)-1;i=0;--i) printf("%d %d\n",1+choice_r[i],1+choice_c[i]); + + return 0; +} diff --git a/Tianjin Online Judge/2601 - Dirichlet's Theorem on Arithmetic Progressions.cpp b/Tianjin Online Judge/2601 - Dirichlet's Theorem on Arithmetic Progressions.cpp new file mode 100755 index 0000000..03c24eb --- /dev/null +++ b/Tianjin Online Judge/2601 - Dirichlet's Theorem on Arithmetic Progressions.cpp @@ -0,0 +1,32 @@ +#include +#include + +using namespace std; + +bool p[1000000]; + +int main(){ + fill(p,p+1000000,true); + p[0]=p[1]=false; + + for(long long i=2;i<1000000;i++) + if(p[i]) + for(long long j=i*i;j<1000000;j+=i) p[j]=false; + + int a,d,n,x; + + while(1){ + scanf("%d %d %d",&a,&d,&n); + if(a==0 && d==0 && n==0) break; + + x=a; + + for(int i=0;i +#include + +using namespace std; + +int memo[1121][15][187]; +int p[187]; + +int f(int n, int k, int m){ + if(n==0 && k==0) return 1; + if(k==0) return 0; + if(n=187) return 0; + + if(memo[n][k][m]!=-1) return memo[n][k][m]; + + int cont=f(n-p[m],k-1,m+1)+f(n,k,m+1); + + memo[n][k][m]=cont; + + return cont; +} + +int main(){ + int n,k,cont=0; + bool primo; + + memset(memo,-1,sizeof(memo)); + + for(int i=2;i<1121;i++){ + primo=false; + + for(int j=0;j +#include + +using namespace std; + +int f(char c){ + if(c=='m') return 1000; + if(c=='c') return 100; + if(c=='x') return 10; + return 1; +} + +int toNum(string &s){ + int aux=0; + + for(int i=0;i='2' && s[i]<='9'){ + aux+=(s[i]-'0')*f(s[i+1]); + i++; + }else aux+=f(s[i]); + } + + return aux; +} + +string toString(int n){ + string s; + + if(n>=1000){ + if(n>=2000) s+=(char)('0'+n/1000); + s+='m'; + n%=1000; + } + if(n>=100){ + if(n>=200) s+=(char)('0'+n/100); + s+='c'; + n%=100; + } + if(n>=10){ + if(n>=20) s+=(char)('0'+n/10); + s+='x'; + n%=10; + } + if(n>=1){ + if(n>=2) s+=(char)('0'+n); + s+='i'; + } + + return s; +} + +int main(){ + int T; + char str[9]; + string s1,s2; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%s",str); + s1=str; + + scanf("%s",str); + s2=str; + + printf("%s\n",toString(toNum(s1)+toNum(s2)).c_str()); + } + + return 0; +} diff --git a/Tianjin Online Judge/2625 - Traveling by Stagecoach.cpp b/Tianjin Online Judge/2625 - Traveling by Stagecoach.cpp new file mode 100755 index 0000000..22d2a35 --- /dev/null +++ b/Tianjin Online Judge/2625 - Traveling by Stagecoach.cpp @@ -0,0 +1,84 @@ +#include +#include +#include + +using namespace std; + +struct node{ + int mask,pos; + double t; + + node(){ + } + + node(int _mask, int _pos, double _t){ + mask=_mask; + pos=_pos; + t=_t; + } + + bool operator < (node X) const{ + return t>X.t; + } +}aux; + +int M[30][30]; +int horses[8]; +bool visited[30][(1<<8)]; +vector< vector > L; + +void dijkstra(int &s, int &e, int &V, int &m){ + for(int i=0;i Q; + Q.push(node(0,s,0)); + + while(!Q.empty()){ + aux=Q.top(); + Q.pop(); + + if(visited[aux.pos][aux.mask]) continue; + visited[aux.pos][aux.mask]=true; + + if(aux.pos==e){ + printf("%.6f\n",aux.t); + return; + } + + for(int i=L[aux.pos].size()-1;i>=0;i--){ + int v=L[aux.pos][i]; + + for(int j=0;j +#include +#include + +using namespace std; + +struct node{ + int r,c,d; + + node(){ + } + + node(int _r, int _c, int _d){ + r=_r; + c=_c; + d=_d; + } +}aux; + +char M[20][21]; +int R,C,dist[11][11]; +bool visited[20][20]; +int dr[]={-1,1,0,0}; +int dc[]={0,0,-1,1}; + +int bfs(int &r1, int &c1, int &r2, int &c2){ + queue Q; + Q.push(node(r1,c1,0)); + + for(int i=0;i=0 && r=0 && c +#include + +using namespace std; + +bool sub(string a, string b){ + if(b.empty()) return true; + if(b.size()>a.size()) return false; + + bool ax=0; + + if(a[0]==b[0]){ + string y; + y=b; + a.erase(0,1); y.erase(0,1); + ax|=sub(a,y); + }else{ + string x; + x=a; x.erase(0,1); + ax|=sub(x,b); + } + return ax; +} + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + //int T; + //cin>>T; + + string s1,s2; + cin>>s1; + + for(int i=0;i>s1>>s2; + + if(sub(s1,s2)){ + cout<<"YES"< + +using namespace std; + +int main(){ + int n,r,p,c; + int card[50]; + int aux[50]; + + while(1){ + scanf("%d %d",&n,&r); + if(n==0 && r==0) break; + + for(int i=0;i +#include +#include + +using namespace std; + +struct nodo{ + int r,c; + + nodo(){ + } + + nodo(int R, int C){ + r=R; + c=C; + } +}; + +int main(){ + char M[20][21]; + bool visited[20][20]; + + int R,C,r,c,cont; + bool found; + + queue Q; + nodo aux; + int di[]={1,-1,0,0}; + int dj[]={0,0,1,-1}; + + while(1){ + scanf("%d %d",&C,&R); + if(R==0 && C==0) break; + + for(int i=0;i=0 && r=0 && c +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + int T,N,F; + int r[10000]; + double vol[10000]; + double lo,hi,mi; + int cont; + + scanf("%d",&T); + + for(int i=0;i=F+1) lo=mi; + else hi=mi; + } + + printf("%.4f\n",lo); + } + + return 0; +} diff --git a/Tianjin Online Judge/2647 - Printer Queue.cpp b/Tianjin Online Judge/2647 - Printer Queue.cpp new file mode 100755 index 0000000..1c32c37 --- /dev/null +++ b/Tianjin Online Judge/2647 - Printer Queue.cpp @@ -0,0 +1,42 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,n,m,aux,ans,pos,print; + int priority[100]; + bool printed[100]; + + scanf("%d",&T); + + for(int i=0;ipriority[print])) print=(pos+i)%n; + } + + printed[print]=true; + pos=print; + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/2648 - Prime Path.cpp b/Tianjin Online Judge/2648 - Prime Path.cpp new file mode 100755 index 0000000..16b7c65 --- /dev/null +++ b/Tianjin Online Judge/2648 - Prime Path.cpp @@ -0,0 +1,100 @@ +#include +#include +#include + +using namespace std; + +struct num{ + short a,b,c,d,dist; + + num(){ + } + + num(short _a, short _b, short _c, short _d, short _dist){ + a=_a; + b=_b; + c=_c; + d=_d; + dist=_dist; + } +}; + +bool p[10000]; +bool visited[10000]; + +int dist(int &p1, int &p2){ + queue Q; + Q.push(num(p1/1000,p1/100%10,p1/10%10,p1%10,0)); + + fill(visited,visited+9000,false); + visited[p1-1000]=true; + + num aux; + int N,M; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + N=aux.a*1000+aux.b*100+aux.c*10+aux.d; + if(N==p2) return aux.dist; + + for(int i=1;i<=9;i++){ + M=N-aux.a*1000+i*1000; + if(!visited[M-1000] && p[M]){ + visited[M-1000]=true; + Q.push(num(i,aux.b,aux.c,aux.d,aux.dist+1)); + } + } + + for(int i=0;i<=9;i++){ + M=N-aux.b*100+i*100; + if(!visited[M-1000] && p[M]){ + visited[M-1000]=true; + Q.push(num(aux.a,i,aux.c,aux.d,aux.dist+1)); + } + } + + for(int i=0;i<=9;i++){ + M=N-aux.c*10+i*10; + if(!visited[M-1000] && p[M]){ + visited[M-1000]=true; + Q.push(num(aux.a,aux.b,i,aux.d,aux.dist+1)); + } + } + + for(int i=0;i<=9;i++){ + M=N-aux.d+i; + if(!visited[M-1000] && p[M]){ + visited[M-1000]=true; + Q.push(num(aux.a,aux.b,aux.c,i,aux.dist+1)); + } + } + } + + return -1; +} + +int main(){ + fill(p,p+10000,true); + p[0]=p[1]=false; + + for(int i=2;i<10000;i++) + if(p[i]) + for(int j=i*i;j<10000;j+=i) p[j]=false; + + int T,p1,p2,x; + + scanf("%d",&T); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T; + char s[27]; + + scanf("%d",&T); + + bool used[26],valid; + int p[26],cycle[26],cont[27],sz,pos; + + for(int tc=1;tc<=T;++tc){ + scanf("%s",s); + + for(int i=0;i<26;++i) p[i] = s[i]-'A'; + memset(used,false,sizeof(used)); + memset(cont,0,sizeof(cont)); + + for(int i=0;i<26;++i){ + if(used[i]) continue; + used[i] = true; + + sz = 0; cycle[sz++] = i; + pos = p[i]; + + while(pos!=i){ + cycle[sz++] = pos; + used[pos] = true; + pos = p[pos]; + } + + ++cont[sz]; + } + + valid = true; + + for(int i=2;i<=26;i+=2) + if(cont[i]%2==1) + valid = false; + + printf("%s\n",valid? "Yes":"No"); + } + + return 0; +} diff --git a/Tianjin Online Judge/2654 - Jackpot.cpp b/Tianjin Online Judge/2654 - Jackpot.cpp new file mode 100755 index 0000000..eb9802c --- /dev/null +++ b/Tianjin Online Judge/2654 - Jackpot.cpp @@ -0,0 +1,54 @@ +#include +#include + +using namespace std; + +int main(){ + bool p[1000]; + int P[168]; + + fill(p,p+1000,true); + + p[0]=p[1]=false; + + for(int i=2,k=0;i<1000;i++) + if(p[i]){ + for(int j=i*i;j<1000;j+=i) p[j]=false; + P[k++]=i; + } + + int n,w,aux,cont; + long long x; + int T[5]; + int pow[168]; + double check; + scanf("%d",&n); + + for(int i=0;i1000000000) printf("More than a billion.\n"); + else printf("%lld\n",x); + } + + return 0; +} diff --git a/Tianjin Online Judge/2674 - Java vs C++.cpp b/Tianjin Online Judge/2674 - Java vs C++.cpp new file mode 100755 index 0000000..abbbb9e --- /dev/null +++ b/Tianjin Online Judge/2674 - Java vs C++.cpp @@ -0,0 +1,48 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + bool c,java,error; + int n; + + while(cin>>s){ + c=java=false; + n=s.size(); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + int M[100][100]; + + for(int i=0;i +#include + +using namespace std; + +int memo[11][101][101]; + +int solve(int n, int a, int b){ + if(a>b) return 0; + if(memo[n][a][b]!=-1) return memo[n][a][b]; + + if(n==1) memo[n][a][b]=b*(b+1)/2-(a-1)*a/2; + else{ + int aux=INT_MAX; + for(int i=a;i<=b;i++) aux=min(aux,i+max(solve(n-1,a,i-1),solve(n,i+1,b))); + memo[n][a][b]=aux; + } + + return memo[n][a][b]; +} + +int main(){ + int T,k,m; + + scanf("%d",&T); + + memset(memo,-1,sizeof(memo)); + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + int T,n,R,C,dist,aux; + vector v; + int pos[11][2]; + + cin>>T; + + for(int caso=1;caso<=T;caso++){ + cin>>R>>C; + cin>>pos[0][0]>>pos[0][1]; + + cin>>n; + + for(int i=1;i<=n;i++) cin>>pos[i][0]>>pos[i][1]; + + v.clear(); + + for(int i=1;i<=n;i++) v.push_back(i); + + dist=INT_MAX; + + do{ + aux=abs(pos[v[0]][0]-pos[0][0])+abs(pos[v[0]][1]-pos[0][1]); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,cont; + vector p; + bool primo[32768]; + + p.push_back(2); + memset(primo,1,sizeof(primo)); + p[0]=p[1]=0;p[2]=1; + + for(int i=2;i<(1<<15);i++){ + if(primo[i]){ + p.push_back(i); + for(int j=2;j*i<32768;j++) primo[i*j]=0; + } + } + + while(1){ + scanf("%d",&n); + if(n==0) break; + + cont=0; + + for(int i=0;p[i]<=n/2;i++){ + if(primo[n-p[i]]) cont++; + } + + cout< + +using namespace std; + +int main(){ + int n; + + cin>>n; + if(n>=3) cout<<"NO"<>coef[i]; + + if(coef[1]*coef[1]-4*coef[0]*coef[2]<0) cout<<"YES"< +#include + +using namespace std; + +#define MAXN 100000 +#define LOG2_MAXN 16 + +int n,a[MAXN],M[LOG2_MAXN+2][MAXN]; +int depth[(1<<(LOG2_MAXN+2))],L[(1<<(LOG2_MAXN+2))],first[(1<<(LOG2_MAXN+2))]; + +void generate(int node, int d, int s, int e){ + depth[node] = d; + L[node] = e-s+1; + first[node] = s; + + if(s==e) M[d][s] = a[s]; + else{ + int mi = (s+e)/2; + + generate(2*node+1,d+1,s,mi); + generate(2*node+2,d+1,mi+1,e); + + int sz1 = mi-s+1,sz2 = e-mi; + int s1 = s,s2 = mi+1; + int cont1 = 0,cont2 = 0; + + while(cont1b || e=a && e<=b){ + ind[num] = node; + ++num; + }else{ + int mi = (s+e)/2; + get_nodes(2*node+1,s,mi,a,b); + get_nodes(2*node+2,mi+1,e,a,b); + } +} + +int count(int idx, int val){ + int d = depth[idx],s = first[idx],l = L[idx]; + + if(M[d][s]>val) return 0; + + int lo = 0,hi = l-1,mi; + + while(lo!=hi){ + mi = (lo+hi+1)/2; + + if(M[d][s+mi]<=val) lo = mi; + else hi = mi-1; + } + + return lo+1; +} + +int get_Kth(int s, int e, int k){ + num = 0; + get_nodes(0,0,n-1,s,e); + + int lo = 0,hi = n-1,mi; + + while(lo!=hi){ + mi = (lo+hi)/2; + + int cont = 0; + + for(int i = 0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + vector a(n); + + for(int i=0;i>a[i]; + + vector v; + + for(int i=n;i>0;i--){ + v.insert(v.begin()+a[i-1],i); + } + + for(int i=0;i +#include + +using namespace std; + +#define min(a,b) a=0;i--){ + while(txt[pos] != w[ind][i]){ + pos--; + cont++; + + if(pos<0) return n; + } + pos--; + } + + return cont+dp[pos+1]; +} + +int main(){ + scanf("%d %d",&W,&L); + + scanf("%s",txt); + + for(int i=0;i +#include + +using namespace std; + +struct edge{ + int v,t; + + edge(int _v, int _t){ + v=_v; + t=_t; + } +}; + +struct node{ + int u,t; + + node(){ + } + + node(int _u, int _t){ + u=_u; + t=_t; + } + + bool operator < (node X) const{ + return t>X.t; + } +}; + +vector dijkstra(vector< vector > &L, int &start){ + priority_queue Q; + Q.push(node(start,0)); + + int n=L.size(); + bool reached[n]; + fill(reached,reached+n,false); + int T[n]; + + node aux; + int u,t; + + while(!Q.empty()){ + aux=Q.top(); + Q.pop(); + + u=aux.u; t=aux.t; + + if(reached[u]) continue; + reached[u]=true; + T[u]=t; + + for(int i=L[u].size()-1;i>=0;i--){ + if(reached[L[u][i].v]) continue; + Q.push(node(L[u][i].v,aux.t+L[u][i].t)); + } + } + + vector v(T,T+n); + + return v; +} + +int main(){ + int N,M,X; + + scanf("%d %d %d",&N,&M,&X); + X--; + + int u,v,t; + vector< vector > L1(N); + vector< vector > L2(N); + + for(int i=0;i T1=dijkstra(L1,X); + vector T2=dijkstra(L2,X); + + int ans=0; + + for(int i=0;i +#include + +using namespace std; + +struct node{ + int r,c,t; + + node(){ + } + + node(int _r, int _c, int _t){ + r=_r; + c=_c; + t=_t; + } +}; + +int main(){ + int M,N,M1,M2; + + scanf("%d %d %d %d",&M,&N,&M1,&M2); + + int X[M][N],rs,cs,re,ce; + + for(int i=0;i Q; + Q.push(node(rs,cs,0)); + visited[rs][cs]=true; + + int dr[]={-1,-1,1,1}; + int dc[]={1,-1,1,-1}; + + while(1){ + aux=Q.front(); + Q.pop(); + + r=aux.r; + c=aux.c; + t=aux.t; + + if(r==re && c==ce){ + printf("%d\n",t); + break; + } + + for(int i=0;i<4;i++){ + r2=r+dr[i]*M1; c2=c+dc[i]*M2; + if(r2>=0 && r2=0 && c2=0 && r2=0 && c2 +#include + +using namespace std; + +int main(){ + int N,M; + + scanf("%d %d",&N,&M); + + int a[N],b[M]; + + for(int i=0;i +#include + +using namespace std; + +int h[50000],T1[(1<<17)+1],T2[(1<<17)+1]; + +void initialize_T1(int a, int b, int num){ + if(a==b) T1[num]=h[a]; + else{ + initialize_T1(a,(a+b)>>1,2*num+1); + initialize_T1(((a+b)>>1)+1,b,2*num+2); + T1[num]=min(T1[2*num+1],T1[2*num+2]); + } +} + +void initialize_T2(int a, int b, int num){ + if(a==b) T2[num]=h[a]; + else{ + initialize_T2(a,(a+b)>>1,2*num+1); + initialize_T2(((a+b)>>1)+1,b,2*num+2); + T2[num]=max(T2[2*num+1],T2[2*num+2]); + } +} + +int x,y; + +int search_T1(int a, int b, int num){ + if(x>b || y>1,2*num+1); + int h2=search_T1(((a+b)>>1)+1,b,2*num+2); + if(h1==-1) return h2; + if(h2==-1) return h1; + return min(h1,h2); + } +} + +int search_T2(int a, int b, int num){ + if(x>b || y>1,2*num+1); + int h2=search_T2(((a+b)>>1)+1,b,2*num+2); + if(h1==-1) return h2; + if(h2==-1) return h1; + return max(h1,h2); + } +} + +int main(){ + int N,Q; + scanf("%d %d",&N,&Q); + + for(int i=0;i +#include +#include + +using namespace std; + +bool p[4000001]; + +int main(){ + int A,B,D; + + scanf("%d %d %d",&A,&B,&D); + + fill(p,p+4000001,true); + p[1]=false; + + double root=sqrt(B); + + for(int i=2;i<=root && i<=2000;i++) + if(p[i]){ + for(int j=i*i;j<=B;j+=i) p[j]=false; + } + + int cont=0; + + for(int i=A;i<=B;i++) + if(p[i]){ + for(int x=i;x!=0;x/=10) + if(x%10==D){ + cont++; + break; + } + } + + printf("%d\n",cont); + + return 0; +} diff --git a/Tianjin Online Judge/2768 - Making Change.cpp b/Tianjin Online Judge/2768 - Making Change.cpp new file mode 100755 index 0000000..ecc0989 --- /dev/null +++ b/Tianjin Online Judge/2768 - Making Change.cpp @@ -0,0 +1,36 @@ +#include + +using namespace std; + +int a[10]; +int C,N; + +int memo[1000][10]; + +int f(int x, int y){ + if(x==0) return 0; + + if(y==N || x<0) return (1<<20); + + if(memo[x][y]!=-1) return memo[x][y]; + + memo[x][y]=min(1+f(x-a[y],y),f(x,y+1)); + + return memo[x][y]; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + cin>>C>>N; + + for(int i=0;i>a[i]; + + for(int i=0;i<=C;i++) + for(int j=0;j +#include + +using namespace std; + +struct nodo{ + int pos; + int height; + + nodo(int a, int b){ + pos=a; + height=b; + } +}; + +int N; +int a[20]; +int b[20]; +bool M[20][20]; +int in[20]; +int visited[20]; + +int bfs(){ + queue Q; + + for(int i=0;i= aux.height) continue; + visited[aux.pos]=aux.height; + + ans=max(ans,aux.height); + + for(int i=0;i>N; + + for(int i=0;i>a[i]>>b[i]; + + memset(M,false,sizeof(M)); + memset(in,0,sizeof(in)); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N,ans; + int a1[20]; + int a2[20]; + int dp[20]; + + scanf("%d",&N); + + for(int i=0;ia1[i] && a2[j]>a2[i]){ + swap(a1[i],a1[j]); + swap(a2[i],a2[j]); + } + } + } + + for(int i=0;i=0;j--) + if(a1[j]>a1[i] && a2[j]>a2[i]) dp[i]=max(dp[i],1+dp[j]); + } + + ans=-1; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int W[100][100]; + int row[100]; + int column[100]; + + int T,R,C; + int VIP; + + scanf("%d",&T); + + for(int caso=0;caso +#include + +using namespace std; + +int main(){ + int T,x; + char c; + int cont[52]; + + scanf("%d\n",&T); + + for(int caso=1;caso<=T;caso++){ + fill(cont,cont+52,0); + + while(1){ + c=getchar(); + if(c=='\n') break; + + if(c>='A' && c<='Z') cont[c-'A']++; + else cont[26+c-'a']++; + } + + x=0; + + for(int i=0;i<26;i++) + if(cont[i]>x){ + x=cont[i]; + c='A'+i; + } + + for(int i=26;i<52;i++) + if(cont[i]>x){ + x=cont[i]; + c='a'+i-26; + } + + printf("%c\n",c); + } + + return 0; +} diff --git a/Tianjin Online Judge/2772 - Parallelogram.cpp b/Tianjin Online Judge/2772 - Parallelogram.cpp new file mode 100755 index 0000000..6c03c56 --- /dev/null +++ b/Tianjin Online Judge/2772 - Parallelogram.cpp @@ -0,0 +1,21 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,X1,Y1,X2,Y2,X3,Y3,X4,Y4; + + cin>>T; + + for(int i=0;i>X1>>Y1>>X3>>Y3>>X2>>Y2>>X4>>Y4; + + if(X1+X3==X2+X4 && Y1+Y3==Y2+Y4) cout<<"Yes"< +#include + +using namespace std; + +struct homework{ + int t,w; + + homework(){} + + homework(int _t, int _w){ + t = _t; w = _w; + } + + bool operator < (homework X) const{ + return w*X.t>t*X.w; + } +}L[1000]; + +int main(){ + int T,n,C,ans; + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector cont1(52); + vector cont2(52); + int T; + + cin>>T; + + string s1,s2; + + for(int caso=1;caso<=T;caso++){ + cin>>s1>>s2; + + if(s1.size()!=s2.size()){ + cout<<"No"<='a'&& s1[i]<='z') cont1[s1[i]-'a']++; + else cont1[s1[i]-'A']++; + + if(s2[i]>='a'&& s2[i]<='z') cont2[s2[i]-'a']++; + else cont2[s2[i]-'A']++; + } + + if(cont1==cont2) cout<<"Yes"< + +using namespace std; + +int main(){ + int T,k,cont; + int n1[]={6,28,220,496,1184,2620,5020,6232,8128,10744,12285,17296,63020,66928,67095,69615,79759}; + int n2[]={6,28,284,496,1210,2924,5564,6368,8128,10856,14595,18416,76084,66992,71145,87633,88730}; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d",&k); + + cont=0; + + for(int i=0;i<17;i++) if(n1[i]<=k && n2[i]<=k) cont++; + + printf("%d\n",cont); + } + + return 0; +} diff --git a/Tianjin Online Judge/2791 - Bovine Latin.cpp b/Tianjin Online Judge/2791 - Bovine Latin.cpp new file mode 100755 index 0000000..4c74078 --- /dev/null +++ b/Tianjin Online Judge/2791 - Bovine Latin.cpp @@ -0,0 +1,25 @@ +#include +#include + +using namespace std; + +string s,N; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + + cin>>N; + + for(int i=0;i>s; + + if(s[0]=='a'||s[0]=='e'||s[0]=='i'||s[0]=='o'||s[0]=='u') cout< +#include + +using namespace std; + +int main(){ + int N,K; + + scanf("%d %d",&N,&K); + + int H[N]; + + for(int i=0;iK) ok=false; + + if(ok) cont++; + }while(next_permutation(ind+1,ind+N)); + + printf("%u\n",cont); + + return 0; +} diff --git a/Tianjin Online Judge/2794 - Bus.cpp b/Tianjin Online Judge/2794 - Bus.cpp new file mode 100755 index 0000000..9b25825 --- /dev/null +++ b/Tianjin Online Judge/2794 - Bus.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std; + +short a[1000000]; +short b[1000000]; +int dp[2][3]; + +int main(){ + int T,n,x; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%d",&n); + + for(int i=0;i=0;i--){ + x=0; + if(i+1 + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,n; + cin>>t; + + while(cin>>n) cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + double a,b,c,D,x; + + cin>>n; + + for(int i=0;i>a>>b>>c; + + D=b*b-4*a*c; + + if(D<0){ + cout<<"No solution!"< +#include + +using namespace std; + +int pot3[]={1,3,9,27,81,243,729,2187,6561,19683}; + +void f(int n){ + if(n==0){ + cout<<'@'; + return; + } + + f(n-1); + string s(pot3[n-1],' '); + cout<>n){ + f(n); + cout< +#include +#include + +using namespace std; + +char map[50][51]; +int R,C; +bool visited[50][50]; + +int dr[]={1,-1,0,0}; +int dc[]={0,0,1,-1}; + +struct nodo{ + int r,c,cont; + + nodo(){ + } + + nodo(int _r, int _c, int _cont){ + r=_r; + c=_c; + cont=_cont; + } +}; + +int bfs01(int r, int c){ + deque Q; + Q.push_back(nodo(r,c,0)); + nodo aux; + + for(int i=0;i=0 && r=0 && c +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int x,y,I,J,r; + + while(scanf("%d %d",&x,&y)==2){ + if(x==0 && y==0) cout<<1< +#include + +using namespace std; + +int roads[1000][1000]; +int visited[1000]; + +int N,M,S,E; + +struct nodo{ + int pos; + int dist; + + nodo(int a, int b){ + pos=a; + dist=b; + } + + bool operator < (nodo X) const{ + return dist>X.dist; + } +}; + +int shortest_path(){ + priority_queue Q; + + Q.push(nodo(S,0)); + + while(!Q.empty()){ + nodo aux=Q.top(); + Q.pop(); + + if(aux.pos==E) return aux.dist; + + if(visited[aux.pos]<=aux.dist) continue; + + visited[aux.pos]=aux.dist; + + for(int i=0;i>T; + + for(int caso=0;caso>N>>M; + + cin>>S>>E; + S--; + E--; + + for(int i=0;i>A>>B>>C; + A--; B--; + + roads[A][B]=min(roads[A][B],C); + roads[B][A]=roads[A][B]; + } + + fill(visited,visited+N,(1<<20)); + + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,sum,min_diff,aux; + int W[15]; + + while(cin>>N,N!=0){ + sum=0; + + for(int i=0;i>W[i]; + sum+=W[i]; + } + + min_diff=(1<<20); + + for(int mask=1;mask<(1< + +using namespace std; + +#define min(a,b) a +#include +#include +#include + +using namespace std; + +int c[402][402]; +int f[402][402]; +vector< vector > L; +int t,n,v; +int prev[402]; + +bool augmenting(){ + fill(prev,prev+t+1,-1); + + queue Q; + Q.push(0); + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + if(aux==t) break; + + n=L[aux].size(); + + for(int i=0;i +#include + +using namespace std; + +#define QSIZE 200000 + +int Q[QSIZE],dist[QSIZE],start,end; + +int min_moves(int N, int K){ + for(int i=0;i0 && dist[aux-1]==-1){ + Q[end++]=aux-1; + dist[aux-1]=dist[aux]+1; + } + + if(aux<100000 && dist[aux+1]==-1){ + Q[end++]=aux+1; + dist[aux+1]=dist[aux]+1; + } + + if(2*aux +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,I,J; + int max_score,sum; + int cards[7][7]; + string s; + + scanf("%d",&N); + + for(int i=0;i>s; + if(s[0]=='A') cards[i][j]=1; + else if(s[0]=='T') cards[i][j]=10; + else if(s[0]=='J') cards[i][j]=11; + else if(s[0]=='Q') cards[i][j]=12; + else if(s[0]=='K') cards[i][j]=13; + else cards[i][j]=s[0]-'0'; + } + } + + max_score=-1; + + s=""; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int F,K,L,I,cont; + bool garden[10000]; + + scanf("%d %d",&F,&K); + + fill(garden,garden+F,0); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,L,aux; + bool ok; + + scanf("%d %d",&N,&L); + + for(int i=1,cont=0;;i++){ + aux=i; + + ok=true; + + while(aux!=0 && ok){ + if(aux%10==L) ok=false; + aux/=10; + } + + if(ok) cont++; + + if(cont==N){ + printf("%d\n",i); + break; + } + } + + return 0; +} diff --git a/Tianjin Online Judge/2830 - Bronze Cow Party.cpp b/Tianjin Online Judge/2830 - Bronze Cow Party.cpp new file mode 100755 index 0000000..0a0c3c6 --- /dev/null +++ b/Tianjin Online Judge/2830 - Bronze Cow Party.cpp @@ -0,0 +1,70 @@ +#include +#include + +using namespace std; + +int N,M,X; +int visited[1000]; +int T[1000][1000]; + +struct nodo{ + int pos; + int time; + + nodo(int a, int b){ + pos=a; + time=b; + } +}; + +void bfs(){ + queue Q; + + Q.push(nodo(X,0)); + + while(!Q.empty()){ + nodo aux=Q.front(); + Q.pop(); + + + if(visited[aux.pos]<=aux.time) continue; + + visited[aux.pos]=aux.time; + + for(int i=0;i + +using namespace std; + +int main(){ + int T,V,E,M,W,u,v,cost; + int edge[5200][2]; + int edge_cost[5200]; + int dist[500]; + bool found; + + scanf("%d",&T); + + for(int tc=0;tcdist[edge[j][0]]+edge_cost[j]) found=true; + + if(found) printf("YES\n"); + else printf("NO\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/2834 - Cow Picnic.cpp b/Tianjin Online Judge/2834 - Cow Picnic.cpp new file mode 100755 index 0000000..775b0b3 --- /dev/null +++ b/Tianjin Online Judge/2834 - Cow Picnic.cpp @@ -0,0 +1,76 @@ +#include +#include +#include + +using namespace std; + +bool visited[1000]; +int L[1000][1000]; +int gr[1000]; + +void bfs(int a){ + queue Q; + Q.push(a); + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + if(visited[aux]) continue; + visited[aux]=1; + + for(int i=0;i S; + + scanf("%d %d %d",&K,&N,&M); + + int aux1,aux2; + + for(int i=0;i :: iterator it; + + for(it=S.begin();it!=S.end();it++){ + fill(visited,visited+N,false); + + bfs((*it)); + + for(int i=0;i +#include + +using namespace std; + +struct component{ + int X,W,F,C; + + component(){ + } + + bool operator < (component P) const{ + return X + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int C,B,sum,mx; + + cin>>C>>B; + + int calories[21]; + + for(int i=0;i>calories[i]; + + mx=0; + + for(int mask=1;mask<(1< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,M,ax; + int cont[10]; + + scanf("%d %d",&M,&N); + + memset(cont,0,sizeof(cont)); + + for(int i=M;i<=N;i++){ + ax=i; + + while(ax!=0){ + cont[ax%10]++; + ax/=10; + } + } + + printf("%d %d %d %d %d %d %d %d %d %d\n",cont[0],cont[1],cont[2],cont[3],cont[4],cont[5],cont[6],cont[7],cont[8],cont[9]); + + return 0; +} diff --git a/Tianjin Online Judge/2841 - Bitwise Reverse.cpp b/Tianjin Online Judge/2841 - Bitwise Reverse.cpp new file mode 100755 index 0000000..d748611 --- /dev/null +++ b/Tianjin Online Judge/2841 - Bitwise Reverse.cpp @@ -0,0 +1,27 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + int reversed; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + reversed=0; + + for(int i=0;i<31;i++) + if((N&(1< +#include + +using namespace std; + +int main(){ + int t,n,aux; + int cost[10000][3]; + int dp[2][3]; + + scanf("%d",&t); + + for(int i=0;i + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + int h[N]; + + for(int i=0;i=0;i--){ + stop[i]=i+1; + + while(stop[i] +#include + +using namespace std; + +int N,start,end,cont; +char M[15][27]; +int sz[15]; +char s[16]; +bool used[26]; + +void generate(int n){ + if(cont>end) return; + + if(n==N){ + cont++; + + if(cont>=start && cont<=end){ + for(int i=0;i + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + int x[N],y[N]; + int dist[N][N]; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,a,x,y; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + x=-1; + y=-1; + + for(int i=0;iy){ + x=y; + y=a; + }else if(a>x && a +#include + +using namespace std; + +int main(){ + int T,N,a[100000],ans,pos; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + + for(int i=0;i=0;i--) + if(a[i+4]-a[i]+1<=ans){ + pos=i; + ans=a[i+4]-a[i]+1; + } + + printf("Scenario #%d:\n",tc); + printf("%d:",a[pos+4]-a[pos]+1); + for(int i=0;i<5;i++) printf(" %d",a[pos+i]); + printf("\n\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/2866 - Mountain Majesties.cpp b/Tianjin Online Judge/2866 - Mountain Majesties.cpp new file mode 100755 index 0000000..3cc4ca0 --- /dev/null +++ b/Tianjin Online Judge/2866 - Mountain Majesties.cpp @@ -0,0 +1,55 @@ +#include +#include +#include + +using namespace std; + +struct triangle{ + int x1,x2; + + triangle(){ + } + + triangle(int _x1, int _x2){ + x1=_x1; + x2=_x2; + } + + bool operator < (triangle X)const{ + if(x1!=X.x1) return x1 T; + + scanf("%d",&N); + + for(int i=0;i +#include + +using namespace std; + +struct game{ + int S,D; + + game(){ + } + + game(int s, int d){ + S=s; + D=d; + } + + bool operator < (game X) const{ + if(S!=X.S) return S +#include +#include +#include + +using namespace std; + +int N, M, K; +vector< vector< pair > > v; +bool X[200]; + +struct nodo{ + int a; + int cost; + + nodo(int x, int y){ + a=x; + cost=y; + } + + bool operator < (nodo Y)const{ + if(cost==Y.cost) return a>Y.a; + + return cost>Y.cost; + } +}; +int cont; + +void bfs(){ + priority_queue Q; + + X[0]=1; + for(int i=0;i>N){ + if(N==0) break; + + cin>>M; + + v.clear(); + v.resize(N); + + for(int i=0;i>K; + + memset(X,0,sizeof(X)); cont=0; + + bfs(); + } +} diff --git a/Tianjin Online Judge/2872 - Barbara Bennett's Wild Numbers.cpp b/Tianjin Online Judge/2872 - Barbara Bennett's Wild Numbers.cpp new file mode 100755 index 0000000..e697e19 --- /dev/null +++ b/Tianjin Online Judge/2872 - Barbara Bennett's Wild Numbers.cpp @@ -0,0 +1,50 @@ +#include +#include + +using namespace std; + +int L; +string s2; + +long long solve(string s){ + int cont = 0; + for(int i=0;is2[i]){ + ans = 1; + for(int j=0;j>s1; + if(s1=="#") break; + cin>>s2; + + L = s1.size(); + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,NCS,NE,aux; + + double prom1,prom2; + + int IQ[200000]; + + scanf("%d",&T); + + for(int caso=0;casoprom2) aux++; + + printf("%d\n",aux); + } + + return 0; +} diff --git a/Tianjin Online Judge/2883 - City Mapping.cpp b/Tianjin Online Judge/2883 - City Mapping.cpp new file mode 100755 index 0000000..7d9f6bd --- /dev/null +++ b/Tianjin Online Judge/2883 - City Mapping.cpp @@ -0,0 +1,64 @@ +#include +#include +#include + +using namespace std; + +int main(){ + int T,M,N,I; + vector v(200); + int r,c,x; + string dir; + + T=1; + + while(1){ + cin>>M>>N>>I; + if(M==0 && N==0 && I==0) break; + + cout<<"Scenario #"<>dir>>x; + + if(dir[0]=='S'){ + v[r][c]='+'; + for(int j=1;j + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,N; + int a[20]; + + cin>>t; + + for(int caso=0;caso>N; + + for(int i=0;i>a[i]; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + bool M[20][20]; + int t,n,m,a,b; + + cin>>t; + + for(int caso=0;caso>n>>m; + + memset(M,0,sizeof(M)); + + for(int i=0;i>a>>b; + a--; + b--; + M[a][b]=1; + } + + for(int k=0;k +#include + +using namespace std; + +double h,e; + +double calcularH(double T, double D){ + e=6.11*exp(5417.753*(1/273.16 - 1/(D+273.16))); + h=0.5555*(e-10.0); + + return T+h; +} + +double calcularT(double H, double D){ + e=6.11*exp(5417.753*(1/273.16 - 1/(D+273.16))); + h=0.5555*(e-10.0); + + return H-h; +} + +double calcularD(double H, double T){ + h=H-T; + e=h/0.5555+10.0; + + double D=1/(1/273.16 - 1/5417.753*log(e/6.11))-273.16; + + return D; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + char c1,c2; + double n1,n2; + double T,H,D; + + while(1){ + cin>>c1; + if(c1=='E') break; + + cin>>n1>>c2>>n2; + + if(c1=='T' && c2=='H'){ + T=n1; + H=n2; + D=calcularD(n2,n1); + }else if(c1=='H' && c2=='T'){ + H=n1; + T=n2; + D=calcularD(n1,n2); + }else if(c1=='T' && c2=='D'){ + T=n1; + D=n2; + H=calcularH(n1,n2); + }else if(c1=='D' && c2=='T'){ + D=n1; + T=n2; + H=calcularH(n2,n1); + }else if(c1=='H' && c2=='D'){ + H=n1; + D=n2; + T=calcularT(n1,n2); + }else{ + D=n1; + H=n2; + T=calcularT(n2,n1); + } + + printf("T %.1f D %.1f H %.1f\n",T,D,H); + } + + return 0; +} diff --git a/Tianjin Online Judge/2908 - Annoying painting tool.cpp b/Tianjin Online Judge/2908 - Annoying painting tool.cpp new file mode 100755 index 0000000..bd5c22a --- /dev/null +++ b/Tianjin Online Judge/2908 - Annoying painting tool.cpp @@ -0,0 +1,61 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,m,r,c,cont; + vector v; + string s; + bool X[100][100],ok; + + while(1){ + cin>>n>>m>>r>>c; + if(n==0 && m==0 && r==0 && c==0) break; + + getline(cin,s); + v.clear(); + + for(int i=0;i + +using namespace std; + +/*where n is the number of rows of the painting, and m is the number of columns of the painting. +c is always 0 or 1, where 0 indicates that the bottom right corner of the painting is black, +and 1 indicates that this corner is white.*/ + +int n,m,c; +int a,b,i,j; + +int f(int x, int y){ + + a=0; b=0; + i=x-1; + while(i>=7){ + i-=2; + a++; + } + + j=y-1; + while(j>=7){ + j-=2; + b++; + } + + return a*b; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + while(1){ + scanf("%d %d %d",&n,&m,&c); + if(n==0 && m==0 && c==0) break; + + if(c==0){ + int tot=f(n-1,m)+f(n,m-1); + cout< +#include + +using namespace std; + +int h,w; + +double V1(double r){ + return M_PI*r*r*w; +} + +double V2(double r){ + return M_PI*r*r*(h-2*r); +} + +int main(){ + double ans; + + while(true){ + scanf("%d %d",&w,&h); + if(w==0) break; + + ans = fmax(V1(fmin(h/(2*M_PI+2),w/2.0)),V2(w/(2*M_PI))); + printf("%.3lf\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/2911 - Deli Deli.cpp b/Tianjin Online Judge/2911 - Deli Deli.cpp new file mode 100755 index 0000000..ea26f2b --- /dev/null +++ b/Tianjin Online Judge/2911 - Deli Deli.cpp @@ -0,0 +1,40 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + short L,N; + string s1,s2; + map M; + + cin>>L>>N; + + for(int i=0;i>s1>>s2; + M[s1]=s2; + } + + char c1,c2; + + for(int i=0;i>s1; + if(M[s1]!="") cout< +#include +#include +#include + +using namespace std; + +char s[10001]; +string ans[10000]; + +void generate(int &pos, int h){ + ans[h] += s[pos]; + --pos; + + if(islower(s[pos+1])) return; + + generate(pos,h+1); + generate(pos,h+1); +} + +int main(){ + int T,L,pos; + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%s",s); + L = strlen(s); + fill(ans,ans+L,""); + + pos = L-1; + generate(pos,0); + + for(int i=L-1;i>=0;--i) printf("%s",ans[i].c_str()); + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/2913.cpp b/Tianjin Online Judge/2913.cpp new file mode 100755 index 0000000..a1b377b --- /dev/null +++ b/Tianjin Online Judge/2913.cpp @@ -0,0 +1,98 @@ +#include +#include +#include + +using namespace std; + +#define MAX_N 100000 +#define LOG2_MAXN 16 + +int N,A[MAX_N],ind[(1<<(LOG2_MAXN+2))]; + +void initialize(int node, int s, int e){ + if(s==e) ind[node] = s; + else{ + initialize(2*node+1,s,((s+e)>>1)); + initialize(2*node+2,((s+e)>>1)+1,e); + if (A[ind[2*node+1]]>=A[ind[2*node+2]]) ind[node] = ind[2*node+1]; + else ind[node] = ind[2*node+2]; + } +} + +int query(int node, int s, int e, int a, int b){ + if(be) return -1; + if(a<=s && e<=b) return ind[node]; + int ind1 = query(2*node+1,s,((s+e)>>1),a,b); + int ind2 = query(2*node+2,((s+e)>>1)+1,e,a,b); + if(ind1==-1) return ind2; + if(ind2==-1) return ind1; + if(A[ind1]>=A[ind2]) return ind1; + return ind2; +} + +int F[MAX_N+1]; + +int solve(int s, int e){ + int ans = 1,lo = 1,hi = N,mi,ind1,ind2; + + while(lo>1; + if(s>F[mi-1]) lo = mi; + else hi = mi-1; + } + + ind1 = lo; lo = 1; hi = N; + + while(lo>1; + if(e>F[mi-1]) lo = mi; + else hi = mi-1; + } + + ind2 = lo; + + if(ind1==ind2) return e-s+1; + + ans = max(ans,F[ind1]-s+1); + ans = max(ans,e-F[ind2-1]); + + if(ind2==ind1+1) return ans; + + ind2 -= 2; + ans = max(ans,A[query(0,0,N-1,ind1,ind2)]); + + return ans; +} + +int main(){ + int n,Q,a,b; + + while(scanf("%d %d",&n,&Q)==2){ + scanf("%d",&a); + A[0] = 1; N = 1; + + for(int i=1;i + +using namespace std; + +int main(){ + int d,num,dem; + double p1,p2,p3,p4; + + for(int a=1;a<=500;++a){ + for(int b=a;a+b<=1000;++b){ + for(int c=b;a+b+c<=1500;++c){ + num = 1000000*(a+b+c); dem = a*b*c-1000000; + if(dem<=0 || num%dem!=0) continue; + d = num/dem; + if(c<=d && a+b+c+d<=2000){ + p1 = a/100.0; p2 = b/100.0; p3 = c/100.0; p4 = d/100.0; + printf("%.2lf %.2lf %.2lf %.2lf\n",p1,p2,p3,p4); + } + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/2915 - Halloween treats.cpp b/Tianjin Online Judge/2915 - Halloween treats.cpp new file mode 100755 index 0000000..f2210d2 --- /dev/null +++ b/Tianjin Online Judge/2915 - Halloween treats.cpp @@ -0,0 +1,42 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int a[100000]; + int sum[100001]; + int mod[100000]; + int c,n; + + while(1){ + scanf("%d %d",&c,&n); + + if(c==0 && n==0) break; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + float S; + + while(true){ + cin>>S; + if(S<0) break; + + cout< + +using namespace std; + +int n,m; +int s[3][10]; +int total[3]; +int cont; +int max_problems; + +void backtracking(int a){ + if(a==n){ + max_problems=max(cont,max_problems); + return; + } + + for(int i=0;i<3;i++){ + if(s[i][a]==-1 || total[i]+s[i][a]>m) continue; + + cont++; + total[i]+=s[i][a]; + + backtracking(a+1); + + cont--; + total[i]-=s[i][a]; + } + + backtracking(a+1); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t; + + cin>>t; + + total[0]=total[1]=total[2]=0; + + for(int caso=0;caso>n>>m; + + for(int i=0;i<3;i++) + for(int j=0;j>s[i][j]; + + max_problems=0; + cont=0; + + backtracking(0); + + cout< +#include +#include +#include + +using namespace std; + +#define abs(x) (x)>0? (x):-(x) + +struct node{ + int v; + long long dist; + + node(){} + + node(int _v, int _dist){ + v = _v; dist = _dist; + } + + bool operator < (node X)const{ + return dist>X.dist; + } +}aux; + +#define MAX_V 100 + +int n,H[MAX_V],dist[MAX_V][MAX_V]; +bool visited[MAX_V]; + +int calcDist(int diff){ + int ans = -1; + + for(int ind=0;indH[ind]+diff); + + if(visited[0]) continue; + + priority_queue Q; + Q.push(node(0,0)); + + while(!Q.empty()){ + aux = Q.top(); + Q.pop(); + + if(visited[aux.v]) continue; + visited[aux.v] = true; + + if(aux.v==n-1){ + if(ans==-1 || aux.dist +#include +#include +#include + +using namespace std; + +int h,w; +vector machine; +double expected[100][100]; + +double calcular(int a, int b){ + if(b==h) return 0.0; + + if(expected[b][a]!=-1.0) return expected[b][a]; + + if(machine[b][a]=='*'){ + expected[b][a]=calcular(a-1,b)*0.5+calcular(a+1,b)*0.5; + return expected[b][a]; + }else if(machine[b][a]>='1' && machine[b][a]<='9'){ + expected[b][a]=(machine[b][a]-'0'); + return expected[b][a]; + }else return calcular(a,b+1); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t; + string s; + + double max_expected; + double result; + + cin>>t; + + for(int caso=0;caso>h>>w; + + machine.clear(); + + for(int i=0;i>s; + machine.push_back(s); + } + + max_expected=0.0; + + for(int i=0;i +#include +#include +#define all(v) (v).begin(), (v).end() +using namespace std; + +struct X +{ + int ind; + long long A; + long long B; + X(int x,int y, int z) + { + ind=x; + A=y; + B=z; + } +}; +bool operator <(X a, X b) +{ + return a.A>N>>K; + vector v; + int A,B; + + for(int i=0;i>A>>B; + v.push_back(X(i+1,A,B)); + } + + sort(v.rbegin(), v.rend()); + + int mx=-1; + int ax; + + for(int i=0;imx) + { + mx=v[i].B; + ax=v[i].ind; + } + } + + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,n; + string s; + vector list; + bool ok; + + cin>>t; + + for(int caso=0;caso>n; + + list.clear(); + + for(int i=0;i>s; + list.push_back(s); + } + + sort(list.begin(),list.end()); + + ok=true; + + for(int i=0;i=list[i].size()){ + s=list[i+1].substr(0,list[i].size()); + if(s==list[i]){ + ok=false; + break; + } + } + } + + if(ok) cout<<"YES"< + +using namespace std; + +int main(){ + + int n,t; + int prices[20000]; + int discount; + + cin>>t; + + for(int caso=0;caso>n; + + for(int i=0;i>prices[i]; + + sort(prices,prices+n); + + discount=0; + + for(int i=n-3;i>=0;i-=3) discount+=prices[i]; + + cout< +#include + +using namespace std; + +const int MOD = 1000000007; +int first[100001][26],dp[100000]; + +int main(){ + int T; + scanf("%d",&T); + + char s[100000]; + bool used[26]; + + for(int tc=1;tc<=T;++tc){ + scanf("%s",s); + + int n = strlen(s); + + for(int i=0;i<26;++i) first[n][i] = -1; + + for(int i=n-1;i>=0;--i){ + for(int j=0;j=0;--i){ + dp[i] = 1; + + for(int j=0;j<26;++j){ + if(first[i+1][j]==-1) continue; + dp[i] += dp[first[i+1][j]]; + if(dp[i]>MOD) dp[i] -= MOD; + } + } + + int ans = 1; + + for(int i=0;i<26;++i) used[i] = false; + + for(int i=0;iMOD) ans -= MOD; + } + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/2943 - Love Letter.cpp b/Tianjin Online Judge/2943 - Love Letter.cpp new file mode 100755 index 0000000..b9ef3e6 --- /dev/null +++ b/Tianjin Online Judge/2943 - Love Letter.cpp @@ -0,0 +1,63 @@ +#include +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + short n; + cin>>n; + string s; + + vector cont(26); + + map< vector , string> M; + + getline(cin,s); + + int i,j; + + for(i=0;i>s){ + if(s.size()<3){ + os< +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int R; + double S1,S2; + + scanf("%d",&R); + + S1=PI*R*R; + S2=2*R*R; + + printf("%.6f\n%.6f\n",S1,S2); + + return 0; +} diff --git a/Tianjin Online Judge/2946 - OKVIRI.cpp b/Tianjin Online Judge/2946 - OKVIRI.cpp new file mode 100755 index 0000000..d3178fd --- /dev/null +++ b/Tianjin Online Judge/2946 - OKVIRI.cpp @@ -0,0 +1,43 @@ +#include +#include + +using namespace std; + +int main(){ + char s[16]; + scanf("%s",s); + int L=strlen(s); + + char ans[3][4*L+2]; + + for(int i=0;i<3;i++) + for(int j=0;j<4*L+2;j++) + ans[i][j]='.'; + ans[0][4*L+1]=ans[1][4*L+1]=ans[2][4*L+1]=0; + + for(int i=0;i +#include + +using namespace std; + +double bond[20][20]; +int N; +bool busy[20]; + +double dp[(1<<21)]; + +double prob(int mask_bond){ + int cont=__builtin_popcount(mask_bond); + + if(cont==N) return 1.0; + + if(dp[mask_bond]!=-1.0) return dp[mask_bond]; + + double mx=0.0; + + for(int i=0;i>N; + + for(int i=0;i>aux; + bond[i][j]=aux*0.01; + } + } + + for(int i=0;i<(1< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int numbers[9]; + int total; + + total=0; + for(int i=0;i<9;i++){ + cin>>numbers[i]; + total+=numbers[i]; + } + + for(int i=0;i<8;i++) + for(int j=i+1;j<9;j++) + if(total-numbers[i]-numbers[j]==100){ + for(int k=0;k<9;k++) + if(k!=i && k!=j) cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int scatter=0; + int aux; + + for(int i=0;i<4;i++){ + cin>>s; + for(int j=0;j<4;j++){ + if(s[j]!='.'){ + aux=s[j]-'A'; + scatter+=abs(i-aux/4)+abs(j-aux%4); + } + } + } + + cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,moves; + + cin>>N; + + vector I(N); + vector J(N); + + for(int i=0;i>I[i]>>J[i]; + + sort(I.begin(),I.end()); + sort(J.begin(),J.end()); + + moves=0; + + for(int i=1;i<=N;i++) moves+=abs(I[i-1]-i)+abs(J[i-1]-i); + + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int x1,x2,x3,y1,y2,y3; + + cin>>x1>>y1>>x2>>y2>>x3>>y3; + + if(x1==x2) cout< +#include + +using namespace std; + +int main(){ + string M[7]; + + for(int i=0;i<7;i++) getline(cin,M[i]); + + int ans=0; + int dr[]={-1,1,0,0}; + int dc[]={0,0,-1,1}; + + for(int i=0;i<7;i++){ + for(int j=0;j<7;j++){ + if(M[i][j]!='o') continue; + + for(int k=0;k<4;k++){ + int r=i+dr[k],c=j+dc[k]; + if(r>=0 && r<7 && c>=0 && c<7 && M[r][c]=='o'){ + r+=dr[k]; + c+=dc[k]; + if(r>=0 && r<7 && c>=0 && c<7 && M[r][c]=='.') ans++; + } + } + } + } + + printf("%d\n",ans); + + return 0; +} diff --git a/Tianjin Online Judge/2960 - VECI.cpp b/Tianjin Online Judge/2960 - VECI.cpp new file mode 100755 index 0000000..3a5de59 --- /dev/null +++ b/Tianjin Online Judge/2960 - VECI.cpp @@ -0,0 +1,17 @@ +#include +#include + +#define all(v) (v).begin(),(v).end() + +using namespace std; + +string s; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + cin>>s; + if(next_permutation(all(s))) cout< +#include + +#define all(v) (v).begin(),(v).end() + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s,s1,s2,s3; + string ans,aux; + + cin>>s; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long n; + while(cin>>n){ + if(n<1000000000){ + if(n%10==(n/10)%10) cout< + +using namespace std; + +void triangulo(int H){ + for(int i=0;i=0;i--){ + for(int j=0;j>C; + + if(C==-1) break; + else if(C==1){ + cin>>a; + triangulo(a); + }else if(C==2){ + cin>>a>>b; + paralelogramo(a,b); + }else{ + cin>>a>>b; + rectangulo(a,b); + } + + cout< +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long M[51][51]; + + M[0][0]=1;M[1][0]=1;M[1][1]=1; + for(int i=2;i<51;i++){ + M[i][0]=1;M[i][i]=1; + for(int j=1;j>n; + if(n<0) break; + + cout<<1; + + for(int i=1;i<=n;i++) cout<<" "< +#include +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int ax; + + while(getline(cin,s)){ + if(s=="6") cout<<"\"Possible.\""< +#include +#include + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + vector v; + string s; + + int frequency[26]; + int max,ind,n; + + while(getline(cin,s)) v.push_back(s); + + memset(frequency,0,sizeof(frequency)); + + for(int i=0;i='a' && v[i][j]<='z') frequency[v[i][j]-'a']++; + else if(v[i][j]>='A' && v[i][j]<='Z') frequency[v[i][j]-'A']++; + + max=-1; + + for(int i=0;i<26;i++){ + if(frequency[i]>max){ + max=frequency[i]; + ind=i; + } + } + + n=('i'-'a'-ind+26)%26; + + for(int i=0;i='a' && v[i][j]<='z') cout<<(char)('a'+(v[i][j]-'a'+n)%26); + else if(v[i][j]>='A' && v[i][j]<='Z') cout<<(char)('A'+(v[i][j]-'A'+n)%26); + else cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,N,L,W,P,S; + + int cont; + + scanf("%d",&t); + + for(int i=0;iS && P*1.0/(abs(W-S)) <= L*1.0/W)) cont++; + } + + printf("%d\n",cont); + } + + return 0; +} diff --git a/Tianjin Online Judge/2990 - Simple Task.cpp b/Tianjin Online Judge/2990 - Simple Task.cpp new file mode 100755 index 0000000..40e9fef --- /dev/null +++ b/Tianjin Online Judge/2990 - Simple Task.cpp @@ -0,0 +1,38 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,n,m,a,b,cont; + + int A[20001]; + + cin>>t; + + for(int i=0;i>n; + + memset(A,0,sizeof(A)); + + for(int j=0;j>a; + A[a+10000]++; + } + + cont=0; + + cin>>m; + + for(int j=0;j>b; + cont+=A[-b+10000]; + } + + cout< +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,n; + string s1,s2; + int x,a,b; + + cin>>t; + + for(int i=0;i>n; + getline(cin,s1); + getline(cin,s1); + getline(cin,s2); + istringstream is1(s1); + istringstream is2(s2); + + x=0; + for(int j=0;j>a; + is2>>b; + x+=a*b; + } + cout< +#include + +using namespace std; + +int main(){ + int N,n,sum; + int a[101]; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,m; + string s; + + cin>>N; + for(int i=1;i<=N;i++){ + cin>>m>>s; + + s.erase(m-1,1); + + cout< +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + map M; + + M[' ']=0; + for(int i=0;i<26;i++) M['A'+i]=i+1; + + int N,R,C; + int cont_letra,cont_pos; + string message; + char aux; + bool code[21][21]; + + cin>>N; + + for(int caso=1;caso<=N;caso++){ + cin>>R>>C; + + scanf("%c",&aux); + message=""; + + while(scanf("%c",&aux)==1){ + if(aux=='\n') break; + message+=aux; + } + + cont_letra=0; + cont_pos=0; + + memset(code,0,sizeof(code)); + + for(int i=0;i=i && cont_letra=i+1 && cont_letra +#include + +using namespace std; + +int a,b,ax; + +void rotar(){ + ax=b; + b=-a; + a=ax; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + char M[27]; + + M[0]=' '; + for(int i=0;i<26;i++) M[i+1]='A'+i; + + int N,R,C; + int r,c,sum,pos; + string binary,message; + bool code[22][22]; + bool visited[22][22]; + + cin>>N; + + for(int caso=1;caso<=N;caso++){ + cin>>R>>C; + + cin>>binary; + + memset(code,0,sizeof(code)); + + for(int i=0;i +#include +#include + +using namespace std; + +void get_prev(int prev, int cur, vector &L){ + if(cur==0) L.push_back(prev); + else{ + for(int i = 0;i<4;++i){ + if(cur & (1< prev[(1<<4)]; + + for(int mask = 0;mask<(1<<4);++mask) + get_prev((1<<4)-1,mask,prev[mask]); + + memset(dp,0,sizeof(dp)); + dp[0][0] = dp[0][3] = dp[0][6] = dp[0][12] = dp[0][15] = 1; + + for(int i = 1;i=0;--j) + dp[i][mask] += dp[i-1][prev[mask][j]]; + } + } + + scanf("%d",&T); + + for(int tc = 1;tc<=T;++tc){ + scanf("%d",&W); + printf("%d %d\n",tc,dp[W-1][(1<<4)-1]); + } + + return 0; +} diff --git a/Tianjin Online Judge/3013 - Alfredo's Pizza Restaurant.cpp b/Tianjin Online Judge/3013 - Alfredo's Pizza Restaurant.cpp new file mode 100755 index 0000000..07021b1 --- /dev/null +++ b/Tianjin Online Judge/3013 - Alfredo's Pizza Restaurant.cpp @@ -0,0 +1,24 @@ +#include + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int r,w,l; + int caso=1; + + while(1){ + scanf("%d",&r); + if(r==0) break; + + scanf("%d %d",&w,&l); + + if(w*w+l*l>4*r*r) printf("Pizza %d does not fit on the table.\n",caso); + else printf("Pizza %d fits on the table.\n",caso); + caso++; + } + + return 0; +} diff --git a/Tianjin Online Judge/3015 - Convert Kilometers to Miles.cpp b/Tianjin Online Judge/3015 - Convert Kilometers to Miles.cpp new file mode 100755 index 0000000..88ff74f --- /dev/null +++ b/Tianjin Online Judge/3015 - Convert Kilometers to Miles.cpp @@ -0,0 +1,80 @@ +#include +#include +#include + +using namespace std; + +struct nodo{ + int n; + int from; + int mask; + + nodo(int a, int b, int c){ + n=a; + from=b; + mask=c; + } +}; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + //Generando los numeros de fibonacci + int a,cont; + vector F; + + F.push_back(1); + F.push_back(2); + cont=2; + a=3; + + while(a<25000){ + F.push_back(a); + cont++; + + a=F[cont-1]+F[cont-2]; + } + + //Generando las representaciones + int M[25000]; + + memset(M,-1,sizeof(M)); + M[0]=0; + + queue Q; + for(int i=0;i=25000 || M[aux.n]!=-1) continue; + + M[aux.n]=aux.mask; + + for(int i=2;aux.from+i>t; + + for(int i=0;i>x; + + fibo_base=M[x]; + + miles=0; + + for(int j=1;j +#include + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int num[80]; + int cycle[80][80]; + int size[80]; + int pos[80][2]; + bool visited[80]; + int n,m,aux,cont_cycle; + string s; + + while(1){ + cin>>n>>m; + if(n==0 && m==0) break; + for(int i=0;i>aux; + num[aux-1]=i; + } + getline(cin,s); + getline(cin,s); + + memset(visited,0,sizeof(visited)); + memset(size,0,sizeof(size)); + cont_cycle=0; + + for(int i=0,j=i;i + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + long long dp[100][101]; + int a[100]; + int n,k; + + long long tot; + + while(1){ + cin>>n>>k; + if(n==0 && k==0) break; + + for(int i=0;i>a[i]; + + memset(dp,0,sizeof(dp)); + + for(int i=0;i=a[i]) continue; + for(int x=1;x + +using namespace std; + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out2.txt","w",stdout); + + int n; + int m[50]; + long long tot; + + while(1){ + cin>>n; + if(n==0) break; + + for(int i=0;i>m[i]; + + tot=0; + + for(long long i=0,j=1;i +#include + +using namespace std; + +string conv(int a){ + string romanos=""; + + while(a>=1000){ + romanos+="M"; + a-=1000; + } + if(a>=900){ + romanos+="CM"; + a-=900; + } + if(a>=500){ + romanos+="D"; + a-=500; + } + if(a>=400){ + romanos+="CD"; + a-=400; + } + while(a>=100){ + romanos+="C"; + a-=100; + } + if(a>=90){ + romanos+="XC"; + a-=90; + } + if(a>=50){ + romanos+="L"; + a-=50; + } + if(a>=40){ + romanos+="XL"; + a-=40; + } + while(a>=10){ + romanos+="X"; + a-=10; + } + if(a==9){ + romanos+="IX"; + a-=9; + } + if(a>=5){ + romanos+="V"; + a-=5; + } + if(a==4){ + romanos+="IV"; + a-=4; + } + while(a>=1){ + romanos+="I"; + a--; + } + return romanos; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int n,sum; + int caso=1; + + int aux,valor; + + while(1){ + cin>>n; + if(n==0) break; + + sum=0; + + for(int i=0;i>s; + aux=0; + + for(int j=s.size()-1;j>=0;j--){ + if(s[j]=='I') valor=1; + else if(s[j]=='V') valor=5; + else if(s[j]=='X') valor=10; + else if(s[j]=='L') valor=50; + else if(s[j]=='C') valor=100; + else if(s[j]=='D') valor=500; + else valor=1000; + + if(valor +#include +#include +#include + +using namespace std; + +int main(){ + int T,n,b; + scanf("%d",&T); + + char tp[21],nm[21]; + int p,q; + map > > M; map > > :: iterator it; + int lo,hi,mi,P; + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&n,&b); + + M.clear(); + + for(int i=0;i>1; + P=0; + + for(it=M.begin();it!=M.end();it++){ + p=b+1; + for(int i=(*it).second.size()-1;i>=0;i--) + if((*it).second[i].second>=mi) p +#include +#include + +using namespace std; + +int prev[1002]; +char M[10000][101]; +int str[1002]; +int N; + +void print(int m){ + if(m!=0){ + print(prev[m]); + printf("%s",M[str[m]]); + if(m!=N) printf(" "); + } +} + +int main(){ + int T,n,m,l,pos; + char s[1001]; + long long dp[1002]; + bool ok; + int cont[26]; + int c[10000][26]; + bool start; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + scanf("%s",s); + m=strlen(s); + + scanf("%d",&n); + + for(int i=0;im) continue; + + fill(cont,cont+26,0); + + for(int k=0;k1) printf("ambiguous\n"); + else{ + N=m; + print(m); + printf("\n"); + } + + } + + return 0; +} diff --git a/Tianjin Online Judge/3039 - Judging Olympia.cpp b/Tianjin Online Judge/3039 - Judging Olympia.cpp new file mode 100755 index 0000000..4e4bac2 --- /dev/null +++ b/Tianjin Online Judge/3039 - Judging Olympia.cpp @@ -0,0 +1,35 @@ +#include +#include + +using namespace std; + +int main(){ + int score[6]; + bool end; + int sum; + + while(1){ + sum=0; + for(int i=0;i<6;i++){ + scanf("%d",&score[i]); + sum+=score[i]; + } + + end=true; + for(int i=0;i<6;i++) + if(score[i]!=0) end=false; + + if(end) break; + + sort(score,score+6); + + sum-=score[0]+score[5]; + + printf("%d",sum/4); + + if(sum%4==0) printf("\n"); + else if(sum%4==1) printf(".25\n"); + else if(sum%4==2) printf(".5\n"); + else printf(".75\n"); + } +} diff --git a/Tianjin Online Judge/3042 - A Tale from the Dark Side of The Moon.cpp b/Tianjin Online Judge/3042 - A Tale from the Dark Side of The Moon.cpp new file mode 100755 index 0000000..1453e6f --- /dev/null +++ b/Tianjin Online Judge/3042 - A Tale from the Dark Side of The Moon.cpp @@ -0,0 +1,48 @@ +#include +#include + +using namespace std; + +int main(){ + bool end=false; + int L; + + while(getline(cin,s)){ + L=s.size(); + for(int i=0;i='a' && s[i]<='z') && s[i]!=' '){ + i++; + continue; + } + + if(s[i]==' '){ + printf(" "); + i++; + }else{ + if(i+10 && s[i-1]=='c') printf("ei"); + else printf("ie"); + i+=2; + }else if(i+3 +#include +#include + +using namespace std; + +int main(){ + vector p(1000000,true); + + p[0]=p[1]=false; + + for(int i=2;i<1000000;i++) + if(p[i]) + for(int j=2;j*i<1000000;j++) p[i*j]=false; + + vector cont1(1000000); + vector cont2(1000000); + + cont1[0]=cont1[1]=0; + + for(int i=2;i<1000000;i++){ + cont1[i]=cont1[i-1]; + if(p[i]) cont1[i]++; + } + + cont2[0]=cont2[1]=0; + cont2[2]=1; + + for(int i=3;i<1000000;i++){ + cont2[i]=cont2[i-1]; + if(p[i] && i%4==1) cont2[i]++; + } + + int L,U; + + while(1){ + scanf("%d %d",&L,&U); + if(L==-1 && U==-1) break; + + if(U<1) printf("%d %d 0 0\n",L,U); + else printf("%d %d %d %d\n",L,U,cont1[U]-cont1[max(0,L-1)],cont2[U]-cont2[max(0,L-1)]); + } + + return 0; +} diff --git a/Tianjin Online Judge/3050 - Encrypted SMS.cpp b/Tianjin Online Judge/3050 - Encrypted SMS.cpp new file mode 100755 index 0000000..f6248ab --- /dev/null +++ b/Tianjin Online Judge/3050 - Encrypted SMS.cpp @@ -0,0 +1,55 @@ +#include + +using namespace std; + +int cont; +char x,pos; + +char decode(char start, char &c, int L){ + pos=c-start; + pos=((pos-cont)%L+L)%L; + c=start+pos; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + char c; + + while(1){ + scanf("%c",&c); + if(c=='#') break; + + cont=0; + + do{ + cont++; + + if(c>='A' && c<='C') decode('A',c,3); + else if(c>='a' && c<='c') decode('a',c,3); + else if(c>='D' && c<='F') decode('D',c,3); + else if(c>='d' && c<='f') decode('d',c,3); + else if(c>='G' && c<='I') decode('G',c,3); + else if(c>='g' && c<='i') decode('g',c,3); + else if(c>='J' && c<='L') decode('J',c,3); + else if(c>='j' && c<='l') decode('j',c,3); + else if(c>='M' && c<='O') decode('M',c,3); + else if(c>='m' && c<='o') decode('m',c,3); + else if(c>='P' && c<='S') decode('P',c,4); + else if(c>='p' && c<='s') decode('p',c,4); + else if(c>='T' && c<='V') decode('T',c,3); + else if(c>='t' && c<='v') decode('t',c,3); + else if(c>='W' && c<='Z') decode('W',c,4); + else decode('w',c,4); + + printf("%c",c); + + scanf("%c",&c); + }while(c!='\n'); + + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/3051 - Hopeless Coach.cpp b/Tianjin Online Judge/3051 - Hopeless Coach.cpp new file mode 100755 index 0000000..21dbd93 --- /dev/null +++ b/Tianjin Online Judge/3051 - Hopeless Coach.cpp @@ -0,0 +1,36 @@ +#include +#include + +using namespace std; + +float memo[154][462],win,draw,lose; + +float solve(int n, int p){ + if(p<=0) return 100.0; + if(n==0) return 0.0; + + if(memo[n][p]>-0.5) return memo[n][p]; + + memo[n][p]=win*solve(n-1,p-3)+draw*solve(n-1,p-1)+lose*solve(n-1,p); + return memo[n][p]; +} + +int main(){ + int N,P,W,D,L; + + while(1){ + scanf("%d %d",&N,&P); + if(N==0 && P==0) break; + + scanf("%d %d %d",&W,&D,&L); + win=(float)W/(W+D+L); + draw=(float)D/(W+D+L); + lose=1-win-draw; + + for(int i=N;i>0;i--) fill(memo[i],memo[i]+P+1,-1); + + printf("%.1f\n",solve(N,P)); + } + + return 0; +} diff --git a/Tianjin Online Judge/3070 - Encryption.cpp b/Tianjin Online Judge/3070 - Encryption.cpp new file mode 100755 index 0000000..f456ed4 --- /dev/null +++ b/Tianjin Online Judge/3070 - Encryption.cpp @@ -0,0 +1,22 @@ +#include +#include + +using namespace std; + +int main(){ + char s[101]; + int T,D,n; + + scanf("%d",&T); + + for(int i=0;i +#include + +using namespace std; + +int Q[100000],head,tail,x,visited[100000]; + +int solve(int &s, int &e){ + head=0; Q[0]=s; tail=1; + + fill(visited,visited+100000,-1); + visited[s]=0; + + while(head!=tail){ + x=Q[head++]; + if(x==e) return visited[x]; + + if(x<50000 && visited[2*x]==-1){ + Q[tail++]=2*x; + visited[2*x]=visited[x]+1; + } + + if((x&1)==0 && visited[x>>1]==-1){ + Q[tail++]=(x>>1); + visited[x>>1]=visited[x]+1; + } + + if(x<99999 && visited[x+1]==-1){ + Q[tail++]=x+1; + visited[x+1]=visited[x]+1; + } + } + + return -1; +} + +int main(){ + int T,s,e; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&s,&e); + printf("%d\n",solve(s,e)); + } + + return 0; +} diff --git a/Tianjin Online Judge/3073 - Country Road.cpp b/Tianjin Online Judge/3073 - Country Road.cpp new file mode 100755 index 0000000..ae1ac9c --- /dev/null +++ b/Tianjin Online Judge/3073 - Country Road.cpp @@ -0,0 +1,90 @@ +#include +#include +#include + +using namespace std; + +int parent[1000],rank[1000],cont; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + if(PX==PY) return; + cont--; + + if(rank[PX]>rank[PY]) parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +struct road{ + int u,v,c; + + road(){ + } + + road(int _u, int _v, int _c){ + u=_u; + v=_v; + c=_c; + } + + bool operator < (road X) const{ + return c L; + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d %d",&N,&M,&K); + + for(int i=0;i +#include + +using namespace std; + +bool p[1299710]; +int P[100000]; + +int main(){ + fill(p,p+1299710,true); + + + for(int i=2,j=0;i<1299710;i++) + if(p[i]){ + P[j++]=i; + if(i<1141) for(int j=i*i;j<1299710;j+=i) p[j]=false; + } + + int n,hi,lo,mi; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + lo=0; hi=99999; + + while(lo!=hi){ + mi=lo+(hi-lo+1)/2; + + if(n>P[mi]) lo=mi; + else if(n +#include + +using namespace std; + +bool p[1000001]; + +int main(){ + fill(p,p+1000001,true); + + p[0]=p[1]=false; + + for(int i=2;i<1000001;i++) + if(p[i]){ + for(int j=2;j*i<1000001;j++) p[j*i]=false; + } + + int pot2[1000]; + int pot3[100]; + int pot4[31]; + + for(int i=1;i<=1000;i++) pot2[i-1]=i*i; + for(int i=1;i<=100;i++) pot3[i-1]=pot2[i-1]*i; + for(int i=1;i<=31;i++) pot4[i-1]=pot3[i-1]*i; + + int N,M,x[100],cont[100],sum[100],prod[100],aux; + + scanf("%d",&N); + + for(int caso=1;caso<=N;caso++){ + scanf("%d",&M); + + fill(cont,cont+M,0); + + for(int i=0;ix[j])){ + swap(cont[i],cont[j]); + swap(x[i],x[j]); + } + + printf("DATA SET #%d\n",caso); + + for(int i=0;i +#include + +using namespace std; + +void roman(string &s){ + int cont=0,pos=0; + string x=""; + + while(s[pos]=='M'){ + pos++; + cont++; + } + + x+='0'+cont; + + if(pos+1=1 && x[0]=='0') x.erase(0,1); + + cout<>N; + + for(int caso=1;caso<=N;caso++){ + cin>>s; + roman(s); + } + + return 0; +} diff --git a/Tianjin Online Judge/3090 - Rout 66.cpp b/Tianjin Online Judge/3090 - Rout 66.cpp new file mode 100755 index 0000000..1ba8353 --- /dev/null +++ b/Tianjin Online Judge/3090 - Rout 66.cpp @@ -0,0 +1,46 @@ +#include +#include +#include + +using namespace std; + +int main(){ + int N,E,D[20],J[20],S[20],I,F,B,d; + bool fail; + + scanf("%d",&N); + + for(int caso=1;caso<=N;caso++){ + scanf("%d",&E); + + for(int i=0;iD[j]){ + swap(D[i],D[j]); + swap(J[i],J[j]); + swap(S[i],S[j]); + } + + fail=false; + d=0; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N,B,H,W; + scanf("%d %d %d %d",&N,&B,&H,&W); + + int cost[H],cap[H][W],best; + bool found=false; + + for(int i=0;i=N && cost[i]*N<=B){ + if(!found){ + found=true; + best=cost[i]*N; + }else best +#include + +using namespace std; + +int conv(char &c){ + if(c>='A' && c<='Z') return (c-'A'); + return (c-'a'+26); +} + +int main(){ + int M[52][52]; + int N,ans,a,b,dist; + char c1,c2; + + while(scanf("%d\n",&N)==1){ + for(int i=0;i<52;i++) fill(M[i],M[i]+52,-1); + + for(int i=0;i +#include + +using namespace std; + +int p[100000]; + +int main(){ + fill(p,p+100000,true); + + int cont=0; + int P[9592]; + + for(int i=2;i<100000;i++) + if(p[i]){ + P[cont++]=i; + if(i<317) for(int j=i*i;j<100000;j+=i) p[j]=false; + } + + int n,k; + + scanf("%d",&n); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N,n,m,aux; + map a1; + map a2; + map :: iterator it; + bool esp; + + scanf("%d",&N); + + for(int caso=0;casofirst]){ + if(esp) printf(" "); + esp=true; + + printf("%d",it->first); + } + + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/3110 - Grey Area.cpp b/Tianjin Online Judge/3110 - Grey Area.cpp new file mode 100755 index 0000000..9cc98b5 --- /dev/null +++ b/Tianjin Online Judge/3110 - Grey Area.cpp @@ -0,0 +1,38 @@ +#include +#include + +using namespace std; + +int main(){ + int n,w,v,m,h; + int a[11]; + double total; + + while(1){ + scanf("%d %d",&n,&w); + if(n==0 && w==0) break; + + for(int i=0;i<11;i++) a[i]=0; + + for(int i=0;i=j*w && v<(j+1)*w){ + a[j]++; + break; + } + } + + for(int i=0;i<11;i++) if(a[i]!=0) m=i; + + h=0; + for(int i=0;i<11;i++) h=max(h,a[i]); + + total=0.01; + for(int i=0;i +#include + +#define max(a,b) a>b? a:b + +using namespace std; + +vector v; +int sum,n,m,k; + +void f(int x){ + if(x==n){ + v[max(sum-k,1)]++; + return; + } + + for(int i=1;i<=m;i++){ + sum+=i; + f(x+1); + sum-=i; + } +} + +int main(){ + sum=0; + double E; + int pot; + + while(1){ + scanf("%d %d %d",&n,&m,&k); + if(n==0) break; + + v.clear(); + v.resize(m*n-k+1,0); + + f(0); + + pot=1; + for(int i=0;i +#include + +using namespace std; + +int N; +bool M1[1000][1000],M2[1000][1000],M3[1000][1000]; +//M1[i][j] : ~a_i && ~a_j +//M2[i][j] : a_i && a_j +//M3[i][j] : ~a_i && a_j +bool search1[1000],search2[1000]; +//search1[i] : a_i +//search2[i] : ~a_i + +bool Solve(){ + for(int i=0;i0 && b>0) M1[a-1][b-1]=M1[b-1][a-1]=1; + else if(a<0 && b<0) M2[-a-1][-b-1]=M2[-b-1][-a-1]=1; + else if(a>0 && b<0) M3[a-1][-b-1]=1; + else M3[b-1][-a-1]=1; + } + + if(Solve()) printf("0\n"); + else printf("1\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/3124 - Build Your Home.cpp b/Tianjin Online Judge/3124 - Build Your Home.cpp new file mode 100755 index 0000000..614a12d --- /dev/null +++ b/Tianjin Online Judge/3124 - Build Your Home.cpp @@ -0,0 +1,53 @@ +#include +#include +#include + +using namespace std; + +const double eps=1e-9; + +struct point{ + double x,y; + + point(){ + } + + point(const double _x, const double _y){ + x=_x; y=_y; + } +}; + +double signed_area(const vector &poly){ + int n=poly.size(); + if(n<3) return 0; + + double S=0; + + for(int i=1;i poly; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + poly.clear(); + + for(int i=0;i + +using namespace std; + +int main(){ + int N,C,t1,t2; + long long f1,f2; + + while(scanf("%d %d",&N,&C)==2){ + if(N==0) printf("0\n"); + else{ + t1=C/(2*N); t2=(C+2*N-1)/(2*N); + f1=(long long)t1*(C-N*t1); f2=(long long)t2*(C-N*t2); + if(f1>=f2) printf("%d\n",t1); + else printf("%d\n",t2); + } + } + + return 0; +} diff --git a/Tianjin Online Judge/3140 - Switching Lights.cpp b/Tianjin Online Judge/3140 - Switching Lights.cpp new file mode 100755 index 0000000..6e96683 --- /dev/null +++ b/Tianjin Online Judge/3140 - Switching Lights.cpp @@ -0,0 +1,20 @@ +#include +#include + +using namespace std; + +int main(){ + int N,M,command,a,b; + + scanf("%d %d",&N,&M); + + int light[N+1]; + fill(light,light+N+1,0); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N,K; + + scanf("%d %d",&N,&K); + + int S[N]; + long long dp[(1<K) dp[mask][i]+=dp[mask & (~(1< +#include + +using namespace std; + +int MCD(int a, int b){ + while(a%b!=0){ + a%=b; + swap(a,b); + } + + return b; +} + +int main(){ + int N,a,b,mcd,lcm; + + scanf("%d",&N); + + for(int i=1;i<=N;i++){ + scanf("%d %d",&a,&b); + + mcd=MCD(a,b); + lcm=a/mcd*b; + + printf("%d %d %d\n",i,lcm,mcd); + } + + return 0; +} diff --git a/Tianjin Online Judge/3151 - Cryptoquote.cpp b/Tianjin Online Judge/3151 - Cryptoquote.cpp new file mode 100755 index 0000000..3e044a5 --- /dev/null +++ b/Tianjin Online Judge/3151 - Cryptoquote.cpp @@ -0,0 +1,34 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string encoded,map; + int N,n; + int a[26]; + + scanf("%d\n",&N); + + for(int i=1;i<=N;i++){ + getline(cin,encoded); + getline(cin,map); + + for(int j=0;j<26;j++) a[j]=map[j]-'A'; + + n=encoded.size(); + + cout< + +using namespace std; + +int main(){ + int N,a[3]; + char s[9]; + + scanf("%d\n",&N); + + for(int i=1;i<=N;i++){ + scanf("%s",s); + sscanf(s,"%d:%d:%d",&a[0],&a[1],&a[2]); + + printf("%d ",i); + + for(int j=5;j>=0;j--) + for(int k=0;k<3;k++) + if(a[k] & (1<=0;k--) + if(a[j] & (1< +#include + +using namespace std; + +int dx[]={1,-1,0,0,0,0}; +int dy[]={0,0,1,-1,0,0}; +int dz[]={0,0,0,0,1,-1}; + +bool valid(int &x1, int &y1, int &z1, int &x2, int &y2, int &z2){ + for(int i=0;i<6;i++) + if(x1+dx[i]==x2 && y1+dy[i]==y2 && z1+dz[i]==z2) return true; + + return false; +} + +int main(){ + int T,N; + int x[1000],y[1000],z[1000]; + bool check; + int cont; + + scanf("%d\n",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + + for(int i=0;i +#include +#include + +using namespace std; + +int M[1000][1001]; +bool visited[1000][1000]; + +int main(){ + int R,C,cont=0; + + scanf("%d %d\n",&R,&C); + + + for(int i=0;i > Q; + int di[]={1,-1,0,0,1,1,-1,-1}; + int dj[]={0,0,1,-1,1,-1,1,-1}; + int r,c,r2,c2; + + for(int i=0;i=0;j--) + if(!visited[i][j] && M[i][j]!=0){ + cont++; + Q.push(make_pair(i,j)); + visited[i][j]=true; + + while(!Q.empty()){ + r=Q.front().first; + c=Q.front().second; + Q.pop(); + + for(int k=0;k<8;k++){ + r2=r+di[k]; + c2=c+dj[k]; + + if(r2>=0 && r2=0 && c2 +#include + +using namespace std; + +int main(){ + int N,Q,sum,s,e; + int H[500]; + + scanf("%d %d",&N,&Q); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int H,C; + int V[5000]; + + scanf("%d %d",&C,&H); + + for(int i=0;i=0;i--) + if(M[i]){ + mx=i; + break; + } + + printf("%d\n",mx); + + return 0; +} diff --git a/Tianjin Online Judge/3163 - Patting Heads.cpp b/Tianjin Online Judge/3163 - Patting Heads.cpp new file mode 100755 index 0000000..20b5192 --- /dev/null +++ b/Tianjin Online Judge/3163 - Patting Heads.cpp @@ -0,0 +1,32 @@ +#include +#include + +using namespace std; + +int cont[1000001],ans[1000001]; + +int main(){ + int N; + scanf("%d",&N); + + int a[N],M=1; + fill(cont,cont+1000001,0); + + for(int i=0;i?=a[i]; + } + + fill(ans,ans+M+1,0); + + for(int i=1;i<=M;i++){ + if(cont[i]==0) continue; + ans[i]+=cont[i]-1; + for(int j=2*i;j<=M;j+=i) ans[j]+=cont[i]; + } + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N; + scanf("%d",&N); + + int next[N]; + for(int i=0;i=0;i--){ + L++; + ans[Q[i]]=L; + } + + break; + } + + visited[Q[sz-1]]=true; + pos[Q[sz-1]]=sz; + + if(ans[next[Q[sz-1]]]!=-1){ + L=ans[next[Q[sz-1]]]; + + for(int i=sz-1;i>=0;i--){ + L++; + ans[Q[i]]=L; + } + + break; + } + + Q[sz]=next[Q[sz-1]]; + sz++; + } + } + + for(int i=0;i + +using namespace std; + +int R,C,K,ways,k,r2,c2; +char M[5][6]; +bool visited[5][5]; + +int dr[]={-1,0,1,0}; +int dc[]={0,1,0,-1}; + +void search(int r, int c){ + if(k>K) return; + if(r==0 && c==C-1){ + ways++; + return; + } + + k++; + + for(int i=0;i<4;i++){ + r2=r+dr[i]; + c2=c+dc[i]; + + if(r2<0 || r2>=R || c2<0 || c2>=C || visited[r2][c2]) continue; + + visited[r2][c2]=true; + search(r2,c2); + visited[r+dr[i]][c+dc[i]]=false; + } + + k--; +} + +int main(){ + scanf("%d %d %d",&R,&C,&K); + + for(int i=0;i + +using namespace std; + +int main(){ + int N,Q; + scanf("%d %d",&N,&Q); + + int T[N],t; + for(int i=0;i=S[mi+1]) lo=mi+1; + else if(t +#include +#include +#include + +using namespace std; + +struct punto{ + int x,y; + + punto(){ + } + + punto(int a, int b){ + x=a; + y=b; + } + + bool operator < (punto P) const{ + if(x!=P.x) return xP.y; + } +}; + +int area(punto A, punto B, punto C){ + return A.x*B.y+B.x*C.y+C.x*A.y-A.y*B.x-B.y*C.x-C.y*A.x; +} + +double length(vector &P){ + int k=0; + sort(P.begin(),P.end()); + + int n=P.size(); + vector H(2*n); + + for(int i=0;i=2 && area(H[k-2],H[k-1],P[i])<=0) k--; + H[k++]=P[i]; + } + + for(int i=n-1,t=k;i>=0;i--){ + while(k>t && area(H[k-2],H[k-1],P[i])<=0) k--; + H[k++]=P[i]; + } + + + double ans=0.0; + + for(int i=0;i P; + double L; + + while(true){ + scanf("%d",&n); + if(n==0) break; + + value = 0; + + for(int i=0;ivalue) continue; + + L=length(P); + if(aux_l>=L && aux_value + +#define MOD 5000011 + +int main(){ + int N,K; + + scanf("%d %d",&N,&K); + + int dp[K+1]; + int M=K+1; + + dp[0]=1; + for(int i=1;i<=N;i++){ + if(i +#include + +using namespace std; + +struct edge{ + int v,t; + + edge(int _v, int _t){ + v=_v; + t=_t; + } +}; + + +struct nodo{ + int v,k,dist; + + nodo(){ + } + + nodo(int _v, int _k, int _dist){ + v=_v; + k=_k; + dist=_dist; + } + + bool operator < (nodo X) const{ + return dist>X.dist; + } +}; + +int main(){ + int N,M,K; + + scanf("%d %d %d",&N,&M,&K); + + vector< vector > L(N); + + for(int i=0;i Q; + + bool visited[N][K+1]; + for(int i=0;i + +using namespace std; + +int main(){ + int R,C; + + scanf("%d %d",&R,&C); + + int D[R][C]; + + for(int i=0;i=0 && r=0 && c?=D[i][j]; + } + } + + printf("%d\n",ans); + + return 0; +} diff --git a/Tianjin Online Judge/3205 - The Perfect Cow.cpp b/Tianjin Online Judge/3205 - The Perfect Cow.cpp new file mode 100755 index 0000000..ee1ccf2 --- /dev/null +++ b/Tianjin Online Judge/3205 - The Perfect Cow.cpp @@ -0,0 +1,23 @@ +#include +#include + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + int a[N],b[N]; + + for(int i=0;i + +using namespace std; + +int main(){ + int N,C; + + scanf("%d %d",&N,&C); + + int a[C]; + + for(int i=0;i=a[j] && j>0) dp[i][j]=dp[i-a[j]][j]+dp[i][j-1]; + else if(i>=a[0]) dp[i][0]=dp[i-a[0]][0]; + else if(j>0) dp[i][j]=dp[i][j-1]; + else dp[i][0]=0; + + printf("%d\n",dp[N][C-1]); + + return 0; +} diff --git a/Tianjin Online Judge/3207 - Sand Castle.cpp b/Tianjin Online Judge/3207 - Sand Castle.cpp new file mode 100755 index 0000000..455c2b3 --- /dev/null +++ b/Tianjin Online Judge/3207 - Sand Castle.cpp @@ -0,0 +1,27 @@ +#include +#include + +using namespace std; + +int main(){ + int N,X,Y; + + scanf("%d %d %d",&N,&X,&Y); + + int M[N],B[N]; + + for(int i=0;iB[i]) S+=Y*(M[i]-B[i]); + else S+=X*(B[i]-M[i]); + + printf("%d\n",S); + + return 0; +} diff --git a/Tianjin Online Judge/3208 - Cow Frisbee Team.cpp b/Tianjin Online Judge/3208 - Cow Frisbee Team.cpp new file mode 100755 index 0000000..0a97c81 --- /dev/null +++ b/Tianjin Online Judge/3208 - Cow Frisbee Team.cpp @@ -0,0 +1,31 @@ +#include +#include + +using namespace std; + +int main(){ + int N,F,MOD=100000000; + + scanf("%d %d",&N,&F); + + int R[N]; + for(int i=0;i + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + int H[N]; + + for(int i=0;i=0;i--){ + x[i]=i+1; + while(x[i] + +using namespace std; + +long long T[4000001]; + +int main(){ + int c,N,a1,b1,d1,a2,b2,d2; + + scanf("%d %d",&c,&N); + scanf("%d %d %d",&a1,&b1,&d1); + scanf("%d %d %d",&a2,&b2,&d2); + + T[1]=c; + int Tsize=1,p1=1,p2=1; + long long next1=a1*c/d1+b1,next2=a2*c/d2+b2; + + while(Tsize!=N){ + if(next1 +#include + +using namespace std; + +int main(){ + int T,lo,hi,mi; + double r,R,H,V,PI=M_PI,h,v; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%lf %lf %lf %lf",&r,&R,&H,&V); + + if(V>=PI*H*(R*R+R*r+r*r)/3) printf("%.6f\n",H); + else{ + lo=0;hi=H*1000000; + + while(lo!=hi){ + mi=(lo+hi+1)/2; + h=(double)mi/1000000; + + v=PI*(r*r*h+r*(R-r)*h*h/H+(R-r)*(R-r)*h*h*h/(3*H*H)); + + if(v>V) hi=mi-1; + else lo=mi; + } + + printf("%.6f\n",(double)lo/1000000); + } + } + + return 0; +} diff --git a/Tianjin Online Judge/3214 - Find the Path.cpp b/Tianjin Online Judge/3214 - Find the Path.cpp new file mode 100755 index 0000000..e2adf3d --- /dev/null +++ b/Tianjin Online Judge/3214 - Find the Path.cpp @@ -0,0 +1,91 @@ +#include +#include +#include + +using namespace std; + +struct nodo{ + int v,dist; + + nodo(){ + } + + nodo(int _v, int _dist){ + v=_v; + dist=_dist; + } + + bool operator < (nodo X)const{ + return dist>X.dist; + } +}; + +struct edge{ + int v,w; + + edge(int _v, int _w){ + v=_v; + w=_w; + } +}; + +int main(){ + int T,N,M,C[200],u,v,w,queries,start,end,k; + bool visited[200],found; + nodo aux; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&N,&M); + + vector< vector > L(N); + + for(int i=0;i Q; + Q.push(nodo(start,0)); + found=false; + + fill(visited,visited+N,false); + + while(!Q.empty()){ + aux=Q.top(); + Q.pop(); + + if(visited[aux.v]) continue; + visited[aux.v]=true; + + if(aux.v==end){ + printf("%d\n",aux.dist); + found=true; + break; + } + + for(int j=0;jk && L[aux.v][j].v!=end) continue; + + Q.push(nodo(L[aux.v][j].v,aux.dist+L[aux.v][j].w)); + } + } + + if(!found) printf("-1\n"); + } + + printf("\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/3216 - Minimum Heap.cpp b/Tianjin Online Judge/3216 - Minimum Heap.cpp new file mode 100755 index 0000000..70a1f6b --- /dev/null +++ b/Tianjin Online Judge/3216 - Minimum Heap.cpp @@ -0,0 +1,58 @@ +#include +#include + +using namespace std; + +int left[1001],right[1001],C[1001][1001],M; +long long memo[1001]; + +long long f(int N){ + if(N<=2) return 1; + + if(memo[N]!=-1) return memo[N]; + + //we can put the second lowest element at the left or right of the lowest element(father) + memo[N]=(((1LL*C[N-2][right[N]-1]*C[right[N]-1][left[right[N]]])%M*(((f(left[N])*f(left[right[N]]))%M*f(right[right[N]]))%M))%M+((1LL*C[N-2][left[N]-1]*C[left[N]-1][left[left[N]]])%M*(((f(left[left[N]])*f(right[left[N]]))%M*f(right[N]))%M))%M)%M; + + return memo[N]; +} + +int main(){ + left[0]=right[0]=left[1]=right[1]=0; + int aux,pot,sum=1; + + for(int i=1;i<=10;i++){ + aux=0; + pot=(1< +#include +#include + +using namespace std; + +int main(){ + int T,n,m; + char s1[21],s2[21]; + int x,y,z,HP1,STR1,SPD1,HP2,STR2,SPD2,t1,t2,t; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%s %s",s1,s2); + + n=strlen(s1); + + x=0; + for(int i=0;i + +using namespace std; + +int main(){ + int T,n,m; + long long ans; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&n,&m); + + ans=(long long)n*m-1; + + printf("%lld\n",ans); + } +} diff --git a/Tianjin Online Judge/3232 - kangaroo.cpp b/Tianjin Online Judge/3232 - kangaroo.cpp new file mode 100755 index 0000000..31d69e6 --- /dev/null +++ b/Tianjin Online Judge/3232 - kangaroo.cpp @@ -0,0 +1,15 @@ +#include + +using namespace std; + +#define max(a,b) a>b? a:b + +int main(){ + int A,B,C; + + scanf("%d %d %d",&A,&B,&C); + + printf("%d\n",max(B-A-1,C-B-1)); + + return 0; +} diff --git a/Tianjin Online Judge/3234 - Grasshopper.cpp b/Tianjin Online Judge/3234 - Grasshopper.cpp new file mode 100755 index 0000000..fddb923 --- /dev/null +++ b/Tianjin Online Judge/3234 - Grasshopper.cpp @@ -0,0 +1,55 @@ +#include +#include + +using namespace std; + +int N,M[100][100]; +int memo[100][100]; + +int solve(int r, int c){ + if(memo[r][c]!=-1) return memo[r][c]; + + int ans=0; + + if(r>0){ + for(int i=0;i1 && M[r-1][i]>M[r][c]) ans=max(ans,1+solve(r-1,i)); + } + + if(r1 && M[r+1][i]>M[r][c]) ans=max(ans,1+solve(r+1,i)); + } + + if(c>0){ + for(int i=0;i1 && M[i][c-1]>M[r][c]) ans=max(ans,1+solve(i,c-1)); + } + + if(c1 && M[i][c+1]>M[r][c]) ans=max(ans,1+solve(i,c+1)); + } + + memo[r][c]=ans; + return ans; +} + +int main(){ + int R,C; + + scanf("%d %d %d",&N,&R,&C); + R--; C--; + + for(int i=0;i +#include + +using namespace std; + +#define MOD 10007 + +int main(){ + int T,B,S,pow; + char m[1001]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %s",&B,m); + + S=0; pow=1; + + for(int i=strlen(m)-1;i>=0;i--){ + S=(S+(m[i]-'0')*pow)%MOD; + pow=(pow*B)%MOD; + } + + printf("%d\n",S); + } + + return 0; +} diff --git a/Tianjin Online Judge/3238 - Equation.cpp b/Tianjin Online Judge/3238 - Equation.cpp new file mode 100755 index 0000000..4e56ce9 --- /dev/null +++ b/Tianjin Online Judge/3238 - Equation.cpp @@ -0,0 +1,46 @@ +#include +#include + +using namespace std; + +int sq[1001]; +int cont1[3000001]; +int cont2[3000001]; + +void solve(int &r){ + if(cont2[r]!=-1) return; + + cont2[r]=0; + + for(int i=0;i<=1000 && sq[i]<=r;i++) cont2[r]+=cont1[r-sq[i]]; +} + +int main(){ + for(int i=0;i<=1000;i++) sq[i]=i*i; + + int r; + + fill(cont1,cont1+3000001,0); + + for(int i=0;i<=1000;i++) + for(int j=i;j<=1000;j++){ + r=sq[i]+sq[j]; + if(i==j) cont1[r]+=1; + else cont1[r]+=2; + } + + fill(cont2,cont2+3000001,-1); + + int T; + + scanf("%d",&T); + + for(int i=0;i +#include + +using namespace std; + +int N,tree[100001]; + +void update(int idx, int val){ + while(idx<=N){ + tree[idx]+=val; + idx+=(idx&-idx); + } +} + +int F(int idx){ + int sum=0; + while(idx>0){ + sum+=tree[idx]; + idx-=(idx&-idx); + } + return sum; +} + +int main(){ + int T,Q,type,u,v,total,f; + bool blocked[100001]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&N,&Q); + + fill(tree,tree+N+1,0); + for(int i=1;i<=N;i++) update(i,1); + + fill(blocked,blocked+N+1,0); + total=N; + + for(int i=0;iv) swap(u,v); + + f=F(v-1)-F(u-1); + + if(f==v-u || total-f==N-v+u) printf("1\n"); + else printf("0\n"); + } + } + } + + return 0; +} diff --git a/Tianjin Online Judge/3247 - Final Guessing.cpp b/Tianjin Online Judge/3247 - Final Guessing.cpp new file mode 100755 index 0000000..2475844 --- /dev/null +++ b/Tianjin Online Judge/3247 - Final Guessing.cpp @@ -0,0 +1,29 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,N,A,B; + double sum; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + + sum=0.0; + + for(int i=0;i=1.0) printf("No\n"); + else printf("Yes\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/3249 - Happy Coins.cpp b/Tianjin Online Judge/3249 - Happy Coins.cpp new file mode 100755 index 0000000..af8ba5d --- /dev/null +++ b/Tianjin Online Judge/3249 - Happy Coins.cpp @@ -0,0 +1,27 @@ +#include + +using namespace std; + +int main(){ + char name[4]; + + int T,n,S; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&n); + + S=0; + + for(int i=0;i + +using namespace std; + +int main(){ + char day[][10]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"}; + int T[]={31,28,31,30,31,30,31,31,30,31,30,31}; + + int D,M,d=1,m=0,cont=0; + + scanf("%d %d",&D,&M); + M--; + + while(1){ + if(d==D && m==M){ + printf("%s\n",day[(cont+3)%7]); + break; + } + + if(d==T[m]){ + m++; + d=1; + }else d++; + + cont++; + } + + return 0; +} diff --git a/Tianjin Online Judge/3259 - Mysterious Number.cpp b/Tianjin Online Judge/3259 - Mysterious Number.cpp new file mode 100755 index 0000000..2eba7a1 --- /dev/null +++ b/Tianjin Online Judge/3259 - Mysterious Number.cpp @@ -0,0 +1,53 @@ +#include +#include + +using namespace std; + +bool p[1000001]; +int f[1000001],d[1000001]; + +int main(){ + fill(p,p+1000001,true); + + int P[78498]; + int cont=0; + + for(int i=2;i<=1000000;i++){ + if(p[i]){ + P[cont++]=i; + if(i<=1000) for(int j=i*i;j<=1000000;j+=i) p[j]=false; + } + } + + int pos,aux,lim; + + f[0]=0; + f[1]=1; + d[1]=1; + + for(int i=1;i<=1000000;i++){ + if(P[pos]==i) pos++; + + for(int j=0;j<78498 && i<=1000000/P[j];j++){ + if(i%P[j]==0) continue; + aux=i*P[j],lim=1000000/P[j]; + cont=1; + while(1){ + d[aux]=d[i]*(cont+1); + + if(aux<=lim) aux*=P[j]; + else break; + cont++; + } + } + + if(i%d[i]==0) f[i]=f[i-1]+1; + else f[i]=f[i-1]; + } + + int L,H; + + while(scanf("%d %d",&L,&H)==2) printf("%d\n",f[H]-f[L-1]); + + return 0; +} diff --git a/Tianjin Online Judge/3288 - Stockholm Numbers.cpp b/Tianjin Online Judge/3288 - Stockholm Numbers.cpp new file mode 100755 index 0000000..9004bf2 --- /dev/null +++ b/Tianjin Online Judge/3288 - Stockholm Numbers.cpp @@ -0,0 +1,30 @@ +#include + +using namespace std; + +int main(){ + int T,K,n,x; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&K); + + for(n=0;K>(1<=0;i--) + if(K>=(1< +#include +#include +#include + +using namespace std; + +#define N 3000000 + +int factors[N+1]; +long long phi[N+1],ans[N+1]; + +int main(){ + fill(factors,factors+N+1,0); + ans[1] = phi[1] = 1; + + for(int i=2;i<=N;i++){ + if(factors[i]==0){ + factors[i] = i; + phi[i] = i-1; + + if(i<=sqrt(N)) for(int j=i*i;j<=N;j+=i) factors[j] = i; + }else{ + int aux = i,exp = 0; + + while(aux%factors[i]==0){ + aux /= factors[i]; + ++exp; + } + + phi[i] = 1; + + for(int j=0;j +#include +#include + +using namespace std; + +const double eps=1e-9; + +struct point{ + double x,y; + + point(){ + } + + point(const double _x, const double _y){ + x=_x; y=_y; + } + + point operator - (const point &p) const{ + return point(x-p.x,y-p.y); + } + + double dot(const point &p) const{ + return x*p.x+y*p.y; + } + + double abs2() const{ + return dot(*this); + } + + double abs() const{ + return sqrt(abs2()); + } + + point u() const{ + return point(x/abs(),y/abs()); + } +}; + +bool PolygonsAreSimilar(const vector &P1, const vector &P2){ + int n=P1.size()-1; + point a[n],b[n]; + + for(int i=0;ieps){ + found=false; + break; + } + } + + if(found) return true; + } + + return false; +} + +int main(){ + int n,x,y; + vector P1,P2; + + while(scanf("%d",&n)==1){ + P1.clear(); P2.clear(); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int R,C,ans; + char s[1001]; + int count1[1000],count2[1001]; + + while(scanf("%d %d",&R,&C)==2){ + ans=0; + fill(count1,count1+C,0); + + for(int i=0;i0;j--) count2[j]+=count2[j+1]; + + for(int j=i+1;j>0;j--) ans=max(ans,j*count2[j]); + } + + printf("%d\n",ans); + } + + return 0; +} diff --git "a/Tianjin Online Judge/3308 - Snail\342\200\231s trouble.cpp" "b/Tianjin Online Judge/3308 - Snail\342\200\231s trouble.cpp" new file mode 100755 index 0000000..ff54f29 --- /dev/null +++ "b/Tianjin Online Judge/3308 - Snail\342\200\231s trouble.cpp" @@ -0,0 +1,20 @@ +#include +#include + +using namespace std; + +int main(){ + int ans[101],k; + + ans[100]=1; + for(int i=99;i>=67;i--) ans[i]=2; + for(int i=66;i>=55;i--) ans[i]=3; + for(int i=54;i>=48;i--) ans[i]=4; + + //Constante de Euler-Mascheroni : 0.577215664901532860606 + for(int i=47;i>=5;i--) ans[i]=round(exp(100.0/i-0.577215664901532860606)); + + while(scanf("%d",&k)==1) printf("%d\n",ans[k]); + + return 0; +} diff --git a/Tianjin Online Judge/3320 - Coins.cpp b/Tianjin Online Judge/3320 - Coins.cpp new file mode 100755 index 0000000..19495d8 --- /dev/null +++ b/Tianjin Online Judge/3320 - Coins.cpp @@ -0,0 +1,40 @@ +#include +#include + +using namespace std; + +bool dp[100001]; +int cont[100001]; + +int main(){ + int n,m,ans; + + int A[100],C[100]; + + while(1){ + scanf("%d %d",&n,&m); + if(n==0) break; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +struct node{ + int s1,s2; + string n; + + node(){ + } + + node(int _s1, int _s2, string _n){ + s1=_s1; s2=_s2; n=_n; + } +}aux; + +bool done[901][8101]; +string ans[901][8101]; + +void solve(){ + queue Q1,Q2; + + Q1.push(node(0,0,"")); + + int s1,s2; + + for(int i=0;i<100;i++){ + while(!Q1.empty()){ + aux=Q1.front(); + Q1.pop(); + + for(int j=1;j<=9;j++){ + s1=aux.s1+j; + s2=aux.s2+j*j; + + if(!done[s1][s2]){ + done[s1][s2]=true; + ans[s1][s2]=aux.n+string(1,'0'+j); + Q2.push(node(s1,s2,ans[s1][s2])); + } + } + } + + swap(Q1,Q2); + } + + return; +} + +int main(){ + memset(done,false,sizeof(done)); + solve(); + + int T,s1,s2; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&s1,&s2); + if(s1>900 || s2>8100 || !done[s1][s2]) printf("No solution\n"); + else printf("%s\n",ans[s1][s2].c_str()); + } + + return 0; +} diff --git a/Tianjin Online Judge/3348 - Scales.cpp b/Tianjin Online Judge/3348 - Scales.cpp new file mode 100755 index 0000000..e6f2313 --- /dev/null +++ b/Tianjin Online Judge/3348 - Scales.cpp @@ -0,0 +1,31 @@ +#include +#include + +using namespace std; + +int main(){ + int m,N1=0,N2=0; + long long pot=1; + vector a,b; + + scanf("%d",&m); + + while(m!=0){ + if(m%3==1){ + N2++; + m/=3; + b.push_back(pot); + }else if(m%3==2){ + N1++; + m/=3; + m++; + a.push_back(pot); + }else m/=3; + pot*=3; + } + + printf("%d",N1); for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int e,f,c,n; + scanf("%d %d %d",&e,&f,&c); + + n=e+f; + + int ans=0,m; + + while(n>=c){ + m=n/c; + n%=c; + n+=m; + + ans+=m; + } + + printf("%d\n",ans); + + return 0; +} diff --git a/Tianjin Online Judge/3446 - Money Matters.cpp b/Tianjin Online Judge/3446 - Money Matters.cpp new file mode 100755 index 0000000..157503e --- /dev/null +++ b/Tianjin Online Judge/3446 - Money Matters.cpp @@ -0,0 +1,57 @@ +#include +#include +#include + +using namespace std; + +int main(){ + int n,m; + scanf("%d %d",&n,&m); + + int o[n]; + for(int i=0;i > L(n); + int u,v; + + for(int i=0;i Q; + Q.push(i); + used[i]=true; + + while(!Q.empty()){ + u=Q.front(); + Q.pop(); + + sum+=o[u]; + + for(int i=L[u].size()-1;i>=0;i--){ + v=L[u][i]; + if(used[v]) continue; + used[v]=true; + Q.push(v); + } + } + + if(sum!=0) possible=false; + } + + if(possible) printf("POSSIBLE\n"); + else printf("IMPOSSIBLE\n"); + + return 0; +} diff --git a/Tianjin Online Judge/3453 - Playfair Cipher.cpp b/Tianjin Online Judge/3453 - Playfair Cipher.cpp new file mode 100755 index 0000000..58f03a3 --- /dev/null +++ b/Tianjin Online Judge/3453 - Playfair Cipher.cpp @@ -0,0 +1,77 @@ +#include + +using namespace std; + +int main(){ + char s1[1001],s2[1001]; + int n=0,m=0,m2=0; + char c; + + while(1){ + c=getchar(); + if(c=='\n') break; + s1[n++]=c; + } + + while(1){ + c=getchar(); + if(c=='\n') break; + s2[m++]=c; + } + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,s1,s2,ans; + int a[10]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + for(int i=0;i<10;i++) scanf("%d",&a[i]); + + ans=-1; + + for(int mask=0;mask<(1<<9);mask++){ + s1=s2=0; + + for(int i=0;i<10;i++){ + if(mask & (1< +#include +#include + +using namespace std; + +#define MAX_V 1102 +#define MAX_E 3000 + +int V,E,t,f; +int flow[2*MAX_E],cap[2*MAX_E],to[2*MAX_E],next[2*MAX_E],last[MAX_V]; +int path[MAX_V-1],sz; +bool visited[MAX_V],found; + +void dfs(int u, int depth){ + if(u==t){ + sz=depth; + found=true; + return; + } + + for(int v,num=last[u];num!=-1 && !found;num=next[num]){ + v=to[num]; + + if(!visited[v] && flow[num]=0;j--){ + scanf("%d",&L[i][j]); + L[i][j]--; + } + } + + fill(sum,sum+N,0.0); + + for(int i=0;i=0;j--) + sum[L[i][j]]+=1.0/S[i]; + + V=N+M+2; + E=N+M; + + for(int i=0;i=0;i--) + if(to[i]>=1+N && to[i] +#include + +using namespace std; + +struct car{ + int id,s,c; + + car(){ + } + + bool operator < (const car &X) const{ + return (s>X.s || (s==X.s && c>X.c)); + } +}a[1000]; + +int main(){ + int T,N,k; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&N,&k); + + for(int i=0;i + +using namespace std; + +int main(){ + int T,N,ans; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + + ans=0; + + while(N!=0){ + ans+=N%10; + N/=10; + } + + printf("%d\n",ans); + } + + return 0; +} diff --git a/Tianjin Online Judge/3469 - Apples.cpp b/Tianjin Online Judge/3469 - Apples.cpp new file mode 100755 index 0000000..b421f5d --- /dev/null +++ b/Tianjin Online Judge/3469 - Apples.cpp @@ -0,0 +1,21 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,N,M,b1,b2; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d %d %d",&N,&M,&b1,&b2); + + printf("%d\n",__gcd(N-b1,M-b2)); + } + + return 0; +} diff --git a/Tianjin Online Judge/3470 - Key Integer.cpp b/Tianjin Online Judge/3470 - Key Integer.cpp new file mode 100755 index 0000000..f8adf93 --- /dev/null +++ b/Tianjin Online Judge/3470 - Key Integer.cpp @@ -0,0 +1,28 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,N,pos; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + + for(int i=30;i>=0;i--){ + if(N & (1< +#include + +using namespace std; + +int main(){ + bool win[10001]; + memset(win,false,sizeof(win)); + + for(int i=1;i<=10000;i++){ + if(i>=1 && !win[i-1]) win[i]=true; + if(i>=2 && !win[i-2]) win[i]=true; + if(i>=4 && !win[i-4]) win[i]=true; + if(i>=5 && !win[i-5]) win[i]=true; + } + + int N; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + if(win[N]) printf("Happy\n"); + else printf("Unhappy\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/3472 - Chopin.cpp b/Tianjin Online Judge/3472 - Chopin.cpp new file mode 100755 index 0000000..1534a2b --- /dev/null +++ b/Tianjin Online Judge/3472 - Chopin.cpp @@ -0,0 +1,39 @@ +#include +#include + +using namespace std; + +int main(){ + int T,n,m; + scanf("%d",&T); + + bool possible,found; + char s1[101],s2[101]; + + for(int tc=1;tc<=T;tc++){ + scanf("%s %s",s2,s1); + + n=strlen(s1); m=strlen(s2); + possible=true; + + for(int i=0,j=0;i +#include + +using namespace std; + +long long numDivisors(int n){ + long long ans = 1; + int aux; + + if((n&1)==0){ + aux = 1; + while((n&1)==0){ + n >>= 1; + ++aux; + } + ans *= aux; + } + + for(int i=3;i*i<=n;i+=2){ + if(n%i==0){ + aux = 1; + while(n%i==0){ + n /= i; + ++aux; + } + ans *= aux; + } + } + + if(n!=1) ans *= 2; + + return ans; +} + +int main(){ + int T,n,m,G; + + scanf("%d",&T); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,n,a,b,ans; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + + priority_queue Q; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,n,a,ans; + scanf("%d",&T); + + int freq[10001]; + + while(T--){ + memset(freq,0,sizeof(freq)); + + scanf("%d",&n); + ans = 0; + + for(int i=0;ians) ans = freq[a]; + } + + printf("%d\n",ans); + } + + return 0; +} + diff --git a/Tianjin Online Judge/3508 - Minimum Scalar Product.cpp b/Tianjin Online Judge/3508 - Minimum Scalar Product.cpp new file mode 100755 index 0000000..d95d451 --- /dev/null +++ b/Tianjin Online Judge/3508 - Minimum Scalar Product.cpp @@ -0,0 +1,30 @@ +#include +#include + +using namespace std; + +int main(){ + int T,n,x[800],y[800]; + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d",&n); + + for(int i=0;i +#include + +using namespace std; + +int memo[101][101]; + +int solve(int last, int rem){ + if(rem==0) return 1; + if(memo[last][rem]!=-1) return memo[last][rem]; + int aux = 0; + + for(int i=last+1;i<=rem;++i) aux += solve(i,rem-i); + + memo[last][rem] = aux; + return aux; +} + +int main(){ + int n,ans[101]; + + ans[1] = ans[2] = 0; + + for(int i=3;i<=100;++i){ + memset(memo,-1,sizeof(memo)); + ans[i] = solve(0,i)-1; + } + + while(true){ + scanf("%d",&n); + if(n==0) break; + + printf("%d\n",ans[n]); + } + + return 0; +} diff --git a/Tianjin Online Judge/3516 - Game of Stones.cpp b/Tianjin Online Judge/3516 - Game of Stones.cpp new file mode 100755 index 0000000..01e1198 --- /dev/null +++ b/Tianjin Online Judge/3516 - Game of Stones.cpp @@ -0,0 +1,15 @@ +#include +#include + +using namespace std; + +int main(){ + string n,m; + + while(cin>>n>>m){ + if(n==m) printf("No\n"); + else printf("Yes\n"); + } + + return 0; +} diff --git a/Tianjin Online Judge/3561 - DNA Sequencing.cpp b/Tianjin Online Judge/3561 - DNA Sequencing.cpp new file mode 100755 index 0000000..bb7d947 --- /dev/null +++ b/Tianjin Online Judge/3561 - DNA Sequencing.cpp @@ -0,0 +1,45 @@ +#include + +using namespace std; + +int main(){ + int M,F; + scanf("%d %d",&M,&F); + + char s1[20][26],s2[20][26]; + + for(int i=0;i +#include +#include + +using namespace std; + +struct flow_graph{ + int MAX_V,E,s,t,head,tail; + int *cap,*to,*next,*last,*dist,*q,*now; + + flow_graph(int V, int MAX_E){ + MAX_V = V; E = 0; + cap = new int[2*MAX_E], to = new int[2*MAX_E], next = new int[2*MAX_E]; + last = new int[MAX_V], q = new int[MAX_V]; + dist = new int[MAX_V], now = new int[MAX_V]; + fill(last,last+MAX_V,-1); + } + + void clear(){ + fill(last,last+MAX_V,-1); + E = 0; + } + + void add_edge(int u, int v, int uv, int vu = 0){ + to[E] = v; cap[E] = uv; next[E] = last[u]; last[u] = E++; + to[E] = u; cap[E] = vu; next[E] = last[v]; last[v] = E++; + } + + bool bfs(){ + fill(dist,dist+MAX_V,-1); + head = tail = 0; + + q[tail] = t; ++tail; + dist[t] = 0; + + while(head0 && dist[to[e]]==-1){ + q[tail] = to[e]; ++tail; + dist[to[e]] = dist[v]+1; + } + } + } + + return dist[s]!=-1; + } + + int dfs(int v, int f){ + if(v==t) return f; + + for(int &e = now[v];e!=-1;e = next[e]){ + if(cap[e]>0 && dist[to[e]]==dist[v]-1){ + int ret = dfs(to[e],min(f,cap[e])); + + if(ret>0){ + cap[e] -= ret; + cap[e^1] += ret; + return ret; + } + } + } + + return 0; + } + + int max_flow(int source, int sink){ + s = source; t = sink; + int f = 0,x; + + while(bfs()){ + for(int i = 0;i +#include + +using namespace std; + +#define max(a,b) (a)>(b)? (a):(b) + +int main(){ + int T,N,M,L,t[100],v[100]; + long long dp[2][100][1001]; + + scanf("%d",&T); + + for(int tc=1;tc<=T;++tc){ + scanf("%d %d %d",&N,&M,&L); + + for(int i=0;i=t[i-1] && j>0 && dp[(i&1)^1][j-1][k-t[i-1]]!=-1) + dp[i&1][j][k] = max(dp[i&1][j][k],v[i-1]+dp[(i&1)^1][j-1][k-t[i-1]]); + } + } + } + + long long ans = 0; + + for(int i=0;i<=L;++i) ans = max(ans,dp[N&1][M][i]); + printf("%lld\n",ans); + } + + return 0; +} diff --git "a/Tianjin Online Judge/Clasificaci\303\263n.txt" "b/Tianjin Online Judge/Clasificaci\303\263n.txt" new file mode 100755 index 0000000..c368595 --- /dev/null +++ "b/Tianjin Online Judge/Clasificaci\303\263n.txt" @@ -0,0 +1,8 @@ +1935(Symmetric order): Recursión +1144(Tree Recovery): recursion +1903(Word Amalgamation): permutaciones +1695(Count on Canton): matemática +2189(The Key Stations): grafos(bfs) +1008(Cipher): ciclos en permutaciones +1150(Sum of Factorials): bitwise o subset sum +2935(Phone List): ordenamiento diff --git a/Tianjin Online Judge/TDV/1082 - Ride to School.cpp b/Tianjin Online Judge/TDV/1082 - Ride to School.cpp new file mode 100755 index 0000000..c832faa --- /dev/null +++ b/Tianjin Online Judge/TDV/1082 - Ride to School.cpp @@ -0,0 +1,68 @@ +#include +#include +#include + +using namespace std; + +struct biker{ + int v, t; + + biker(){ + } + + biker(int a,int b){ + v=a; + t=b; + } + + bool operator < (biker X) const{ + if(v!=X.v) return v=0 && x+v*T_aux<=4.5){ + printf(" (%d %.6f)",i,T_aux); + printf(" %d %.4f %d",a[i].v,(T-a[i].t),a[i].v-v); + T+=T_aux*3600.0; + x=x+v*T_aux; + v=a[i].v; + printf(" (%.6f %d)\n",x,v); + } + } + printf("\n"); + printf("x , v : %.4f %d\n",x,v); + + T+=(4.5-x)*3600.0/v; + + printf("%.0f\n",ceil(T)); + } + + return 0; +} diff --git a/Tianjin Online Judge/TDV/1096 - Color a Tree (WA).cpp b/Tianjin Online Judge/TDV/1096 - Color a Tree (WA).cpp new file mode 100755 index 0000000..9b85590 --- /dev/null +++ b/Tianjin Online Judge/TDV/1096 - Color a Tree (WA).cpp @@ -0,0 +1,64 @@ +#include +#include + +using namespace std; + +struct nodo{ + int n,C; + + nodo(){ + } + + nodo(int a, int b){ + n=a; + C=b; + } + + bool operator < (nodo X) const{ + return C>X.C; + } +}; + +int main(){ + int N,R,cost,a,b; + int C[1000]; + int father[1000]; + int sons[1000]; + nodo aux; + + while(1){ + scanf("%d %d",&N,&R); + if(N==0 && R==0) break; + + for(int i=0;i Q; + + for(int i=0;i=1;i--){ + aux=Q.top(); + Q.pop(); + + cost+=i*aux.C; + + sons[father[aux.n]]--; + if(sons[father[aux.n]]==0) Q.push(nodo(father[aux.n],C[father[aux.n]])); + } + + printf("%d\n",cost); + } + + return 0; +} diff --git a/Tianjin Online Judge/TDV/1794 - The Bottom of a Graph.cpp b/Tianjin Online Judge/TDV/1794 - The Bottom of a Graph.cpp new file mode 100755 index 0000000..0c59b51 --- /dev/null +++ b/Tianjin Online Judge/TDV/1794 - The Bottom of a Graph.cpp @@ -0,0 +1,70 @@ +#include +#include + +using namespace std; + +int main(){ + int V,E,v1,v2,cont,n; + + int Q[5000],head,tail,aux; + bool visited[5000]; + + bool space; + + while(1){ + scanf("%d",&V); + if(V==0) break; + + scanf("%d",&E); + + vector< vector > L(V); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double x1,x2,x3,y1,y2,y3; + double a,b,c,dif1,dif2,dif3; + double x,y,z; + + while(cin>>x1>>y1>>x2>>y2>>x3>>y3){ + a=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); + b=sqrt(pow(x2-x3,2)+pow(y2-y3,2)); + c=sqrt(pow(x3-x1,2)+pow(y3-y1,2)); + + if(a>b+c || b>c+a || c>a+b) cout<<"Not a Triangle"; + else{ + dif1=fabs(a-b); + dif2=fabs(b-c); + dif3=fabs(c-a); + + if(dif1<0.01 && dif2<0.01 && dif3<0.01) cout<<"Equilateral "; + else if(dif1<0.01 || dif2<0.01 || dif3<0.01) cout<<"Isosceles "; + else cout<<"Scalene "; + + /*if(fabs(a*a-b*b-c*c)<1e-7 || fabs(b*b-c*a-a*a)<1e-7 || fabs(c*c-a*a-b*b)<1e-7) cout<<"Right"; + else if(a*a>b*b+c*c || b*b>c*c+a*a || c*c>a*a+b*b) cout<<"Obtuse"; + else cout<<"Acute";*/ + + + } + + cout< +#include + +using namespace std; + +struct point{ + double x,y; + + point(){ + } +}; + +double dist2(point &A, point &B){ + return (A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y); +} + +double S; + +double area2(point &A, point &B, point &C){ + S=A.x*B.y+B.x*C.y+C.x*A.y-A.y*B.x-B.y*C.x-C.y*A.x; + return S*S; +} + +int main(){ + int N,cont; + char s[14950][5]; + point P[26]; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i +#include +#include + +using namespace std; + +int M,d[30000],x[50],y[50]; +long long dist2[50][50]; +bool visited[50]; + +bool possible(int n){ + queue Q; + Q.push(0); + + for(int i=M-1;i>0;i--) visited[i]=false; + visited[0]=true; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + if(aux==M-1) return true; + + for(int i=M-1+1;i>0;i--){ + if(!visited[i] && dist2[aux][i]<=d[n]){ + visited[i]=true; + Q.push(i); + } + } + } + + return false; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,cont,lo,hi,mi; + + while(1){ + scanf("%d %d",&N,&M); + if(N<0) break; + + for(int i=0;i=N) printf("valid\n"); + else{ + cont=N-hi; + if(cont>N/2) printf("NOT valid\n"); + else printf("valid\n"); + } + } + + return 0; +} diff --git a/Tianjin Online Judge/TDV/2765 - Protecting the Flowers.cpp b/Tianjin Online Judge/TDV/2765 - Protecting the Flowers.cpp new file mode 100755 index 0000000..a02a788 --- /dev/null +++ b/Tianjin Online Judge/TDV/2765 - Protecting the Flowers.cpp @@ -0,0 +1,50 @@ +#include +#include + +using namespace std; + +struct cow{ + int T,D; + + cow(int a, int b){ + T=a; + D=b; + } + + bool operator < (cow X) const{ + if(T!=X.T) return TX.D; + } +}; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector L; + int N,T,D; + long long sum,min_D; + + scanf("%d",&N); + + sum=0; + + for(int i=0;i +#include + +using namespace std; + +long long f(int a, int b){ + long long x=1; + + for(int i=b+1;i<=a;i++) x*=i; + + return x; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int n,cont; + long long pos; + + while(1){ + cin>>n; + if(n==0) break; + + cin>>s; + + pos=0; + + for(int i=0;i +#include + +using namespace std; + +const int MAXN=10050,MAXM=100500,MAXE=2*MAXN; + +int N,E; +int to[MAXE],next[MAXE],last[MAXN],val[MAXN]; +int to2[MAXE],next2[MAXE],last2[MAXN],val2[MAXN]; + +int parent[MAXN]; + +int Find(const int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +int dfsNum[MAXN],num,low[MAXN]; + +void dfs(const int u, const int p){ + dfsNum[u]=low[u]=num++; + + for(int e=last[u];e!=-1;e=next[e]){ + if(to[e]!=p){ + if(dfsNum[to[e]]==-1) dfs(to[e],u); + low[u]?=aux; + sum+=aux; + } + } + + return sum; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int u,v,ne; + + while(1){ + scanf("%d %d",&N,&E); + if(N==0) break; + + memset(last,-1,sizeof(last)); + ne=0; + + for(int i=0;i +#include +#include +using namespace std; + +const int inf = 1 << 29; + +const int MAXN = 10005, MAXM = 100005, MAXE = MAXM * 2; +int n, m, ne; +int last[MAXN], to[MAXE], next[MAXE], val[MAXN]; +int last2[MAXN], to2[MAXE], next2[MAXE], val2[MAXN]; + +int t, vis[MAXN], low[MAXN]; + +int parent[MAXN]; +inline int find(int x) { return (parent[x] == x) ? x : (parent[x] = find(parent[x])); } + +void go1(int x, int p) { + if (vis[x] != -1) return; + vis[x] = low[x] = t++; + + for (int e = last[x]; e != -1; e = next[e]) if (to[e] != p) { + go1(to[e], x); + low[x] = min(low[x], low[to[e]]); + } + + if (low[x] < vis[x] && p != -1) parent[x] = find(p); +} + +int ret; + +int go2(int x, int p) { + int sum = val[x]; + for (int e = last2[x]; e != -1; e = next2[e]) if (to2[e] != p) { + int v = go2(to2[e], x); + ret = max(v, ret); + sum += v; + } + return sum; +} + +void solve() { + memset(last, 255, sizeof(last)); + ne = 0; + for (int i = 0; i < m; ++i) { + int a, b; + scanf("%d%d", &a, &b); --a, --b; + to[ne] = b, next[ne] = last[a], last[a] = ne++; + to[ne] = a, next[ne] = last[b], last[b] = ne++; + } + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + vector v; + string s; + + while(1){ + cin>>N; + if(N==0) break; + + v.clear(); + + for(int i=0;i>s; + sort(s.begin(),s.end()); + + while(s.size()>1 && s[0]=='0') s.erase(0,1); + + v.push_back(s); + } + + sort(v.begin(),v.end()); + + cout< +#include +#include +#include + +using namespace std; + +vector< vector > S; + +int memo[200]; +bool U[200]; + +int solve(int v){ + if(memo[v] != -1) return memo[v]; + + int aux1=0,aux2=1; + bool b1=true,b2=true; + + for(int i=S[v].size()-1;i>=0;i--){ + aux1+=solve(S[v][i]); + b1=b1 && U[S[v][i]]; + } + + for(int i=S[v].size()-1;i>=0;i--) + for(int j=S[S[v][i]].size()-1;j>=0;j--){ + aux2+=solve(S[S[v][i]][j]); + b2=b2 && U[S[S[v][i]][j]]; + } + + if(aux1==aux2){ + memo[v]=aux1; + U[v]=false; + }else{ + if(aux1>aux2){ + memo[v]=aux1; + U[v]=b1; + }else{ + memo[v]=aux2; + U[v]=b2; + } + } + return memo[v]; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + + map M; + string s1,s2; + + while(1){ + cin>>n; + if(n==0) break; + + S.clear(); + S.resize(n); + M.clear(); + + cin>>s1; M[s1]=0; + + int next=1; + + for(int i=1;i>s1>>s2; + + if(M.find(s1)==M.end()) M[s1]=next++; + if(M.find(s2)==M.end()) M[s2]=next++; + + S[M[s2]].push_back(M[s1]); + } + + memset(memo,-1,sizeof(memo)); + memset(U,true,sizeof(U)); + + cout< +#include + +using namespace std; + +int main(){ + long long a,b,c; + int cont,n,m,x,y; + + while(cin>>a>>b>>c){ + cont=0; + n=(b-a+1)/c; + m=(b-a+1)-n*c; + + for(int i=0,j;ic/2 && (a+i)%c!=0 || (c%2==0 && i==c/2 && ((a+i)%c!=c/2 && (a+i)%c!=0))) continue; + + if(i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + + scanf("%d",&n); + + vector cont(n,0); + + for(long long i=1;i +#include + +using namespace std; + +int main(){ + int T,N,M; + int a[100001]; + double dp[100001],p; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&M,&N); + + for(int i=1;i<=M;i++) scanf("%d",&a[i]); + + fill(dp,dp+M+1,0.0); + p=1.0/N; + + for(int i=0;i<=M;i++){ + if(i+N>M) p=1.0/(M-i+1); + + for(int j=1;j<=N && i+j<=M;j++) dp[i+j]+=p*(dp[i]+a[i+j]); + } + + printf("%.1f\n",dp[M]); + } + + return 0; +} diff --git a/Tianjin Online Judge/TDV/Digit Sorting - 2857(WA).cpp b/Tianjin Online Judge/TDV/Digit Sorting - 2857(WA).cpp new file mode 100755 index 0000000..8b12956 --- /dev/null +++ b/Tianjin Online Judge/TDV/Digit Sorting - 2857(WA).cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + + vector v; + string s; + + while(cin>>N,N!=0){ + + v.clear(); + + for(int i=0;i>s; + sort(s.begin(),s.end()); + + //while(s.size()>0 && s[0]=='0') s.erase(0,1); + + v.push_back(s); + } + + sort(v.begin(),v.end()); + + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,B,aux1,aux2,zeros,cont1,cont2; + + while(1){ + scanf("%d %d",&N,&B); + if(N==0 && B==0) break; + + if(N==1){ + printf("0\n"); + continue; + } + + aux1=B; + zeros=(1<<20); + + for(int i=2;aux1!=1;i++){ + if(aux1%i==0){ + + cont1=cont2=0; + + while(aux1%i==0){ + aux1/=i; + cont1++; + } + + aux2=N; + + while(aux2!=0){ + cont2+=aux2/i; + aux2/=i; + } + + zeros=min(zeros,cont2/cont1); + } + } + + printf("%d\n",zeros); + } + + return 0; +} diff --git a/Tianjin Online Judge/TDV/Ginkgo - 2987 (Time Limit).cpp b/Tianjin Online Judge/TDV/Ginkgo - 2987 (Time Limit).cpp new file mode 100755 index 0000000..cb7e14e --- /dev/null +++ b/Tianjin Online Judge/TDV/Ginkgo - 2987 (Time Limit).cpp @@ -0,0 +1,38 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T, L,n,D,max_sum; + + int dp[10000]; + int X[10000]; + int H[10000]; + + scanf("%d",&T); + + for(int caso=0;casoD) + dp[i]=max(dp[i],dp[j]+H[i]); + + max_sum=max(dp[i],max_sum); + } + + printf("%d\n",max_sum); + } + + return 0; +} diff --git a/Tianjin Online Judge/TDV/Help Hakim - 2920 (time limit).cpp b/Tianjin Online Judge/TDV/Help Hakim - 2920 (time limit).cpp new file mode 100755 index 0000000..a691c9d --- /dev/null +++ b/Tianjin Online Judge/TDV/Help Hakim - 2920 (time limit).cpp @@ -0,0 +1,22 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + long long total; + + while(scanf("%d",&N)==1){ + total=N; + total=total*(N+1)/2*(N+2)/3; + + //cout< +#include +#include + +using namespace std; + +bool M[10]; +int P,T,aux; +int memo[11][999]; + +int f(int a, int b, int x){ + + if(a==0){ + if(b==0){ + return 1; + } + else return 0; + } + + if(memo[a][b]!=-1) return memo[a][b]; + + int total=0; + + if(a!=P && M[0]) total=(total+f(a-1,b,x*10+0)%1000001)%1000001; + + for(int i=1;i<9;i++){ + if(M[i]){ + aux=i; + for(int j=0;j>N; + + set digits; + set :: iterator it; + + for(int i=0;i>aux; + digits.insert(aux); + } + + memset(M,false,sizeof(M)); + memset(memo,-1,sizeof(memo)); + + for(it=digits.begin();it!=digits.end();it++) M[(*it)]=true; + + cin>>P>>T; + + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int L,N,M,aux; + + scanf("%d %d %d",&L,&N,&M); + + set S; + vector rocks; + + for(int i=0;i :: iterator it; + + rocks.push_back(0); + for(it=S.begin();it!=S.end();it++) rocks.push_back((*it)); + rocks.push_back(L); + + int ind; + int smallest; + + for(int i=0;i +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T; + cin>>T; + + string s; + int ax,n1,n2; + vector v; + vector a; + vector b; + + getline(cin,s); + for(int i=0;i>ax) v.push_back(ax); + + for(int mask=1;mask<(1<<(v.size()));mask++){ + a.clear(); + b.clear(); + for(int j=0;j=0;j--) n1=n1*10+a[j]; + + n2=0; + for(int j=b.size()-1;j>=0;j--) n2=n2*10+b[j]; + + cout<=0;j--) n1=n1*10+a[j]; + + n2=0; + for(int j=b.size()-1;j>=0;j--) n2=n2*10+b[j]; + + cout< + +using namespace std; + +bool M[10000][10000]; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,n,m,k,ax,cont; + + cin>>t; + + for(int i=0;i>m>>n>>k; + + for(int j=0;j>ax>>cont; + M[ax-1][cont-1]=1; + } + + cont=0; + + for(int j=1;j<=m;j++){ + ax=0; + for(int l=1;l<=n;l++){ + if(M[j-1][l-1]) ax++; + else{ + if(ax>1) cont++; + ax=0; + } + } + if(ax>1) cont++; + } + + for(int j=1;j<=n;j++){ + ax=0; + for(int l=1;l<=m;l++){ + if(M[l-1][j-1]) ax++; + else{ + if(ax>1) cont++; + ax=0; + } + } + if(ax>1) cont++; + } + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + long long min_discontent,a,b; + int C[5000]; + int U[5000]; + int D[5000]; + int S1[5000]; + int S2[5000]; + + scanf("%d",&n); + + for(int i=0;i>a>>b; + U[i]=a*C[i]; + D[i]=b*C[i]; + } + + S1[0]=S2[n-1]=0; + for(int i=1;i +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,sum,cont,j; + vector v; + vector u; + bool enc; + + while(1){ + cin>>n; + cout<>v[i]; + + u.clear();u.resize(n); + + for(int i=0;i>u[i]; + + sort(v.rbegin(),v.rend()); + sort(u.begin(),u.end()); + + cont=0; + + for(int i=0;iu.size()) break; + j++; + enc=true; + } + + if(!enc) break; + + u.erase(u.begin()+j); + + cont++; + } + + sum=200*cont-200*(n-cont); + + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + vector v; + int ind; + + while(getline(cin,s1)){ + if(s1=="0") break; + for(int i=0;i='0' && s1[i]<='9'){ + ind=0; + while(i + +using namespace std; + +int main(){ + long long a, b; + + cin>>a>>b; + cout< +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector v; + + double n; + + while(cin>>n) v.push_back(n); + + for(int i=v.size()-1;i>=0;i--) cout< +#include +#include + +using namespace std; + +string convertir(string s){ + string conv=""; + + for(int i=0;i dictionary; + vector converted; + int n; + int dp[101]; + + while(cin>>number){ + if(number=="-1") break; + + cin>>n; + + dictionary.clear(); + converted.clear(); + + for(int i=0;i>aux; + dictionary.push_back(aux); + converted.push_back(convertir(aux)); + } + + fill(dp,dp+number.size()+1,(1<<20)); + dp[0]=0; + vector sequence(number.size()+1,""); + + for(int i=1;i<=number.size();i++){ + for(int j=0;j1+dp[i-converted[j].size()]){ + dp[i]=1+dp[i-converted[j].size()]; + sequence[i]=sequence[i-converted[j].size()]+dictionary[j]+" "; + } + } + } + + if(dp[number.size()]==(1<<20)) cout<<"No solution."< +#include + +using namespace std; + +int main(){ + freopen("beads.in","r",stdin); + freopen("beads.out","w",stdout); + + int N; + scanf("%d",&N); + + char s[N+1]; + scanf("%s",s); + + bool all=true; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("friday.in","r",stdin); + freopen("friday.out","w",stdout); + + int cont[]={0,0,0,0,0,0,0}; + int meses[]={31,0,31,30,31,30,31,31,30,31,30,31}; + int dia=5; + int N; + + scanf("%d",&N); + + for(int i=1900;i<1900+N;i++){ + if(i%4==0){ + if(i%100==0){ + if(i%400==0) meses[1]=29; + else meses[1]=28; + }else meses[1]=29; + }else meses[1]=28; + + for(int j=0;j<12;j++){ + cont[dia]++; + dia=(dia+meses[j])%7; + } + } + + printf("%d %d %d %d %d %d %d\n",cont[5],cont[6],cont[0],cont[1],cont[2],cont[3],cont[4]); + + return 0; +} diff --git a/USACO/1.1/gift1.cpp b/USACO/1.1/gift1.cpp new file mode 100755 index 0000000..bd7e0fc --- /dev/null +++ b/USACO/1.1/gift1.cpp @@ -0,0 +1,64 @@ +/* +ID: zion_ba1 +LANG: C++ +TASK: gift1 +*/ + +#include +#include +#include + +using namespace std; + +int main(){ + + freopen("gift1.in","r",stdin); + freopen("gift1.out","w",stdout); + + int n; + string s; + vector v1; + + cin>>n; + + for(int i=0;i>s; + v1.push_back(s); + } + vector v2(n,0); + + int a,b; + int k; + + for(int i=0;i>s; + cin>>a>>b; + for(k=0;k>s; + for(k=0;k +#include + +using namespace std; + +int main(){ + + freopen("ride.in","r",stdin); + freopen("ride.out","w",stdout); + + int a=1,b=1; + string s; + + cin>>s; + + for(int i=0;i>s; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("dualpal.in","r",stdin); + freopen("dualpal.out","w",stdout); + + int N,S; + scanf("%d %d",&N,&S); + + int a[20],d,aux,cont,cont_palin; + bool palindrome; + + for(int i=S+1,cont=0;cont!=N;i++){ + cont_palin=0; + for(int B=2;B<=10;B++){ + d=0; + aux=i; + + while(aux!=0){ + a[d]=aux%B; + d++; + aux/=B; + } + + palindrome=true; + + for(int j=0;j +#include + +using namespace std; + +int main(){ + freopen("milk2.in","r",stdin); + freopen("milk2.out","w",stdout); + + int N; + scanf("%d",&N); + + int S[N],E[N]; + for(int i=0;iS[j] || (S[i]==S[j] && E[i]>E[j])){ + swap(S[i],S[j]); + swap(E[i],E[j]); + } + + int s=S[0],e=E[0]; + int t1=E[0]-S[0],t2=0; + + for(int i=1;ie){ + e=E[i]; + t1=max(t1,e-s); + } + }else{ + t2=max(t2,S[i]-e); + s=S[i]; + e=E[i]; + } + } + + printf("%d %d\n",t1,t2); + + return 0; +} diff --git a/USACO/1.2/namenum.cpp b/USACO/1.2/namenum.cpp new file mode 100755 index 0000000..c162bfd --- /dev/null +++ b/USACO/1.2/namenum.cpp @@ -0,0 +1,49 @@ +/* +ID: zion_ba1 +LANG: C++ +TASK: namenum +*/ + +#include +#include + +using namespace std; + +int main(){ + char f[26],x='2'; + for(char i='A';i<='Z';i++){ + f[i-'A']=x; + if(i=='C' || i=='F' || i=='I' || i=='L' || i=='O' || i=='S' || i=='V' || i=='Y') x++; + } + + freopen("namenum.in","r",stdin); + freopen("namenum.out","w",stdout); + + char N[13]; + scanf("%s",N); + + int L=strlen(N); + + freopen("dict.txt","r",stdin); + + char M[13]; + bool ok,found=false; + + while(scanf("%s",M)==1){ + if(strlen(M)!=L) continue; + + ok=true; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("palsquare.in","r",stdin); + freopen("palsquare.out","w",stdout); + + int B; + + scanf("%d",&B); + + int a[20],d,aux,b[20],D; + bool palindrome; + + for(int i=1;i<=300;i++){ + d=0; + aux=i*i; + + while(aux!=0){ + a[d]=aux%B; + aux/=B; + d++; + } + + palindrome=true; + + for(int j=0;j=0;j--) + if(b[j]>=10) printf("%c",b[j]-10+'A'); + else printf("%d",b[j]); + printf(" "); + + for(int j=d-1;j>=0;j--) + if(a[j]>=10) printf("%c",a[j]-10+'A'); + else printf("%d",a[j]); + printf("\n"); + } + + return 0; +} diff --git a/USACO/1.2/transform.cpp b/USACO/1.2/transform.cpp new file mode 100755 index 0000000..c7cf7f3 --- /dev/null +++ b/USACO/1.2/transform.cpp @@ -0,0 +1,82 @@ +/* +ID: zion_ba1 +LANG: C++ +TASK: transform +*/ + +#include +#include + +using namespace std; + +int main(){ + freopen("transform.in","r",stdin); + freopen("transform.out","w",stdout); + + int N; + scanf("%d",&N); + + char M1[N][N+1],M2[N][N+1],M3[N][N+1]; + + for(int i=0;i1) continue; + + if(mask & 1){ + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("barn1.in","r",stdin); + freopen("barn1.out","w",stdout); + + int M,S,C,x; + bool used[200]; + + scanf("%d %d %d",&M,&S,&C); + + fill(used,used+S,false); + + for(int i=0;i=0;i--) + if(used[i]){ + e=i+1; + break; + } + + int total=e-s; + + int i=s; + + while(i +#include +#include + +using namespace std; + +int main(){ + freopen("calfflac.in","r",stdin); + freopen("calfflac.out","w",stdout); + + string s,x; + bool end[20000]; + fill(end,end+20000,false); + + while(getline(cin,x)){ + s=s+x; + end[s.size()-1]=true; + } + + int L=s.size(); + + char aux[20001]; + int ind[20000],sz=0; + + for(int i=0;i='a' && s[i]<='z'){ + aux[sz]=s[i]; + ind[sz]=i; + sz++; + }else if(s[i]>='A' && s[i]<='Z'){ + aux[sz]=s[i]-'A'+'a'; + ind[sz]=i; + sz++; + } + } + + int ans=0,u,v,l,st,e; + + for(int i=0;i=0 && v=0 && v +#include + +using namespace std; + +bool valid[10]; + +bool check(int n){ + while(n!=0){ + if(!valid[n%10]) return false; + n/=10; + } + + return true; +} + +int main(){ + freopen("crypt1.in","r",stdin); + freopen("crypt1.out","w",stdout); + + int N; + scanf("%d",&N); + fill(valid,valid+10,false); + + int d; + for(int i=0;i +#include + +using namespace std; + +struct farmer{ + int P,A; + + farmer(){ + } + + bool operator < (farmer X) const{ + return P0;i++){ + if(N>F[i].A){ + cost+=F[i].P*F[i].A; + N-=F[i].A; + }else{ + cost+=F[i].P*N; + N=0; + } + } + + printf("%d\n",cost); + + return 0; +} diff --git a/USACO/1.4/ariprog.cpp b/USACO/1.4/ariprog.cpp new file mode 100755 index 0000000..df1fec7 --- /dev/null +++ b/USACO/1.4/ariprog.cpp @@ -0,0 +1,53 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:ariprog +*/ + +#include +#include +#include + +using namespace std; + +int main(){ + freopen("ariprog.in","r",stdin); + freopen("ariprog.out","w",stdout); + + int N,M; + + scanf("%d %d",&N,&M); + + bool bisquare[2*M*M+1]; + vector L; + int s; + + fill(bisquare,bisquare+2*M*M+1,false); + + for(int i=0;i<=M;i++) + for(int j=i;j<=M;j++){ + s=i*i+j*j; + if(!bisquare[s]) L.push_back(s); + bisquare[s]=true; + } + + sort(L.begin(),L.end()); + + int a,b_max=(L.back()-L.front())/(N-1),cont; + bool found=false; + + for(int b=1;b<=b_max;b++){ + for(int i=0;L[i]+b*(N-1)<=L.back();i++){ + a=L[i]; + for(cont=1;cont +#include +#include + +using namespace std; + +struct clocks{ + int t[9]; + vector L; + + clocks(){ + } +}; + +void inc(clocks &x, int pos){ + x.t[pos]=(x.t[pos]+1)&3; +} + +void dec(clocks &x, int pos){ + x.t[pos]=(x.t[pos]+3)&3; +} + +int main(){ + freopen("clocks.in","r",stdin); + freopen("clocks.out","w",stdout); + + int t[9]; + + for(int i=0;i<9;i++) scanf("%d",&t[i]); + for(int i=0;i<9;i++) t[i]=(t[i]/3-1); + + queue Q; + + clocks aux; + + for(int i=0;i<9;i++) aux.t[i]=t[i]; + aux.L.clear(); + Q.push(aux); + + bool visited[4][4][4][4][4][4][4][4][4]; + for(int i1=0;i1<4;i1++) + for(int i2=0;i2<4;i2++) + for(int i3=0;i3<4;i3++) + for(int i4=0;i4<4;i4++) + for(int i5=0;i5<4;i5++) + for(int i6=0;i6<4;i6++) + for(int i7=0;i7<4;i7++) + for(int i8=0;i8<4;i8++) + for(int i9=0;i9<4;i9++) + visited[i1][i2][i3][i4][i5][i6][i7][i8][i9]=false; + visited[t[0]][t[1]][t[2]][t[3]][t[4]][t[5]][t[6]][t[7]][t[8]]=true; + + bool solved=false; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + solved=true; + for(int i=0;i<9;i++) if(aux.t[i]!=3) solved=false; + if(solved){ + for(int i=0;i +#include +#include +#include + +using namespace std; + +struct state{ + int A,B,C; + + state(){ + } + + state(int _A, int _B, int _C){ + A=_A; + B=_B; + C=_C; + } +}; + +int main(){ + freopen("milk3.in","r",stdin); + freopen("milk3.out","w",stdout); + + int capA,capB,capC; + + scanf("%d %d %d",&capA,&capB,&capC); + + vector L; + + bool visited[21][21]; + for(int i=0;i<21;i++) + for(int j=0;j<21;j++) + visited[i][j]=false; + + bool possible[capC+1]; + for(int i=0;i S; + S.push(state(0,0,capC)); + visited[0][0]=true; + + state aux; + int x; + + while(!S.empty()){ + aux=S.top(); + S.pop(); + + if(aux.A==0) possible[aux.C]=true; + + x=min(aux.A,capB-aux.B); + if(!visited[aux.A-x][aux.B+x]){ + S.push(state(aux.A-x,aux.B+x,aux.C)); + visited[aux.A-x][aux.B+x]=true; + } + + x=min(aux.A,capC-aux.C); + if(!visited[aux.A-x][aux.B]){ + S.push(state(aux.A-x,aux.B,aux.C+x)); + visited[aux.A-x][aux.B]=true; + } + + x=min(aux.B,capA-aux.A); + if(!visited[aux.A+x][aux.B-x]){ + S.push(state(aux.A+x,aux.B-x,aux.C)); + visited[aux.A+x][aux.B-x]=true; + } + + x=min(aux.B,capC-aux.C); + if(!visited[aux.A][aux.B-x]){ + S.push(state(aux.A,aux.B-x,aux.C+x)); + visited[aux.A][aux.B-x]=true; + } + + x=min(aux.C,capA-aux.A); + if(!visited[aux.A+x][aux.B]){ + S.push(state(aux.A+x,aux.B,aux.C-x)); + visited[aux.A+x][aux.B]=true; + } + + x=min(aux.C,capB-aux.B); + if(!visited[aux.A][aux.B+x]){ + S.push(state(aux.A,aux.B+x,aux.C-x)); + visited[aux.A][aux.B+x]=true; + } + } + + bool space=false; + + for(int i=0;i<=capC;i++) + if(possible[i]){ + if(space) printf(" "); + space=true; + + printf("%d",i); + } + + printf("\n"); + + return 0; +} diff --git a/USACO/1.4/packrec.cpp b/USACO/1.4/packrec.cpp new file mode 100755 index 0000000..6d6f589 --- /dev/null +++ b/USACO/1.4/packrec.cpp @@ -0,0 +1,91 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:packrec +*/ + +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("packrec.in","r",stdin); + freopen("packrec.out","w",stdout); + + int L[4][2],ind[4],ans=(1<<30),h,w; + set< pair > S; + + for(int i=0;i<4;i++) scanf("%d %d",&L[i][0],&L[i][1]); + + ind[0]=0; ind[1]=1; ind[2]=2; ind[3]=3; + + do{ + for(int a=0;a<2;a++){ + for(int b=0;b<2;b++){ + for(int c=0;c<2;c++){ + for(int d=0;d<2;d++){ + h=max(max(L[ind[0]][a],L[ind[1]][b]),max(L[ind[2]][c],L[ind[3]][d])); + w=L[ind[0]][1-a]+L[ind[1]][1-b]+L[ind[2]][1-c]+L[ind[3]][1-d]; + + if(h*ww-L[ind[3]][1-d] && L[ind[0]][a]>h-L[ind[3]][d]) || (L[ind[1]][1-b]>w-L[ind[2]][1-c] && L[ind[1]][b]>h-L[ind[2]][c])){ + w=max(w,L[ind[0]][1-a]+L[ind[3]][1-d]); + w=max(w,L[ind[2]][1-c]+L[ind[1]][1-b]); + } + + if(h*w > :: iterator it; + + for(it=S.begin();it!=S.end();it++) printf("%d %d\n",(*it).first,(*it).second); + + return 0; +} diff --git a/USACO/1.5/checker.cpp b/USACO/1.5/checker.cpp new file mode 100755 index 0000000..a854911 --- /dev/null +++ b/USACO/1.5/checker.cpp @@ -0,0 +1,95 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:checker +*/ + +#include +#include + +using namespace std; + +int N,cont,print,C[13]; +bool col[13],diag1[25],diag2[25]; +bool done[13][13]; + +void generate(int r){ + if(r==N){ + if(print<3){ + for(int i=0;i +#include + +using namespace std; + +int a[500500],dp[500500]; + +int main(){ + freopen("numtri.in","r",stdin); + freopen("numtri.out","w",stdout); + + int R,N,n; + + scanf("%d",&R); + N=R*(R+1)/2; + + for(int i=0;i=0;i--){ + n=i*(i+1)/2; + for(int j=0;j<=i;j++) dp[n+j]=a[n+j]+max(dp[n+j+i+1],dp[n+j+i+2]); + } + + printf("%d\n",dp[0]); + + return 0; +} diff --git a/USACO/1.5/pprime.cpp b/USACO/1.5/pprime.cpp new file mode 100755 index 0000000..faac73c --- /dev/null +++ b/USACO/1.5/pprime.cpp @@ -0,0 +1,82 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:pprime +*/ + +#include +#include +#include + +using namespace std; + +bool prime(int n){ + if(n==2) return true; + if(n%2==0) return false; + + for(int i=3;i*i<=n;i+=2) if(n%i==0) return false; + + return true; +} + +int A,B; +vector ans; +int D[4]; + +int palindrome1(int d){ + int aux=0; + + for(int i=0;i=0;i--) aux=aux*10+D[i]; + + return aux; +} + +int palindrome2(int d){ + int aux=0; + + for(int i=0;i=0;i--) aux=aux*10+D[i]; + + return aux; +} + +void generate(int d){ + if(d>=1 && d<=3){ + int n=palindrome1(d); + if(n>=A && n<=B && prime(n)) + ans.push_back(n); + } + + if(d>=1 && d<=4){ + int n=palindrome2(d); + if(n>=A && n<=B && prime(n)) + ans.push_back(n); + } + + if(d==4) return; + + for(int i=0;i<10;i++){ + D[d]=i; + generate(d+1); + } +} + +int main(){ + freopen("pprime.in","r",stdin); + freopen("pprime.out","w",stdout); + + scanf("%d %d",&A,&B); + + for(int i=1;i<=9;i++){ + D[0]=i; + generate(1); + } + + sort(ans.rbegin(),ans.rend()); + + for(int i=ans.size()-1;i>=0;i--) printf("%d\n",ans[i]); + + return 0; +} diff --git a/USACO/1.5/sprime.cpp b/USACO/1.5/sprime.cpp new file mode 100755 index 0000000..37d51fc --- /dev/null +++ b/USACO/1.5/sprime.cpp @@ -0,0 +1,61 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:sprime +*/ + +#include +#include + +using namespace std; + +struct node{ + int N,L; + + node(){ + } + + node(int _N, int _L){ + N=_N; L=_L; + } +}aux; + +bool prime(int n){ + if(n%2==0) return false; + + for(int i=3;i*i<=n;i+=2) + if(n%i==0) return false; + + return true; +} + +int main(){ + freopen("sprime.in","r",stdin); + freopen("sprime.out","w",stdout); + + int L,n; + scanf("%d",&L); + + queue Q; + Q.push(node(2,1)); + Q.push(node(3,1)); + Q.push(node(5,1)); + Q.push(node(7,1)); + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + if(aux.L==L){ + printf("%d\n",aux.N); + continue; + } + + for(int i=1;i<=9;i+=2){ + n=aux.N*10+i; + if(prime(n)) Q.push(node(n,aux.L+1)); + } + } + + return 0; +} diff --git a/USACO/2.1/castle.cpp b/USACO/2.1/castle.cpp new file mode 100755 index 0000000..8d14d57 --- /dev/null +++ b/USACO/2.1/castle.cpp @@ -0,0 +1,114 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:castle +*/ + +#include +#include + +using namespace std; + +int cont; +char map[101][102]; +bool visited[101][101]; + +int dr[]={0,-1,0,1}; +int dc[]={-1,0,1,0}; +int W,H; + +void dfs(int r, int c){ + if(map[r][c]=='.') cont++; + + for(int k=0;k<4;k++) + if((map[r+dr[k]][c+dc[k]]==' ' || map[r+dr[k]][c+dc[k]]=='.') && !visited[r+dr[k]][c+dc[k]]){ + visited[r+dr[k]][c+dc[k]]=true; + dfs(r+dr[k],c+dc[k]); + } +} + +int main(){ + freopen("castle.in","r",stdin); + freopen("castle.out","w",stdout); + + int M,N,x; + scanf("%d %d",&M,&N); + W=2*M+1; H=2*N+1; + + for(int i=0;i=1;j--){ + if(map[j][i]=='+'){ + map[j][i]=' '; + cont=0; + for(int k=0;kmx){ + mx=cont; + c=i; + r=j; + } + + map[j][i]='+'; + } + } + } + + char dir; + + if(r%2==1){ + dir='E'; + r=(r+1)/2; + c=c/2; + }else{ + dir='N'; + r=r/2+1; + c=(c+1)/2; + } + + printf("%d\n%d %d %c\n",mx,r,c,dir); + + + return 0; +} diff --git a/USACO/2.1/frac1.cpp b/USACO/2.1/frac1.cpp new file mode 100755 index 0000000..2df9b31 --- /dev/null +++ b/USACO/2.1/frac1.cpp @@ -0,0 +1,48 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:frac1 +*/ + +#include +#include +#include + +using namespace std; + +struct fraction{ + int num,dem; + + fraction(const int _num, const int _dem){ + num=_num; + dem=_dem; + } + + bool operator < (const fraction &X) const{ + return num*X.dem v; + + scanf("%d",&N); + + v.push_back(fraction(0,1)); + v.push_back(fraction(1,1)); + + for(int i=2;i<=N;i++) + for(int j=1;j=0;i--) printf("%d/%d\n",v[i].num,v[i].dem); + + return 0; +} diff --git a/USACO/2.1/hamming.cpp b/USACO/2.1/hamming.cpp new file mode 100755 index 0000000..8ec774d --- /dev/null +++ b/USACO/2.1/hamming.cpp @@ -0,0 +1,66 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:hamming +*/ + +#include + +using namespace std; + +int L[64],aux[64],n; + +int N,B,D,MAX; +bool solved=true; + +void search(int num){ + if(solved) return; + + if(n==N){ + solved=true; + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("holstein.in","r",stdin); + freopen("holstein.out","w",stdout); + + int V; scanf("%d",&V); + + int req[V]; + + for(int i=0;i v; + + int aux[V]; bool valid; + + for(int mask=1;mask<(1< a; + for(int i=0;i +#include + + +using namespace std; + +int main(){ + freopen("sort3.in","r",stdin); + freopen("sort3.out","w",stdout); + + int N; scanf("%d",&N); + + int a[N]; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("lamps.in","r",stdin); + freopen("lamps.out","w",stdout); + + int N,C; + + scanf("%d %d",&N,&C); + + int L1[N],L2[N],on=0,off=0,num; + + while(1){ + scanf("%d",&num); + if(num==-1) break; + L1[on++]=num-1; + } + + while(1){ + scanf("%d",&num); + if(num==-1) break; + L2[off++]=num-1; + } + + int state[N]; + bool impossible=true; + set S; + + for(int i1=0;i1<2;i1++){ + for(int i2=0;i2<2;i2++){ + for(int i3=0;i3<2;i3++){ + for(int i4=0;i4<2;i4++){ + int m=i1+i2+i3+i4; + if(m>C || m%2!=C%2) continue; + + fill(state,state+N,1); + + if(i1) for(int i=0;i :: iterator it; + for(it=S.begin();it!=S.end();it++) printf("%s\n",(*it).c_str()); + } + + return 0; +} diff --git a/USACO/2.2/preface.cpp b/USACO/2.2/preface.cpp new file mode 100755 index 0000000..f06b9da --- /dev/null +++ b/USACO/2.2/preface.cpp @@ -0,0 +1,99 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:preface +*/ + +#include + +using namespace std; + +int cnt[7]; +char letra[7]={'I','V','X','L','C','D','M'}; + +void contar(int x){ + int d[4]; + + for(int i=0;i<4;i++){ + d[i]=x%10; + x/=10; + } + + if(d[3]==1) cnt[6]++; + else if(d[3]==2) cnt[6]+=2; + else if(d[3]==3) cnt[6]+=3; + + if(d[2]==1) cnt[4]++; + else if(d[2]==2) cnt[4]+=2; + else if(d[2]==3) cnt[4]+=3; + else if(d[2]==4 || d[2]==6){ + cnt[4]++; + cnt[5]++; + }else if(d[2]==5) cnt[5]++; + else if(d[2]==7){ + cnt[4]+=2; + cnt[5]++; + }else if(d[2]==8){ + cnt[4]+=3; + cnt[5]++; + }else if(d[2]==9){ + cnt[4]++; + cnt[6]++; + } + + if(d[1]==1) cnt[2]++; + else if(d[1]==2) cnt[2]+=2; + else if(d[1]==3) cnt[2]+=3; + else if(d[1]==4 || d[1]==6){ + cnt[2]++; + cnt[3]++; + }else if(d[1]==5){ + cnt[3]++; + }else if(d[1]==7){ + cnt[2]+=2; + cnt[3]++; + }else if(d[1]==8){ + cnt[2]+=3; + cnt[3]++; + }else if(d[1]==9){ + cnt[2]++; + cnt[4]++; + } + + if(d[0]==1) cnt[0]++; + else if(d[0]==2) cnt[0]+=2; + else if(d[0]==3) cnt[0]+=3; + else if(d[0]==4 || d[0]==6){ + cnt[0]++; + cnt[1]++; + }else if(d[0]==5) cnt[1]++; + else if(d[0]==7){ + cnt[0]+=2; + cnt[1]++; + }else if(d[0]==8){ + cnt[0]+=3; + cnt[1]++; + }else if(d[0]==9){ + cnt[0]++; + cnt[2]++; + } +} + +int main(){ + freopen("preface.in","r",stdin); + freopen("preface.out","w",stdout); + + int n; + cin>>n; + + for(int i=0;i<7;i++) cnt[i]=0; + + for(int i=1;i<=n;i++) contar(i); + + for(int i=0;i<7;i++){ + if(cnt[i]==0) continue; + cout< +#include + +using namespace std; + +vector L; +int D[9],d; +bool used[10]; + +int M,ans=-1; + +bool check(){ + bool in_cycle[d]; + for(int i=0;iM){ + if(check() && (ans==-1 || auxM || (ans!=-1 && aux>ans)) return; + } + + if(n==9) return; + + for(int i=1;i<=9;i++){ + if(used[i]) continue; + + D[n]=i; d++; + used[i]=true; + + generate(n+1); + + d--; + used[i]=false; + } +} + +int main(){ + freopen("runround.in","r",stdin); + freopen("runround.out","w",stdout); + + scanf("%d\n",&M); + + d=0; + for(int i=1;i<=9;i++) used[i]=false; + + generate(0); + + printf("%d\n",ans); + + return 0; +} diff --git a/USACO/2.2/subset.cpp b/USACO/2.2/subset.cpp new file mode 100755 index 0000000..077ae2a --- /dev/null +++ b/USACO/2.2/subset.cpp @@ -0,0 +1,47 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:subset +*/ + +#include + +using namespace std; + +int memo[391][40]; + +int count(int S, int n){ + if(S<0) return 0; + + if(n==0){ + if(S==0) return 1; + return 0; + } + + if(memo[S][n]!=-1) return memo[S][n]; + + memo[S][n]=count(S-n,n-1)+count(S,n-1); + + return memo[S][n]; +} + +int main(){ + freopen("subset.in","r",stdin); + freopen("subset.out","w",stdout); + + int N; + scanf("%d",&N); + + if(N%4==1 || N%4==2) printf("0\n"); + else{ + int S=N*(N+1)/4-N; + + for(int i=0;i<=S;i++) + for(int j=0;j +#include + +using namespace std; + +int main(){ + freopen("money.in","r",stdin); + freopen("money.out","w",stdout); + + int V,N,a[25]; + scanf("%d %d",&V,&N); + + for(int i = 0;i +#include + +using namespace std; + +int memo[200][100]; + +int solve(int n, int h){ + if(n==1) return 1; + if(h==1) return 0; + + if(memo[n][h]!=-1) return memo[n][h]; + + memo[n][h]=0; + for(int i=1;i +#include +#include +#include + +using namespace std; + +int main(){ + freopen("prefix.in","r",stdin); + freopen("prefix.out","w",stdout); + + int m=0; + string s,x; + string L[200]; + + while(1){ + getline(cin,x); + if(x==".") break; + istringstream is(x); + while(is>>x) L[m++]=x; + } + + while(getline(cin,x)) s+=x; + int n=s.size(),ans=0; + + bool possible[n+1]; + fill(possible,possible+n+1,false); + possible[0]=true; + + for(int i=1;i<=n;i++){ + bool found=false; + + for(int j=0;ji || !possible[i-L[j].size()]) continue; + + bool check=true; + + for(int k=0;k +#include +#include + +using namespace std; + +int N; + +void solve(int n, int sign, int m, int sum, string s){ + if(n==N){ + if((sign==0 && sum+m==0) || (sign==1 && sum-m==0)) + cout<>N; + solve(1,0,1,0,"1"); + + return 0; +} diff --git a/USACO/NOV 09 - Gold/1 - Lights.cpp b/USACO/NOV 09 - Gold/1 - Lights.cpp new file mode 100755 index 0000000..e877bf6 --- /dev/null +++ b/USACO/NOV 09 - Gold/1 - Lights.cpp @@ -0,0 +1,96 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:lights +*/ + +#include +#include + +using namespace std; + +#define MAX_R 35 +#define MAX_C 36 + +int R,C; +int MOD; + +struct M{ + int X[MAX_R][MAX_C]; + + M(){ + } +}; + +void GaussianElimination(M &M0){ + int aux; + bool found; + + for(int i=0,r=0;r0;i--) + for(int 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 literal 0 HcmV?d00001 diff --git a/USACO/NOV 09 - Gold/2 - Who Brings the Cookies.cpp b/USACO/NOV 09 - Gold/2 - Who Brings the Cookies.cpp new file mode 100755 index 0000000..5dcf703 --- /dev/null +++ b/USACO/NOV 09 - Gold/2 - Who Brings the Cookies.cpp @@ -0,0 +1,149 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:cookie +*/ + +#include +#include +#include + +using namespace std; + +#define MAX_V 1102 +#define MAX_E 3000 + +int V,E,t,f; +int flow[2*MAX_E],cap[2*MAX_E],to[2*MAX_E],next[2*MAX_E],last[MAX_V]; +int path[MAX_V-1],sz; +bool visited[MAX_V],found; + +void dfs(int u, int depth){ + if(u==t){ + sz=depth; + found=true; + return; + } + + for(int v,num=last[u];num!=-1 && !found;num=next[num]){ + v=to[num]; + + if(!visited[v] && flow[num]=0;j--){ + scanf("%d",&L[i][j]); + L[i][j]--; + } + } + + fill(sum,sum+N,0.0); + + for(int i=0;i=0;j--) + sum[L[i][j]]+=1.0/S[i]; + + V=N+M+2; + E=N+M; + + for(int i=0;i=0;i--) + if(to[i]>=1+N && to[i]ibDdVa%>SGCULOcq)FVhuw+}omNe3e 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 + +using namespace std; + +int main(){ + freopen("evenodd.in","r",stdin); + freopen("evenodd.out","w",stdout); + + int N,x; + cin>>N; + + for(int i=0;i>x; + if(x&1) cout<<"odd"< +#include + +using namespace std; + +int main(){ + freopen("rplow.in","r",stdin); + freopen("rplow.out","w",stdout); + + int X,Y,I,xll,yll,xur,yur; + scanf("%d %d %d",&X,&Y,&I); + + bool M[X][Y]; + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + freopen("echo.in","r",stdin); + freopen("echo.out","w",stdout); + + char s1[81],s2[81]; + + scanf("%s %s",s1,s2); + + int n=strlen(s1),m=strlen(s2),L=min(m,n),ans=0; + bool valid; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("papaya.in","r",stdin); + freopen("papaya.out","w",stdout); + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int R,C; + + scanf("%d %d",&R,&C); + + int M[R][C]; + + for(int i=0;i=R || c2<0 || c2>=C || visited[r2][c2]) continue; + + if(M[r2][c2]>mx){ + mx=M[r2][c2]; + ind=i; + } + } + + r+=dr[ind]; + c+=dc[ind]; + ans+=mx; + + if(!(r<0 || r>=R || c<0 || c>=C)) visited[r][c]=true; + } + + printf("%d\n",ans); + + return 0; +} diff --git a/USACO/USACO Qualification 2009/P5.cpp b/USACO/USACO Qualification 2009/P5.cpp new file mode 100755 index 0000000..9614878 --- /dev/null +++ b/USACO/USACO Qualification 2009/P5.cpp @@ -0,0 +1,52 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:stroll +*/ + +#include +#include +#include +#include + +using namespace std; + +int main(){ + freopen("stroll.in","r",stdin); + freopen("stroll.out","w",stdout); + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int P; scanf("%d",&P); + + int children[P][2]; + + for(int i=1,u,a,b;i > Q; + Q.push(make_pair(0,0)); + + while(!Q.empty()){ + pair aux=Q.front(); + Q.pop(); + + if(aux.first==-1){ + ans=aux.second; + continue; + } + + Q.push(make_pair(children[aux.first][0],aux.second+1)); + Q.push(make_pair(children[aux.first][1],aux.second+1)); + } + + printf("%d\n",ans); + + return 0; +} diff --git a/USACO/USACO Qualification 2009/P6.cpp b/USACO/USACO Qualification 2009/P6.cpp new file mode 100755 index 0000000..81ce501 --- /dev/null +++ b/USACO/USACO Qualification 2009/P6.cpp @@ -0,0 +1,73 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:milkweed +*/ + +#include +#include + +using namespace std; + +struct node{ + int x,y,cont; + + node(){ + } + + node(int _x, int _y, int _cont){ + x=_x; y=_y; cont=_cont; + } +}; + +int main(){ + freopen("milkweed.in","r",stdin); + freopen("milkweed.out","w",stdout); + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int X,Y,Mx,My; + scanf("%d %d %d %d",&X,&Y,&Mx,&My); + + Mx--; + My=Y-My; + + char M[X][Y+1]; + + for(int i=0;i Q; + Q.push(node(Mx,My,0)); + visited[Mx][My]=true; + + const int dx[]={-1,-1,-1,0,0,1,1,1}; + const int dy[]={-1,0,1,-1,1,-1,0,1}; + + while(!Q.empty()){ + node aux=Q.front(); + Q.pop(); + + ans=aux.cont; + + for(int i=0;i<8;i++){ + int x=aux.x+dx[i],y=aux.y+dy[i]; + + if(x<0 || x>=X || y<0 || y>=Y || M[x][y]=='*' || visited[x][y]) continue; + visited[x][y]=true; + + Q.push(node(x,y,aux.cont+1)); + } + } + + printf("%d\n",ans); + + return 0; +} diff --git a/USACO/USACO Qualification 2009/P8.cpp b/USACO/USACO Qualification 2009/P8.cpp new file mode 100755 index 0000000..616d029 --- /dev/null +++ b/USACO/USACO Qualification 2009/P8.cpp @@ -0,0 +1,34 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:diet +*/ + +#include + +using namespace std; + +int main(){ + freopen("diet.in","r",stdin); + freopen("diet.out","w",stdout); + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int H,N; scanf("%d %d",&H,&N); + + int W[N]; + for(int i=0;i=W[i-1]) dp[i&1][j]=max(dp[(i-1)&1][j],W[i-1]+dp[(i-1)&1][j-W[i-1]]); + else dp[i&1][j]=dp[(i-1)&1][j]; + } + + printf("%d\n",dp[N&1][H]); + + return 0; +} diff --git a/USACO/USACO Qualification 2009/P9.cpp b/USACO/USACO Qualification 2009/P9.cpp new file mode 100755 index 0000000..1d85653 --- /dev/null +++ b/USACO/USACO Qualification 2009/P9.cpp @@ -0,0 +1,84 @@ +/* +ID:zion_ba1 +LANG:C++ +TASK:heatwv +*/ + +#include +#include + +using namespace std; + +struct edge{ + int v,cost; + + edge(){ + } + + edge(int _v, int _cost){ + v=_v; + cost=_cost; + } + + bool operator < (const edge &X) const{ + return cost>X.cost; + } +}; + +int T,C,Ts,Te; +vector< vector > L; + +int solve(){ + bool visited[T]; + for(int i=0;i Q; + edge aux; + + Q.push(edge(Ts,0)); + + while(!Q.empty()){ + aux=Q.top(); + Q.pop(); + + if(visited[aux.v]) continue; + visited[aux.v]=true; + + if(aux.v==Te) return aux.cost; + + for(int i=L[aux.v].size()-1;i>=0;i--){ + int v=L[aux.v][i].v; + if(visited[v]) continue; + Q.push(edge(v,aux.cost+L[aux.v][i].cost)); + } + } + + return -1; +} + +int main(){ + freopen("heatwv.in","r",stdin); + freopen("heatwv.out","w",stdout); + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + + scanf("%d %d %d %d",&T,&C,&Ts,&Te); + Ts--; Te--; + + L.resize(T); + + for(int i=0,a,b,c;i +#include + +using namespace std; + +int main(){ + int n,L; + double x; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + L=ceil(log(n/2.0)); + x=1-n/exp(L); + + printf("%d %.8f\n",L,x); + } + + return 0; +} diff --git a/UVA/B - Income Tax Hazard.cpp b/UVA/B - Income Tax Hazard.cpp new file mode 100755 index 0000000..da5e9b1 --- /dev/null +++ b/UVA/B - Income Tax Hazard.cpp @@ -0,0 +1,33 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int tc=1,M,mn,mx,N; + double E; + + while(1){ + scanf("%d %d %d",&M,&mn,&mx); + if(M==0 && mn==0 && mx==0) break; + + N=(mx-mn+1)*(mx-mn+2)/2; + E=0; + + for(int s1=mx;s1>=mn;s1--){ + if(M>s1){ + E+=(2*M-s1)*(M-s1)/10.0-(M-1+s1)*(M-s1)/20.0; + if(mx>=M) E+=(M-s1)*(mx-M+1)/10.0; + } + } + + E=E/N; + + printf("Case %d: %.2f\n",tc++,E); + } + + return 0; +} diff --git a/UVA/C/10000 - Longest Paths.cpp b/UVA/C/10000 - Longest Paths.cpp new file mode 100755 index 0000000..1060c40 --- /dev/null +++ b/UVA/C/10000 - Longest Paths.cpp @@ -0,0 +1,70 @@ +#include +#include +#include + +using namespace std; + +int n,s; +int longest; +int destiny; +int visited[101]; + +vector< vector > L(101); + +void bfs(){ + queue< pair > Q; + Q.push(make_pair(s,0)); + + pair aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + if(aux.second>visited[aux.first]){ + visited[aux.first]=aux.second; + + if(aux.second>longest){ + longest=aux.second; + destiny=aux.first; + }else if(aux.second==longest && aux.first +#include +#include + +using namespace std; + +struct punto{ + double x,y; + + punto(double a, double b){ + x=a; + y=b; + } + + bool operator < (punto P) const{ + if(x!=P.x) return x v; +vector H; + +void Hull(){ + H.clear(); + H.resize(v.size()*2,punto(0,0)); + + int k=0; + + sort(v.begin(),v.end()); + + + for(int i=0;i=2 && area(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + for(int i=v.size()-2,t=k+1;i>=0;i--){ + while(k>=t && area(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + H.resize(k,punto(0,0)); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double sum1,sum2,S; + double x,y; + double cx,cy; + + while(1){ + cin>>n; + if(n<3) break; + + v.clear(); + + for(int i=0;i>x>>y; + v.push_back(punto(x,y)); + } + + Hull(); + + S=0; + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +int memo[52][52]; +vector v; + +int f(int a, int b) +{ + if(b-a==1) return 0; + + if(memo[a][b]!=-1) return memo[a][b]; + + int x=4000000; + + for(int i=a+1;i>n; + + v.clear(); + v.push_back(0); + for(int i=0;i>aux; + v.push_back(aux); + } + v.push_back(L); + + memset(memo,-1,sizeof(memo)); + + printf("The minimum cutting is %d.\n",f(0,n+1)); + + } + + + return 0; +} diff --git a/UVA/C/10004 - Bicoloring.cpp b/UVA/C/10004 - Bicoloring.cpp new file mode 100755 index 0000000..155ba8e --- /dev/null +++ b/UVA/C/10004 - Bicoloring.cpp @@ -0,0 +1,50 @@ +#include + +using namespace std; + +int M[199][199]; +int gr[199]; +bool ok; +int x[199]; + +void f(int n){ + for(int i=0;i>n; + if(n==0) break; + cin>>l; + for(int i=0;i>a>>b; + M[a][gr[a]]=b; + gr[a]++; + M[b][gr[b]]=a; + gr[b]++; + } + ok=true; + for(int i=0;i +#include +#include + +using namespace std; + +struct nodo{ + char letra; + int frecuencia; + + nodo(char a, int b){ + letra=a; + frecuencia=b; + } + + bool operator <(nodo P)const{ + if(frecuencia!=P.frecuencia) return frecuencia>P.frecuencia; + return letra M; + + for(int i=0;i<26;i++) M.push_back(nodo('A'+i,0)); + + string s; + int n; + cin>>n; + getline(cin,s); + + for(int i=0;i='a' && s[j]<='z') M[s[j]-'a'].frecuencia++; + else if(s[j]>='A' && s[j]<='Z') M[s[j]-'A'].frecuencia++; + } + } + + sort(M.begin(),M.end()); + + for(int i=0;i<26 && M[i].frecuencia!=0;i++) cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,M,aux; + + cin>>N; + + string s1(1000000,' '); + string s2(1000000,' '); + + + for(int i=0;i>M; + + string sum(M,' '); + + for(int j=0;j>s1[j]>>s2[j]; + + aux=0; + + for(int j=M-1;j>=0;j--){ + aux+=(s1[j]-'0')+(s2[j]-'0'); + + sum[j]=aux%10+'0'; + + aux/=10; + } + + if(i!=0) cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,n; + double c[3000]; + double a,b,a1; + double S; + + cin>>T; + + for(int caso=0;caso>n; + + cin>>a>>b; + for(int i=0;i>c[i]; + + S=0; + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +const double eps=1e-6; + +struct segment{ + double L,R; + string s; + + segment(){ + } + + segment(const double _L, const double _R, const string _s){ + L=_L; R=_R; s=_s; + } + + bool operator < (const segment &X) const{ + if(fabs(L-X.L)>eps) return LX.L; + } +}a[100000]; + +bool used[100000]; + +int main(){ + int T,M,n,cont; + double l,r,X,X2; + bool done; + string s1,s2,s; + + cin>>T; + + for(int tc=1;tc<=T;tc++){ + cin>>M; + + n=0; + + while(1){ + cin>>s1>>s2; + s=s1+" "+s2; + istringstream is(s); + is>>l>>r; + + if(fabs(l)X2-eps){ + pos=i; + X2=a[i].R; + } + i++; + } + + if(X2<=X+eps){ + done=false; + break; + }else X=X2; + + used[pos]=true; + cont++; + }else i++; + } + + if(tc>1) cout< +#include +#include + +using namespace std; + +double P[100][2]; +int n; +double sum; + +void dikjstra(){ + double ax,min; + double dist[100]; + bool intree[100]; + + memset(intree,0,sizeof(intree)); + for(int i=0;i<100;i++) dist[i]=1000000.0; + + int v=0; + dist[0]=0; + sum=0; + + while(!intree[v]){ + intree[v]=1; + sum+=dist[v]; + + for(int i=0;i>T; + + for(int i=0;i>n; + + for(int j=0;j>a>>b; + P[j][0]=a; + P[j][1]=b; + } + + dikjstra(); + if(i!=T-1) cout< +#include + +using namespace std; + +string s1,s2; + +int main(){ + + string a,b; + int cont,i; + bool lleva; + + while(1){ + cin>>a>>b; + if(a=="0" && b=="0") break; + + reverse(a.begin(),a.end()); + reverse(b.begin(),b.end()); + + lleva=0; + cont=0; + + if(a.size()9){ + cont++; + lleva=1; + }else lleva=0; + } + + if(cont==0) cout<<"No carry operation."< +#include +#include +using namespace std; + +int main() +{ + vector v1; + vector v2; + vector::iterator it; + int v; + int q; + + while(cin>>q) + { + v1.clear(); + v2.clear(); + for(int i=0; i>v; + v1.push_back(v); + v2.push_back(0); + } + v2[0]=1; + for(int i=0; i0&&v +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,r,ax,mediana,a,b,dist; + vector s; + + scanf("%d",&T); + + for(int i=0;i +#include +#include + +using namespace std; + +struct nodo{ + int x; + int cost; + nodo(int a, int b){ + x=a; + cost=b; + } +}; + +set S; +int a,b,ax; +int n[4]; +bool visited[10000]; +bool M[10000]; + +int bfs(){ + queue Q; + + ax=a; + for(int i=0;i<4;i++){ + n[i]=ax%10; + ax/=10; + } + + visited[a]=true; + + if(n[0]>0) Q.push(nodo(a-1,1)); + else Q.push(nodo(a+9,1)); + if(n[0]<9) Q.push(nodo(a+1,1)); + else Q.push(nodo(a-9,1)); + if(n[1]>0) Q.push(nodo(a-10,1)); + else Q.push(nodo(a+90,1)); + if(n[1]<9) Q.push(nodo(a+10,1)); + else Q.push(nodo(a-90,1)); + if(n[2]>0) Q.push(nodo(a-100,1)); + else Q.push(nodo(a+900,1)); + if(n[2]<9) Q.push(nodo(a+100,1)); + else Q.push(nodo(a-900,1)); + if(n[3]>0) Q.push(nodo(a-1000,1)); + else Q.push(nodo(a+9000,1)); + if(n[3]<9) Q.push(nodo(a+1000,1)); + else Q.push(nodo(a-9000,1)); + + while(!Q.empty()){ + nodo aux=Q.front(); + Q.pop(); + + if(visited[aux.x]) continue; + visited[aux.x]=true; + + if(aux.x==b) return aux.cost; + + ax=aux.x; + for(int i=0;i<4;i++){ + n[i]=ax%10; + ax/=10; + } + + if(M[aux.x]) continue; + + if(n[0]>0) Q.push(nodo(aux.x-1,aux.cost+1)); + else Q.push(nodo(aux.x+9,aux.cost+1)); + if(n[0]<9) Q.push(nodo(aux.x+1,aux.cost+1)); + else Q.push(nodo(aux.x-9,aux.cost+1)); + if(n[1]>0) Q.push(nodo(aux.x-10,aux.cost+1)); + else Q.push(nodo(aux.x+90,aux.cost+1)); + if(n[1]<9) Q.push(nodo(aux.x+10,aux.cost+1)); + else Q.push(nodo(aux.x-90,aux.cost+1)); + if(n[2]>0) Q.push(nodo(aux.x-100,aux.cost+1)); + else Q.push(nodo(aux.x+900,aux.cost+1)); + if(n[2]<9) Q.push(nodo(aux.x+100,aux.cost+1)); + else Q.push(nodo(aux.x-900,aux.cost+1)); + if(n[3]>0) Q.push(nodo(aux.x-1000,aux.cost+1)); + else Q.push(nodo(aux.x+9000,aux.cost+1)); + if(n[3]<9) Q.push(nodo(aux.x+1000,aux.cost+1)); + else Q.push(nodo(aux.x-9000,aux.cost+1)); + + } + return -1; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,n,proh; + cin>>N; + + for(int i=0;i>ax; + a=a*10+ax; + } + b=0; + for(int j=0;j<4;j++){ + cin>>ax; + b=b*10+ax; + } + cin>>n; + memset(M,false,sizeof(M)); + for(int j=0;j>ax; + proh=proh*10+ax; + } + M[proh]=true; + } + memset(visited,false,sizeof(visited)); + + if(a==b) cout<<0< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int v,t; + + while(cin>>v>>t){ + if(t==0){ + cout<<0< +#include +#include +#include +using namespace std; + +struct point{ + int x,y; + + point(){ + } + + point(int _x, int _y){ + x=_x; y=_y; + } + + bool operator < (const point &p) const{ + if(x!=p.x) return x0; +} + +bool convex(const vector &poly){ + int n=poly.size(); + + for(int i=0;i+2 poly,poly2; + bool used[50]; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + poly.clear(); + for(int i=0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long N,max; + + while(1){ + cin>>N; + if(N<0) break; + + max=N*(N+1)/2+1; + + cout< +#include +#include + +using namespace std; + +int main(){ + + string s1="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; + + string s2; + int n; + vector v; + + while(getline(cin, s2)) + { + v.push_back(s2); + } + for(int j=0;j +#include +#include + +using namespace std; + +struct point{ + int x,y; + + point(){ + } + + point(const int _x, const int _y){ + x=_x; y=_y; + } + + point operator - (const point &p) const{ + return point(x-p.x,y-p.y); + } +}; + +long long AreaBy2(const vector &poly){ + int n=poly.size(); + long long S=0; + + for(int i=1;i poly; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + poly.clear(); + + for(int i=0;i>1); + } + + return 0; +} diff --git a/UVA/C/10099 - The Tourist Guide 2.cpp b/UVA/C/10099 - The Tourist Guide 2.cpp new file mode 100755 index 0000000..c919bb0 --- /dev/null +++ b/UVA/C/10099 - The Tourist Guide 2.cpp @@ -0,0 +1,48 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,R,C1,C2,P,S,D,T,cont; + cont=1; + + int M[100][100]; + + while(1){ + scanf("%d %d",&N,&R); + if(N==0 && R==0) break; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +struct edge{ + int v; + int capacity; + + edge(int a, int b){ + v=a; + capacity=b; + } +}; + +vector< vector > L; +int visited[100]; + +void bfs(int &start){ + queue< pair > Q; + Q.push(make_pair(start,(1<<20))); + pair P; + + while(!Q.empty()){ + P=Q.front(); + Q.pop(); + + for(int i=0;ivisited[L[P.first][i].v]){ + visited[L[P.first][i].v]=min(P.second,L[P.first][i].capacity); + Q.push(make_pair(L[P.first][i].v,visited[L[P.first][i].v])); + } + } +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,R,C1,C2,P,S,D,T,cont; + cont=1; + + while(1){ + scanf("%d %d",&N,&R); + if(N==0 && R==0) break; + + L.clear(); + L.resize(N); + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +int main(){ + string s1,s2,s; + vector v1; + vector v2; + int caso=1,ans,m,n; + int lcs[501][501]; + bool equal[500][500]; + + while(getline(cin,s1)){ + getline(cin,s2); + + cout<>s) v1.push_back(s); + while(is2>>s) v2.push_back(s); + + m=v1.size(); + n=v2.size(); + + if(m==0 || n==0){ + cout<< "Blank!"<=0;i--){ + for(int j=n;j>=0;j--){ + if(i==m || j==n){ + lcs[i][j]=0; + continue; + } + + if(equal[i][j]) lcs[i][j]=1+lcs[i+1][j+1]; + else lcs[i][j]=max(lcs[i][j+1],lcs[i+1][j]); + } + } + + cout<<"Length of longest match: "< +#include + +using namespace std; + +int main(){ + int M,minimum,dist; + char square[100][100]; + int pos1[10000][2]; + int pos3[10000][2]; + int cont1; + int cont3; + + while(scanf("%d\n",&M)==1){ + for(int i=0;i +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int N; + +int main() +{ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + int sum=0; + vector v; + + while(cin>>n) + { + v.push_back(n); + sort(all(v)); + + if(v.size()%2==1) cout< +#include + +using namespace std; + +int main(){ + unsigned int n; + unsigned int x; + + while(1){ + scanf("%u",&n); + if(n==0) break; + + x=sqrt(n); + + if(n==x*x) printf("yes\n"); + else printf("no\n"); + } + + return 0; +} diff --git a/UVA/CI/10112 - Myacm Triangles -.cpp b/UVA/CI/10112 - Myacm Triangles -.cpp new file mode 100755 index 0000000..02c3b24 --- /dev/null +++ b/UVA/CI/10112 - Myacm Triangles -.cpp @@ -0,0 +1,79 @@ +#include +#include +#include + +using namespace std; + +struct punto{ + char letra; + int x; + int y; + + punto(char a, int b, int c){ + letra=a; + x=b; + y=c; + } +}; + +vector v; + +int area(int a, int b, int c){ + return abs(v[a].x*v[b].y+v[b].x*v[c].y+v[c].x*v[a].y-v[a].y*v[b].x-v[b].y*v[c].x-v[c].y*v[a].x); +} + +int S,S1,S2,S3; + +bool comprobar(int a, int b, int c){ + + for(int i=0;i>n; + if(n==0) break; + + v.clear(); + + for(int i=0;i>letra>>x>>y; + v.push_back(punto(letra,x,y)); + } + + A_max=-1; + s=" "; + + for(int i=0;iA_max && comprobar(i,j,k)){ + A_max=S; + s[0]=v[i].letra; + s[1]=v[j].letra; + s[2]=v[k].letra; + } + } + } + } + + cout< +#include +#include +#include + +using namespace std; + +struct nodo{ + int m; + int n; + string s; + + nodo(int a, int b, string c){ + m=a; + n=b; + s=c; + } +}; + +map > M; +vector v,v1,v2,v3,v4; + +int mcd(int a, int b){ + if(a%b==0) return b; + return mcd(b,a%b); +} + +int main(){ + int m,n,a,b,d; + char signo; + string s1,s2; + bool enc; + + while(1){ + cin>>signo; + if(signo=='.') break; + else if(signo=='!'){ + cin>>m>>s1>>signo>>n>>s2; + + d=mcd(m,n); + m/=d; + n/=d; + + v1=M[s1]; + v2=M[s2]; + M[s1].push_back(nodo(m,n,s2)); + + for(int i=0;i>s1>>signo>>s2; + v=M[s1]; + enc=false; + + for(int i=0;i + +using namespace std; + +int main(){ + int meses; + int num; + int cont; + int n; + double pago; + double prestamo; + double value; + double debe; + double porc; + double mensual; + double L[150]; + + while(1){ + cin>>meses>>pago>>prestamo>>num; + + if(meses<0) break; + + fill(L,L+150,-1.0); + + for(int i=0;i>n>>porc; + L[n]=porc; + } + + for(int i=1;i<150;i++) + if(L[i]==-1.0) L[i]=L[i-1]; + + mensual=prestamo/meses; + value=prestamo+pago; + debe=prestamo; + cont=0; + + while(1){ + value*=(1-L[cont]); + + if(debe +#include +#include + +using namespace std; + +int main(){ + int n,ax; + string s1,s2; + + vector v1; + vector v2; + + while(1){ + cin>>n; + if(n==0) break; + + v1.clear(); + v2.clear(); + + getline(cin,s1); + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + int F,C,f,c,cont; + vector grid; + string s; + int visited[10][10]; + bool loop; + + while(1){ + cin>>F>>C>>c; + if(F==0 && C==0 && c==0) break; + + f=0; + c--; + + grid.clear(); + + for(int i=0;i>s; + grid.push_back(s); + } + + memset(visited,-1,sizeof(visited)); + cont=0; + loop=false; + + visited[f][c]=0; + + while(1){ + cont++; + + if(grid[f][c]=='N') f--; + else if(grid[f][c]=='S') f++; + else if(grid[f][c]=='W') c--; + else c++; + + if(f<0 || f>=F || c<0 || c>=C) break; + + if(visited[f][c]!=-1){ + loop=true; + break; + }else visited[f][c]=cont; + } + + if(!loop) cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,b,cont; + + while(cin>>n){ + b=1; cont=1; + + do{ + b=b*10+1; + b%=n; + cont++; + }while(b!=0); + + cout< +#include + +using namespace std; + +struct E{ + int ind,W,S; + + E(){ + } + + E(int _ind, int _W, int _S){ + ind=_ind; + W=_W; + S=_S; + } + + bool operator < (E X) const{ + if(W!=X.W) return WX.S; + } +}; + +int main(){ + int n=0,W,S; + E a[1000]; + + while(scanf("%d %d",&W,&S)==2) a[n]=E(++n,W,S); + sort(a,a+n); + + int dp[n],next[n],ans=0,start; + + for(int i=n-1;i>=0;i--){ + dp[i]=1; + next[i]=-1; + + for(int j=i+1;ja[j].S && 1+dp[j]>dp[i]){ + dp[i]=1+dp[j]; + next[i]=j; + } + } + + if(dp[i]>ans){ + ans=dp[i]; + start=i; + } + } + + printf("%d\n",ans); + for(int i=start;i!=-1;i=next[i]) printf("%d\n",a[i].ind); + + return 0; +} diff --git a/UVA/CI/10195 - The Knights Of The Round Table.cpp b/UVA/CI/10195 - The Knights Of The Round Table.cpp new file mode 100755 index 0000000..a1dbf80 --- /dev/null +++ b/UVA/CI/10195 - The Knights Of The Round Table.cpp @@ -0,0 +1,20 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double a,b,c,p,r; + + while(cin>>a>>b>>c){ + p=(a+b+c)/2+1e-8; + r=sqrt((p-a)*(p-b)*(p-c)/p); + + printf("The radius of the round table is: %.3f\n",r); + } + + return 0; +} diff --git a/UVA/CI/10199 - Tourist Guide.cpp b/UVA/CI/10199 - Tourist Guide.cpp new file mode 100755 index 0000000..fde2bab --- /dev/null +++ b/UVA/CI/10199 - Tourist Guide.cpp @@ -0,0 +1,112 @@ +#include +#include +#include +#include +#include + +using namespace std; + +#define SZ 100 + +bool M[SZ][SZ],print[SZ]; +int N,colour[SZ],dfsNum[SZ],pos[SZ],leastAncestor[SZ],parent[SZ]; + +int Articulation_points(int u){ + int ans=0,cont=0,num=0,v; + + memset(pos,0,sizeof(pos)); + memset(parent,-1,sizeof(parent)); + + stack S; + S.push(u); + + while(!S.empty()){ + v=S.top(); + if(colour[v]==0){ + colour[v]=1; + dfsNum[v]=num++; + leastAncestor[v]=num; + } + + for(;pos[v]1){ + ans++; + print[u]=true; + } + + for(int i=0;i=dfsNum[i]){ + print[i]=true; + ans++; + break; + } + } + + return ans; +} + +int main(){ + char s[31],s2[31]; + int tc=1,R,u,v,ans; + bool start=true; + + map ind; + map :: iterator it; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + ind.clear(); + + for(int i=0;isecond]) printf("%s\n",(it->first).c_str()); + } + + return 0; +} diff --git a/UVA/CII/10209 - Is this integration.cpp b/UVA/CII/10209 - Is this integration.cpp new file mode 100755 index 0000000..4cda487 --- /dev/null +++ b/UVA/CII/10209 - Is this integration.cpp @@ -0,0 +1,20 @@ +#include +#include +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double a; + + while(cin>>a){ + cout< +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double AB,dist; + double x1,y1,x2,y2,CMD,ENF; + + while(cin>>x1>>y1>>x2>>y2>>CMD>>ENF){ + AB=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); + + dist=AB*(1/tan(CMD*PI/180)+1/tan(ENF*PI/180)); + + printf("%.3f\n",dist); + } +} diff --git a/UVA/CII/10215 - The largest-smallest box.cpp b/UVA/CII/10215 - The largest-smallest box.cpp new file mode 100755 index 0000000..f05cd38 --- /dev/null +++ b/UVA/CII/10215 - The largest-smallest box.cpp @@ -0,0 +1,21 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double L,W; + double max,min1=0,min2; + + while(cin>>L>>W){ + max=(W+L-sqrt(W*W-W*L+L*L))/6; + min2=fmin(W,L)/2+1e-8; + printf("%.3f %.3f %.3f\n",max,min1,min2); + } + + return 0; +} diff --git a/UVA/CII/10219 - Find the ways.cpp b/UVA/CII/10219 - Find the ways.cpp new file mode 100755 index 0000000..c5dbe55 --- /dev/null +++ b/UVA/CII/10219 - Find the ways.cpp @@ -0,0 +1,30 @@ +#include +#include + +using namespace std; + +double log10(double n){ + return log(n)/log(10); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long n,k; + double ax; + int dig; + + while(cin>>n>>k){ + ax=0; + + for(int i=0;i +#include +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int s,a; + string unid; + + double alpha,d,L; + + while(cin>>s>>a>>unid){ + if(unid=="deg") alpha=a*PI/180; + else if(unid=="min") alpha=a*PI/180/60; + + alpha=fmin(alpha,2*PI-alpha); + + L=(6440+s)*alpha; + d=2*(6440+s)*sin(alpha/2); + + printf("%.6f %.6f\n",L,d); + } + + return 0; +} diff --git a/UVA/CII/10222 - Decode the mad man.cpp b/UVA/CII/10222 - Decode the mad man.cpp new file mode 100755 index 0000000..bfd8c03 --- /dev/null +++ b/UVA/CII/10222 - Decode the mad man.cpp @@ -0,0 +1,37 @@ +#include +#include + +using namespace std ; + +int main() +{ + string str ; + char LINE[47] = {'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 91, 93, 92, + 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 59, 39, + 'z', 'x', 'c', 'v', 'b', 'n', 'm', 44, 46, 47, + '`', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 45, 61} ; + + while(getline(cin, str, '\n')) + { + for(int i = 0;i + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long C[]={1,2,5,14,42,132,429,1430,4862,16796,58786,208012,742900,2674440,9694845,35357670,129644790,477638700,1767263190}; + + long long n; + + while(cin>>n){ + for(int i=0;i<19;i++){ + if(C[i]==n){ + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double x1,y1,x2,y2,x3,y3,x4,y4; + double x,y; + + while(cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4){ + if(x1==x3 && y1==y3){ + x=x2+x4-x3; + y=y2+y4-y3; + }else if(x1==x4 && y1==y4){ + x=x2+x3-x4; + y=y2+y3-y4; + }else if(x2==x3 && y2==y3){ + x=x1+x4-x3; + y=y1+y4-y3; + }else{ + x=x1+x3-x4; + y=y1+y3-y4; + } + + printf("%.3f %.3f\n",x,y); + } +} diff --git a/UVA/CII/10259 - Hippity Hopscotch.cpp b/UVA/CII/10259 - Hippity Hopscotch.cpp new file mode 100755 index 0000000..154bed0 --- /dev/null +++ b/UVA/CII/10259 - Hippity Hopscotch.cpp @@ -0,0 +1,49 @@ +#include +#include + +using namespace std; + +int n,k; +int M[100][100]; +int memo[100][100]; + +int solve(int r, int c){ + if(memo[r][c]!=-1) return memo[r][c]; + + int r1=max(0,r-k),r2=min(r+k,n-1),c1=max(c-k,0),c2=min(c+k,n-1); + + int ans=0; + + for(int i=r1;i<=r2;i++) + if(M[i][c]>M[r][c]) ans=max(ans,solve(i,c)); + + for(int i=c1;i<=c2;i++) + if(M[r][i]>M[r][c]) ans=max(ans,solve(r,i)); + + ans+=M[r][c]; + memo[r][c]=ans; + + return ans; +} + +int main(){ + int T; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&n,&k); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int i,ax1,ax2; + + while(cin>>s){ + ax1=-1; + + for(i=0;i +#include +#include +#include + +using namespace std; + +int F,I; +int M[101]; +pair L[500][500]; +int g[500]; +int mn[500]; +bool visited[500][500]; +int d[500][500]; + +struct nodo{ + int b,cost; + nodo(int y, int z){ + b=y; + cost=z; + } + bool operator <(nodo N)const{ + if(cost>N.cost) return true; + return false; + } +}; + +bool y; + +void f(int n){ + priority_queue Q; + Q.push(nodo(n,0)); + int cont=0; + + while(!Q.empty()){ + nodo aux=Q.top(); + Q.pop(); + + if(d[n][aux.b]==-1){ + d[n][aux.b]=aux.cost; + cont++; + } + + if(cont==I) return; + + for(int i=0;i>T; + + for(int caso=0;caso>F>>I; + + memset(M,false,sizeof(M)); + + for(int i=0;i>est; + M[i]=est-1; + } + + memset(g,0,sizeof(g)); + + pair P; + + //while(scanf("%d %d %d",&a,&b,&cost)==3){ + getline(cin,s); + while(1){ + getline(cin,s); + istringstream is(s); + if(s.empty()) break; + + is>>a>>b>>cost; + + a--;b--; + P.first=b; + P.second=cost; + L[a][g[a]++]=P; + P.first=a; + P.second=cost; + L[b][g[b]++]=P; + } + + for(int i=0;i +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double l,x,conv=sin(72*PI/180)/sin(63*PI/180); + + while(cin>>l){ + x=conv*l; + + printf("%.10f\n",x); + } +} diff --git a/UVA/CII/10297 - Beavergnaw.cpp b/UVA/CII/10297 - Beavergnaw.cpp new file mode 100755 index 0000000..2d27914 --- /dev/null +++ b/UVA/CII/10297 - Beavergnaw.cpp @@ -0,0 +1,26 @@ +#include +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int D,V; + + double d; + + while(1){ + scanf("%d %d",&D,&V); + + + if(D==0 && V==0) break; + + d=pow(D*D*D-6*V/PI,1.0/3); + + printf("%.3f\n",d); + } +} diff --git a/UVA/CIII/10300 - Ecological Premium.cpp b/UVA/CIII/10300 - Ecological Premium.cpp new file mode 100755 index 0000000..d603324 --- /dev/null +++ b/UVA/CIII/10300 - Ecological Premium.cpp @@ -0,0 +1,25 @@ +#include + +using namespace std; + +int main(){ + int T,f,a,b,c; + long long sum; + + scanf("%d",&T); + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + int n,cont,ans,aux; + double x[100],y[100],r[100]; + bool M[100][100],visited[100]; + queue Q; + + while(1){ + scanf("%d",&n); + if(n==-1) break; + + for(int i=0;i?=cont; + } + + if(ans==1) printf("The largest component contains 1 ring.\n"); + else printf("The largest component contains %d rings.\n",ans); + } + + return 0; +} diff --git a/UVA/CIII/10302 - Summation of Polynomials.cpp b/UVA/CIII/10302 - Summation of Polynomials.cpp new file mode 100755 index 0000000..9d982e5 --- /dev/null +++ b/UVA/CIII/10302 - Summation of Polynomials.cpp @@ -0,0 +1,17 @@ +#include + +using namespace std; + +int main(){ + int x; + long long ans; + + while(scanf("%d",&x)==1){ + ans=1; + ans=ans*x*(x+1)/2; + ans=ans*x*(x+1)/2; + printf("%lld\n",ans); + } + + return 0; +} diff --git a/UVA/CIII/10323 - Factorial! You Must be Kidding!!!.cpp b/UVA/CIII/10323 - Factorial! You Must be Kidding!!!.cpp new file mode 100755 index 0000000..3c5c42b --- /dev/null +++ b/UVA/CIII/10323 - Factorial! You Must be Kidding!!!.cpp @@ -0,0 +1,20 @@ +#include + +using namespace std; + +int main(){ + int n; + + while(scanf("%d",&n)==1){ + if((n>=0 && n<=7) || (n<0 && n%2==0)) printf("Underflow!\n"); + else if(n==8) printf("40320\n"); + else if(n==9) printf("362880\n"); + else if(n==10) printf("3628800\n"); + else if(n==11) printf("39916800\n"); + else if(n==12) printf("479001600\n"); + else if(n==13) printf("6227020800\n"); + else printf("Overflow!\n"); + } + + return 0; +} diff --git a/UVA/CIII/10330 - Power Transmission.cpp b/UVA/CIII/10330 - Power Transmission.cpp new file mode 100755 index 0000000..44f4158 --- /dev/null +++ b/UVA/CIII/10330 - Power Transmission.cpp @@ -0,0 +1,119 @@ +#include +#include +#include +#include + +using namespace std; + +int N; +int flow[202][202]; +int cap[202][202]; +vector< vector > L; +int prev[202]; + +bool augmenting(int &f){ + fill(prev,prev+(2*N+2),-1); + + queue Q; + Q.push(0); + prev[0]=-2; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int test_case,aux,cont[26]; + unsigned long long N; + string s; + + scanf("%d",&test_case); + + for(int caso=1;caso<=test_case;caso++){ + cin>>s; + + memset(cont,0,sizeof(cont)); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + int n,cont; + + while(cin>>s1>>s2){ + n=s1.size(); + cont=0; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T,p,q,r,s,t,u; + double lo,hi,mi,f; + + while(scanf("%d %d %d %d %d %d",&p,&q,&r,&s,&t,&u)==6){ + if(p*exp(-1)+q*sin(1)+r*cos(1)+s*tan(1)+t+u>1e-9 || p+r+u<0){ + printf("No solution\n"); + continue; + } + + lo=0.0; hi=1.0; + + for(int i=0;i<30;i++){ + mi=(lo+hi)/2; + + f=p*exp(-mi)+q*sin(mi)+r*cos(mi)+s*tan(mi)+t*mi*mi+u; + + if(f>0) lo=mi; + else hi=mi; + } + + printf("%.4f\n",lo); + } + + return 0; +} diff --git a/UVA/CIII/10346 - Peter's Smoke.cpp b/UVA/CIII/10346 - Peter's Smoke.cpp new file mode 100755 index 0000000..1f1996d --- /dev/null +++ b/UVA/CIII/10346 - Peter's Smoke.cpp @@ -0,0 +1,23 @@ +#include + +using namespace std; + +int main(){ + int n,k,cont,res; + + while(scanf("%d %d",&n,&k)==2){ + cont=0; + res=0; + + while(n>0){ + cont+=n; + res+=n; + n=res/k; + res%=k; + } + + printf("%d\n",cont); + } + + return 0; +} diff --git a/UVA/CIII/10361 - Automatic Poetry.cpp b/UVA/CIII/10361 - Automatic Poetry.cpp new file mode 100755 index 0000000..0159690 --- /dev/null +++ b/UVA/CIII/10361 - Automatic Poetry.cpp @@ -0,0 +1,45 @@ +#include +#include +#include + +using namespace std; + +int main(){ + int n; + string l1,l2; + string s2,s3,s4,s5; + int pos1,pos2,pos3,pos4; + + cin>>n; + getline(cin,l1); + + for(int caso=1;caso<=n;caso++){ + getline(cin,l1); + getline(cin,l2); + + pos1=l1.find("<"); + pos2=l1.find(">"); + pos3=l1.find("<",pos1+1); + pos4=l1.find(">",pos2+1); + + s2=l1.substr(pos1+1,pos2-pos1-1); + s3=l1.substr(pos2+1,pos3-pos2-1); + s4=l1.substr(pos3+1,pos4-pos3-1); + s5=l1.substr(pos4+1,l1.size()-pos4-1); + + l1.erase(pos1,1); + l1.erase(pos2-1,1); + l1.erase(pos3-2,1); + l1.erase(pos4-3,1); + + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int C,N,above_average; + int nota[1000]; + double prom; + + scanf("%d",&C); + + for(int caso=1;caso<=C;caso++){ + scanf("%d",&N); + + prom=0; + + for(int i=0;iprom) above_average++; + + printf("%.3f%c\n",above_average*100.0/N,'%'); + } + + return 0; +} diff --git a/UVA/CIII/10391 - Compound Words.cpp b/UVA/CIII/10391 - Compound Words.cpp new file mode 100755 index 0000000..773b187 --- /dev/null +++ b/UVA/CIII/10391 - Compound Words.cpp @@ -0,0 +1,55 @@ +#include +#include +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int main() +{ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + string s; + vector v; + + while(cin>>s) + v.push_back(s); + + map M; + + for(int i=0;i v2; + + string s1,s2; + + for(int i=0;i + +using namespace std; + +int main(){ + int n,m; + int a[10]; + bool dp[1000001]; + + while(scanf("%d %d",&n,&m)==2){ + for(int i=0;i=a[j] && !dp[i-a[j]]){ + dp[i]=true; + break; + } + } + + if(dp[n]) printf("Stan wins\n"); + else printf("Ollie wins\n"); + } + + return 0; +} diff --git a/UVA/CIV/10405 - Longest Common Subsequence.cpp b/UVA/CIV/10405 - Longest Common Subsequence.cpp new file mode 100755 index 0000000..761b42b --- /dev/null +++ b/UVA/CIV/10405 - Longest Common Subsequence.cpp @@ -0,0 +1,33 @@ +#include +#include +#include + +using namespace std; + +int lcs[1001][1001]; + +int main(){ + int n,m; + string s1,s2; + + while(getline(cin,s1)){ + getline(cin,s2); + n=s1.size(); + m=s2.size(); + + for(int i=n;i>=0;i--){ + for(int j=m;j>=0;j--){ + if(i==n || j==m){ + lcs[i][j]=0; + continue; + } + if(s1[i]==s2[j]) lcs[i][j]=1+lcs[i+1][j+1]; + else lcs[i][j]=max(lcs[i+1][j],lcs[i][j+1]); + } + } + + printf("%d\n",lcs[0][0]); + } + + return 0; +} diff --git a/UVA/CIV/10420 - List of Conquests.cpp b/UVA/CIV/10420 - List of Conquests.cpp new file mode 100755 index 0000000..a04aef3 --- /dev/null +++ b/UVA/CIV/10420 - List of Conquests.cpp @@ -0,0 +1,57 @@ +#include +#include +#include + +using namespace std; + +struct country{ + string name; + int cont; + + country(){ + } + + country(string s){ + name=s; + cont=1; + } + + bool operator < (country X) const{ + return name>n; + getline(cin,line); + for(int i=0;i>name; + + found=false; + for(int j=0;j +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + int sum1,sum2; + + while(getline(cin,s1)){ + getline(cin,s2); + + sum1=sum2=0; + + for(int i=0;i=sum2) printf("%.2f %c\n",sum2*100.0/sum1,'%'); + else printf("%.2f %c\n",sum1*100.0/sum2,'%'); + } + + return 0; +} diff --git a/UVA/CIV/10432 - Polygon Inside A Circle.cpp b/UVA/CIV/10432 - Polygon Inside A Circle.cpp new file mode 100755 index 0000000..de19952 --- /dev/null +++ b/UVA/CIV/10432 - Polygon Inside A Circle.cpp @@ -0,0 +1,15 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double r; int n; + + while(scanf("%lf %d",&r,&n)==2) printf("%.3f\n",n*r*r/2*sin(2*M_PI/n)); + + return 0; +} diff --git a/UVA/CIV/10439 - Temple of Dune.cpp b/UVA/CIV/10439 - Temple of Dune.cpp new file mode 100755 index 0000000..c34c6c8 --- /dev/null +++ b/UVA/CIV/10439 - Temple of Dune.cpp @@ -0,0 +1,52 @@ +#include +#include +#include + +#define PI 3.14159265358979323846 + +using namespace std; + +int main(){ + + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int t; + double x1,y1,x2,y2,x3,y3; + double a,b,c,S,R; + double m,n,p; + double e1,e2; + int N; + + cin>>t; + + for(int i=0;i>x1>>y1>>x2>>y2>>x3>>y3; + + S=fabs(x1*y2+x2*y3+x3*y1-x2*y1-x3*y2-x1*y3)*0.5; + a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); + b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); + c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); + + R=a*b*c/(4*S); + + m=2*asin(a/(2*R)); + n=2*asin(b/(2*R)); + p=2*asin(c/(2*R)); + + for(int j=3;j<201;j++){ + e1=m*j/(2*PI); + e2=n*j/(2*PI); + + e1-=round(e1); + e2-=round(e2); + + if(fabs(e1)<1e-5 && fabs(e2)<1e-5){ + cout< +#include + +using namespace std; + +int main(){ + int c,n,m,t,pos; + int T[1440],ans; + + scanf("%d",&c); + + for(int tc=0;tc=T[pos+n-1]) ans=ans+2*t; + else ans=T[pos+n-1]+2*t; + } + + ans-=t; + + printf("%d %d\n",ans,(m+n-1)/n); + } + + return 0; +} diff --git a/UVA/CIV/10443 - Rock, Scissors, Paper.cpp b/UVA/CIV/10443 - Rock, Scissors, Paper.cpp new file mode 100755 index 0000000..a7283d2 --- /dev/null +++ b/UVA/CIV/10443 - Rock, Scissors, Paper.cpp @@ -0,0 +1,80 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +vector v; +vector ax; +string s; +int t,r,c,n,I,J; +int di[]={1,-1,0,0}; +int dj[]={0,0,1,-1}; + +char f(int a, int b){ + if(v[a][b]=='R'){ + for(int i=0;i<4;i++){ + I=a+di[i]; + J=b+dj[i]; + if(I>=0 && I=0 && J=0 && I=0 && J=0 && I=0 && J>t; + for(int i=0;i>r>>c>>n; + + v.clear(); + + for(int j=0;j>s; + v.push_back(s); + } + + for(int m=0;m +#include + +using namespace std; + +int main(){ + int n,m,t,dp[10000]; + + while(scanf("%d %d %d",&n,&m,&t)==3){ + fill(dp,dp+t+1,-1); + dp[0]=0; + + for(int i=1;i<=t;i++){ + if(i>=n && dp[i-n]!=-1) dp[i]=1+dp[i-n]; + if(i>=m && dp[i-m]!=-1) dp[i]>?=1+dp[i-m]; + } + + if(dp[t]!=-1) printf("%d\n",dp[t]); + else{ + for(int i=t;;i--){ + if(dp[i]!=-1){ + printf("%d %d\n",dp[i],t-i); + break; + } + } + } + } + + return 0; +} diff --git a/UVA/CIV/10469 - To Carry or not to Carry.cpp b/UVA/CIV/10469 - To Carry or not to Carry.cpp new file mode 100755 index 0000000..3aa1d20 --- /dev/null +++ b/UVA/CIV/10469 - To Carry or not to Carry.cpp @@ -0,0 +1,21 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + unsigned int a,b,c; + + while(cin>>a>>b){ + c=0; + + for(int i=0;i<32;i++) + if((a&(1< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + char num[1001]; + + int sum; + + while(1){ + cin>>num; + + if(num[0]=='0' && strlen(num)==1) break; + + sum=0; + + for(int i=0;i +#include +#include + +using namespace std; + +bool visited[50][50]; +int di[]={-1,1,0,0}; +int dj[]={0,0,-1,1}; +int x; +int y; +vector v; + +int dfs(int a,int b) +{ + visited[a][b]=true; + int cont=1; + int I,J; + for(int i=0;i<4;i++) + { + I=a+di[i]; + J=b+dj[i]; + + if(I>=0 && J>=0 && I v1; + vector v2; + + int cont=1; + + while(true) + { + cin>>x>>y; + if(x==0 && y==0) break; + + cout<<"Problem "<>s; + v.push_back(s); + } + memset(visited,false,sizeof(visited)); + + for(int i=0;iv1[j]) + { + swap(v1[i],v1[j]); + } + } + } + } + for(int i=0;i +#include +#include + +using namespace std; + +#define MAX_V 500 + +int M[MAX_V][MAX_V],w[MAX_V]; +bool A[MAX_V],merged[MAX_V]; + +int minCut(int n){ + int best = INT_MAX; + for(int i=1;i=0;--i){ + // hallar siguiente vértice que no esté en A + next = -1; + + for(int j=1;jw[next])) + next = j; + + A[next] = true; + + if(i>0){ + prev = next; + + // actualiza los pesos + for(int j=1;jw[next]) best = w[next]; + + // mezcla s y t + for(int i=0;i +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int k; + double r1,r2,r3,S,a,b,c,G,x,y,z; + + cin>>k; + + for(int i=0;i>r1>>r2>>r3; + + S=sqrt((r1+r2+r3)*r1*r2*r3); + + x=asin(2/((r1+r2)*(r1+r3))*S); + y=asin(2/((r2+r3)*(r2+r1))*S); + z=asin(2/((r3+r1)*(r3+r2))*S); + + + a=r2+r3; + b=r3+r1; + c=r1+r2; + + if(a*a>b*b+c*c) x=PI-x; + else if(b*b>c*c+a*a) y=PI-y; + else if(c*c>a*a+b*b) z=PI-z; + + G=S-r1*r1*x/2-r2*r2*y/2-r3*r3*z/2; + + printf("%.6f\n",G); + } +} diff --git a/UVA/CV/10583 - Ubiquitous Religions.cpp b/UVA/CV/10583 - Ubiquitous Religions.cpp new file mode 100755 index 0000000..ce64043 --- /dev/null +++ b/UVA/CV/10583 - Ubiquitous Religions.cpp @@ -0,0 +1,52 @@ +#include + +using namespace std; + +int parent[50000],rank[50000],ans; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + if(PX==PY) return; + + ans--; + + if(rank[PX]>rank[PY]) + parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +int main(){ + int tc=1,n,m,x,y; + + while(1){ + scanf("%d %d",&n,&m); + if(n==0) break; + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +#define MAX_V 1+2*100 +#define MAX_E 2*10001 +typedef long long edge_type; +const edge_type INF = LLONG_MAX; + +int V,E,prev[MAX_V],last[MAX_V]; +edge_type flowVal,flowCost,cap[MAX_E],cost[MAX_E],to[MAX_E],next[MAX_E],dist[MAX_V],pot[MAX_V]; + +void init(){ + memset(last,-1,sizeof(last)); + E = 0; +} + +void add_edge(int u, int v, edge_type capacity, edge_type cst){ + to[E] = v, cap[E] = capacity; + cost[E] = cst, next[E] = last[u]; + last[u] = E++; + + to[E] = u, cap[E] = 0; + cost[E] = -cst, next[E] = last[v]; + last[v] = E++; +} + +void mcmf(int s, int t){ + flowVal = flowCost = 0; + memset(pot,0,sizeof(pot)); + + while(true){ + memset(prev,-1,sizeof(prev)); + for(int i = 0;i > Q; + Q.insert(make_pair(0,s)); + dist[s] = prev[s] = 0; + + while(!Q.empty()){ + int aux = Q.begin()->second; Q.erase(Q.begin()); + + for(int e = last[aux];e!=-1;e = next[e]){ + if(cap[e]<=0) continue; + + edge_type new_dist = dist[aux]+cost[e]+pot[aux]-pot[to[e]]; + + if(new_dist +#include + +using namespace std; + +int parent[30000],rank[30000],cont[30000],ans; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; + cont[x]=1; +} + +int Find(int x){ + if(parent[x]!=x) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + if(PX==PY) return; + + if(rank[PX]>rank[PY]){ + parent[PY]=PX; + cont[PX]+=cont[PY]; + ans>?=cont[PX]; + }else{ + parent[PX]=PY; + cont[PY]+=cont[PX]; + ans>?=cont[PY]; + if(rank[PX]==rank[PY]) rank[PY]++; + } +} + +int main(){ + int T,N,M,x,y; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&N,&M); + + for(int i=0;i +#include + +using namespace std; + +int MCD[101][101],a[30],sz; + +void generate(int n, int m, int mn){ + if(n==sz){ + if(m==0){ + for(int i=0;i + +using namespace std; + +int main(){ + int N; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + if(N<=101) printf("f91(%d) = 91\n",N); + else printf("f91(%d) = %d\n",N,N-10); + } + + return 0; +} diff --git a/UVA/CVI/10699 - Count the factors.cpp b/UVA/CVI/10699 - Count the factors.cpp new file mode 100755 index 0000000..228f95f --- /dev/null +++ b/UVA/CVI/10699 - Count the factors.cpp @@ -0,0 +1,46 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,n,cont,raiz; + bool primo[1010]; + vector p; + + memset(primo,1,sizeof(primo)); + + p.push_back(2); + + primo[0]=primo[1]=0; primo[2]=1; + + for(int i=3;i<1010;i+=2){ + if(primo[i]){ + p.push_back(i); + for(int j=2;j*i<1010;j++) primo[i*j]=0; + } + } + + while(1){ + cin>>N; + if(N==0) break; + + cont=0; + n=N; + + for(int i=0;p[i]<=sqrt(N);i++){ + if(N%p[i]==0){ + while(N%p[i]==0) N/=p[i]; + cont++; + } + } + if(N!=1) cont++; + cout< +#include +#include +#include +#include + +using namespace std; + +#define MAX_V 42 +#define MAX_E 2*440 + +typedef int cap_type; +typedef double cost_type; +const cost_type INF = 1e10; + +int V,E,prev[MAX_V],last[MAX_V],to[MAX_E],next[MAX_E]; +bool visited[MAX_V]; +cap_type flowVal, cap[MAX_E]; +cost_type flowCost,cost[MAX_E],dist[MAX_V],pot[MAX_V]; + +void init(int _V){ + memset(last,-1,sizeof(last)); + V = _V; E = 0; +} + +void add_edge(int u, int v, cap_type capacity, cost_type cst){ + to[E] = v, cap[E] = capacity; + cost[E] = cst, next[E] = last[u]; + last[u] = E++; + to[E] = u, cap[E] = 0; + cost[E] = -cst, next[E] = last[v]; + last[v] = E++; +} + +void mcmf(int s, int t){ + flowVal = flowCost = 0; + memset(pot,0,sizeof(pot)); + + while(true){ + memset(prev,-1,sizeof(prev)); + memset(visited,false,sizeof(visited)); + for(int i = 0;i > Q; + Q.push(make_pair(0,s)); + dist[s] = prev[s] = 0; + + while(!Q.empty()){ + int aux = Q.top().second; + Q.pop(); + + if(visited[aux]) continue; + visited[aux] = true; + + for(int e = last[aux];e!=-1;e = next[e]){ + if(cap[e]<=0) continue; + cost_type new_dist = dist[aux]+cost[e]+pot[aux]-pot[to[e]]; + if(new_dist +#include + +using namespace std; + +int main(){ + double d,v,u,t1,t2; + int T; + + cin>>T; + for(int caso=0;caso>d>>v>>u; + + if(v>=u || u==0 || v==0){ + printf("Case %d: can't determine\n",caso+1); + continue; + } + + t1=d/u; + t2=d/sqrt(u*u-v*v); + + printf("Case %d: %.3lf\n",caso+1,fabs(t2-t1)); + } +} diff --git a/UVA/CVII/10783 - Odd Sum.cpp b/UVA/CVII/10783 - Odd Sum.cpp new file mode 100755 index 0000000..2a252df --- /dev/null +++ b/UVA/CVII/10783 - Odd Sum.cpp @@ -0,0 +1,23 @@ +#include + +using namespace std; + +int main(){ + int T,a,b; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%d %d",&a,&b); + + if(a%2==0) a++; + if(b%2==0) b--; + + printf("Case %d: ",i); + + if(a>b) printf("0\n"); + else printf("%d\n",((a+b)/2)*((b-a+2)/2)); + } + + return 0; +} diff --git a/UVA/CVIII/10806 - Dijkstra, Dijkstra.cpp b/UVA/CVIII/10806 - Dijkstra, Dijkstra.cpp new file mode 100755 index 0000000..509011b --- /dev/null +++ b/UVA/CVIII/10806 - Dijkstra, Dijkstra.cpp @@ -0,0 +1,108 @@ +#include +#include +#include +#include + +using namespace std; + +#define MAX_V 1+2*100 +#define MAX_E 2*10001 +typedef int edge_type; +const edge_type INF = INT_MAX; + +int V,E,prev[MAX_V],last[MAX_V]; +edge_type flowVal,flowCost,cap[MAX_E],cost[MAX_E],to[MAX_E],next[MAX_E],dist[MAX_V],pot[MAX_V]; + +void init(){ + memset(last,-1,sizeof(last)); + E = 0; +} + +void add_edge(int u, int v, edge_type capacity, edge_type cst){ + to[E] = v, cap[E] = capacity; + cost[E] = cst, next[E] = last[u]; + last[u] = E++; + + to[E] = u, cap[E] = 0; + cost[E] = -cst, next[E] = last[v]; + last[v] = E++; +} + +void mcmf(int s, int t){ + flowVal = flowCost = 0; + memset(pot,0,sizeof(pot)); + + while(true){ + memset(prev,-1,sizeof(prev)); + for(int i = 0;i > Q; + Q.insert(make_pair(0,s)); + dist[s] = prev[s] = 0; + + while(!Q.empty()){ + int aux = Q.begin()->second; Q.erase(Q.begin()); + + for(int e = last[aux];e!=-1;e = next[e]){ + if(cap[e]<=0) continue; + + edge_type new_dist = dist[aux]+cost[e]+pot[aux]-pot[to[e]]; + + if(new_dist +#include +#include + +using namespace std; + +int M[100][100]; +bool visited[100][100]; +int n; +int vi[]={-1,1,0,0}; +int vj[]={0,0,1,-1}; + +int dfs(int a,int b) +{ + visited[a][b]=1; + + int I,J; + int cont=1; + + for(int i=0;i<4;i++) + { + I=a+vi[i]; + J=b+vj[i]; + + if(!(I>=0 && J>=0 && I>n) + { + if(n==0) break; + + string aux; + getline(cin,aux); + + for(int i=0;i>x>>y) + { + M[x-1][y-1] = i; + } + } + + memset(visited,0,sizeof(visited)); + + ok=true; + + for(int i=0;i +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double a,b,c; + double S,p,r,R,S1,S2,S3; + + while(cin>>a>>b>>c){ + p=(a+b+c)*0.5; + S=sqrt(p*(p-a)*(p-b)*(p-c)); + R=a*b*c/4/S; + r=sqrt((p-a)*(p-b)*(p-c)/p); + + S1=PI*R*R-S; + S3=PI*r*r; + S2=S-S3; + + printf("%.4f %.4f %.4f\n",S1,S2,S3); + } +} diff --git a/UVA/CXI/11172 - Relational Operators.cpp b/UVA/CXI/11172 - Relational Operators.cpp new file mode 100755 index 0000000..42b395a --- /dev/null +++ b/UVA/CXI/11172 - Relational Operators.cpp @@ -0,0 +1,22 @@ +#include + +using namespace std; + +int main() +{ + + int n; + cin>>n; + int a,b; + for(int i=0;i>a>>b; + if(ab) cout<<">"< +#include +#include + +using namespace std; + +int main(){ + short L,N; + string s1,s2; + map M; + + cin>>L>>N; + + for(int i=0;i>s1>>s2; + M[s1]=s2; + } + + char c1,c2; + + for(int i=0;i>s1; + if(M[s1]!="") cout< +#include + +using namespace std; + +int main(){ + int a[100000]; + int sum[100001]; + int mod[100000]; + int c,n; + + while(1){ + scanf("%d %d",&c,&n); + + if(c==0 && n==0) break; + + for(int i=0;i +#include +#include + +using namespace std; + +struct edge{ + int u,v,cost; + + edge(){ + } + + edge(int _u, int _v, int _cost){ + u=_u; + v=_v; + cost=_cost; + } + + bool operator < (edge X) const{ + if(v!=X.v) return v>X.v; + return u=V-1) stopovers=V-2; + + if(min_cost[stopovers]==-1) printf("No satisfactory flights\n"); + else printf("Total cost of flight(s) is $%d\n",min_cost[stopovers]); + } + + if(tc!=T) printf("\n"); + } + + return 0; +} diff --git a/UVA/CXIII/11351 - Last Man Standing.cpp b/UVA/CXIII/11351 - Last Man Standing.cpp new file mode 100755 index 0000000..b093c75 --- /dev/null +++ b/UVA/CXIII/11351 - Last Man Standing.cpp @@ -0,0 +1,26 @@ +#include + +using namespace std; + +int survivor(const int &n, const int &m){ + int i, s; + + for (s = 0, i = 1; i <= n; i++) s = (s + m) % i; + + return (s + 1); +} + + +int main(){ + int T,n,k; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d",&n,&k); + + printf("Case %d: %d\n",tc,survivor(n,k)); + } + + return 0; +} diff --git a/UVA/CXIII/11362 - Phone List.cpp b/UVA/CXIII/11362 - Phone List.cpp new file mode 100755 index 0000000..032c424 --- /dev/null +++ b/UVA/CXIII/11362 - Phone List.cpp @@ -0,0 +1,47 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int t,n; + string s; + vector list; + bool ok; + + cin>>t; + + for(int caso=0;caso>n; + + list.clear(); + + for(int i=0;i>s; + list.push_back(s); + } + + sort(list.begin(),list.end()); + + ok=true; + + for(int i=0;i=list[i].size()){ + s=list[i+1].substr(0,list[i].size()); + if(s==list[i]){ + ok=false; + break; + } + } + } + + if(ok) cout<<"YES"< +#include +#include +#include + +using namespace std; + +#define MAX_V 500 + +int V,cost[MAX_V][MAX_V]; +int lx[MAX_V],ly[MAX_V]; +int max_match,xy[MAX_V],yx[MAX_V],prev[MAX_V]; +bool S[MAX_V],T[MAX_V]; +int slack[MAX_V],slackx[MAX_V]; + +void init_labels(){ + memset(lx,0,sizeof(lx)); + memset(ly,0,sizeof(ly)); + + for(int x = 0;x +#include + +using namespace std; + +int A[100000],C[100000],pos1,pos2,sz; + +int count(int a, int b){ + if(a==b) return 0; + + int c=((a+b)>>1),aux=count(a,c)+count(c+1,b); + + pos1=a; pos2=c+1; sz=0; + + while(pos1<=c && pos2<=b){ + if(A[pos1]c) memcpy(C+sz,A+pos2,(b-pos2+1)*sizeof(int)); + if(pos2>b) memcpy(C+sz,A+pos1,(c-pos1+1)*sizeof(int)); + + sz=b-a+1; + + memcpy(A+a,C,sz*sizeof(int)); + + return aux; +} + +int main(){ + int N,inversions; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +#define SZ 98 + +int flow[SZ][SZ],cap[SZ][SZ],prev[SZ],f; +vector< vector > L(SZ); + +bool augmenting(int &N, int t){ + fill(prev,prev+N,-1); + queue Q; + Q.push(0); + prev[0]=-2; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i + +using namespace std; + +#define min(a,b) ab? a:b + +int n,N; +int M[8][8]; +int memo[(1<<8)][(1<<8)]; + +int solve(int mask_r, int mask_c){ + if(mask_r==N && mask_c==N) return 0; + + + if(memo[mask_r][mask_c]!=8001) return memo[mask_r][mask_c]; + + int mx=-8001; + + for(int i=0;i>T; + + for(int tc=1;tc<=T;tc++){ + cin>>n; + N=(1<>M[i][j]; + + for(int i=N;i>=0;i--) fill(memo[i],memo[i]+(1< +#include +#include + +using namespace std; + +int main(){ + int N; + + cin>>N; + + int dp1[250]; + int dp2[250]; + + string s; + getline(cin,s); + + int n; + int ans,cont; + + + for(int tc=1;tc<=N;tc++){ + getline(cin,s); + + set S; + + for(int i=s.size()-1;i>=0;i--) if(isupper(s[i])) S.insert(s[i]); + + set :: iterator it; + + s.clear(); + + for(it=S.begin();it!=S.end();it++) s+=(*it); + + n=s.size(); + + ans=0; + cont=1; + + for(int i=0;idp1[i]){ + dp1[i]=dp1[j]+1; + dp2[i]=dp2[j]; + }else if(dp1[j]+1==dp1[i]) dp2[i]+=dp2[j]; + } + } + + if(dp1[i]>ans){ + ans=dp1[i]; + cont=dp2[i]; + }else if(dp1[i]==ans) cont+=dp2[i]; + } + + cout< +#include +#include + +using namespace std; + +int dr[]={-1,-1,0,1,1,1,0,-1}; +int dc[]={0,1,1,1,0,-1,-1,-1}; + +char M[1000][1001]; +int dist[1000][1000]; + +int bfs(int rs, int cs, int rd, int cd, int &R, int &C){ + for(int i=0;i > Q; + + Q.push_back(make_pair(rs,cs)); + dist[rs][cs]=0; + + pair P; + int r,c; + + while(true){ + P=*(Q.begin()); + Q.pop_front(); + + if(P.first==rd && P.second==cd) return dist[rd][cd]; + + r=P.first+dr[M[P.first][P.second]-'0']; + c=P.second+dc[M[P.first][P.second]-'0']; + + if(r>=0 && r=0 && cdist[P.first][P.second])){ + dist[r][c]=dist[P.first][P.second]; + Q.push_front(make_pair(r,c)); + } + + for(int i=0;i<8;i++){ + r=P.first+dr[i]; + c=P.second+dc[i]; + + if(r>=0 && r=0 && cdist[P.first][P.second]+1)){ + dist[r][c]=dist[P.first][P.second]+1; + Q.push_back(make_pair(r,c)); + } + } + } +} + +int main(){ + int R,C,m,rs,cs,rd,cd; + + while(scanf("%d %d",&R,&C)==2){ + for(int i=0;i + +using namespace std; + +int main(){ + int T=1,N; + + while(1){ + scanf("%d",&N); + if(N==0) break; + N=N>>1; + printf("Case %d: %d\n",T++,N); + } + + return 0; +} diff --git a/UVA/CXVI/11626 - Convex Hull.cpp b/UVA/CXVI/11626 - Convex Hull.cpp new file mode 100755 index 0000000..a336972 --- /dev/null +++ b/UVA/CXVI/11626 - Convex Hull.cpp @@ -0,0 +1,71 @@ +#include +#include +#include + +using namespace std; + +struct point{ + long long x,y; + + point(){ + } + + point(const int &_x, const int &_y){ + x=_x; y=_y; + } + + bool operator < (const point &p) const{ + if(x!=p.x) return x=0; +} + +vector ConvexHull_MonotoneChain(vector &P){ + sort(P.begin(),P.end()); + + int n=P.size(),k=0; + point H[2*n]; + + for(int i=0;i=2 && !ccw(H[k-2],H[k-1],P[i])) k--; + H[k++]=P[i]; + } + + for(int i=n-2,t=k;i>=0;i--){ + while(k>t && !ccw(H[k-2],H[k-1],P[i])) k--; + H[k++]=P[i]; + } + + return vector (H,H+k-1); +} + +int main(){ + int T,N,x,y; + char c; + vector P,H; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d",&N); + + P.clear(); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int tc=1,a,b; + double k; + + while(scanf("%d : %d",&a,&b)==2){ + k=200/(sqrt(a*a+b*b)*atan((double)b/a)+a); + printf("Case %d: %.10f %.10f\n",tc++,k*a,k*b); + } + + return 0; +} diff --git a/UVA/CXVI/11648 - Divide The Land.cpp b/UVA/CXVI/11648 - Divide The Land.cpp new file mode 100755 index 0000000..1c6773b --- /dev/null +++ b/UVA/CXVI/11648 - Divide The Land.cpp @@ -0,0 +1,20 @@ +#include +#include + +using namespace std; + +int main(){ + int T,a,b,c,d; + double x,y; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("%d %d %d %d",&a,&b,&c,&d); + x=(2*a*c-c*sqrt(2*(a*a+b*b)))/2/(a-b); + y=x*d/c; + printf("Land #%d: %.6f %.6f\n",tc,x,y); + } + + return 0; +} diff --git a/UVA/CXVIII/11827 - Maximum GCD.cpp b/UVA/CXVIII/11827 - Maximum GCD.cpp new file mode 100755 index 0000000..5134663 --- /dev/null +++ b/UVA/CXVIII/11827 - Maximum GCD.cpp @@ -0,0 +1,36 @@ +#include +#include +#include + +using namespace std; + +int gcd(int a, int b){ + if(a%b==0) return b; + return gcd(b,a%b); +} + +int main(){ + int T,N,a[99],ans; + string s; + + cin>>T; + getline(cin,s); + + while(T--){ + getline(cin,s); + istringstream is(s); + N = 0; + + while(is>>a[N]) ++N; + + ans = 0; + + for(int i = 0;i +#include + +using namespace std; + +int memo[1000000]; + +int f(long long n) +{ + if(n==1) return 1; + + if(n>=1000000) + { + if(n%2==0) return 1+f(n/2); + else return 1+f(3*n+1); + } + + if(memo[n]!=-1) return memo[n]; + + int x; + if(n%2==0) x=1+f(n/2); + else x=1+f(3*n+1); + memo[n]=x; + return x; + +} + +int main(){ + + int a,b,m; + + memset(memo,-1,sizeof(memo)); + + while(cin>>a>>b) + { + m=0; + for(int i=min(a,b);i<=max(a,b);i++) m=max(m,f(i)); + + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string config[]={"BGC","BCG","GBC","GCB","CBG","CGB"}; + string s; + + int B[3]; + int G[3]; + int C[3]; + long long costo,min; + int sum_B,sum_G,sum_C,ax; + + while(scanf("%d %d %d %d %d %d %d %d %d",&B[0],&B[1],&B[2],&G[0],&G[1],&G[2],&C[0],&C[1],&C[2])==9){ + int array[]={0,1,2}; + + sum_B=B[0]+B[1]+B[2]; + sum_G=G[0]+G[1]+G[2]; + sum_C=C[0]+C[1]+C[2]; + + ax=0;min=(1LL<<31); + + do{ + costo=sum_B-B[array[0]]+sum_G-G[array[1]]+sum_C-C[array[2]]; + + if(costo +#include + +using namespace std; + +int main(){ + int M[100][100]; + int N,ans; + int sum[100][101]; + int dp[101]; + + while(scanf("%d",&N)==1){ + for(int i=0;i +#include +#include +#include + +using namespace std; + +const double eps=1e-9; + +struct point{ + int x,y; + + point(){ + } + + point(const int _x, const int _y){ + x=_x; y=_y; + } + + bool operator < (const point &p) const{ + if(x!=p.x) return x0; +} + +vector ConvexHull_MonotoneChain(vector &P){ + sort(P.begin(),P.end()); + + int n=P.size(),k=0; + point H[2*n]; + + for(int i=0;i=2 && !ccw(H[k-2],H[k-1],P[i])) k--; + H[k++]=P[i]; + } + + for(int i=n-2,t=k;i>=0;i--){ + while(k>t && !ccw(H[k-2],H[k-1],P[i])) k--; + H[k++]=P[i]; + } + + return vector (H,H+k-1); +} + +bool PointInsidePolygon(const point P, const vector &poly){ + bool in=0; + int n=poly.size(); + + for(int i=0,j=n-1;i &poly){ + int n=poly.size(); + int S=0; + + for(int i=1;i > L; + vector aux,aux2; + + while(1){ + scanf("%d",&N); + if(N==-1) break; + n++; + + aux.clear(); + for(int i=0;i +#include + +using namespace std; + +int main(){ + int n,c[20],r[20],lcs[21][21],x; + + scanf("%d\n",&n); + + for(int i=0;i=0;i--) + for(int j=n;j>=0;j--){ + if(i==n || j==n){ + lcs[i][j]=0; + continue; + } + + if(c[i]==r[j]) lcs[i][j]=1+lcs[i+1][j+1]; + else lcs[i][j]=max(lcs[i][j+1],lcs[i+1][j]); + } + + printf("%d\n",lcs[0][0]); + } + + return 0; +} diff --git a/UVA/I/113 - Power of Cryptography.cpp b/UVA/I/113 - Power of Cryptography.cpp new file mode 100755 index 0000000..c412e0a --- /dev/null +++ b/UVA/I/113 - Power of Cryptography.cpp @@ -0,0 +1,23 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + double p,k; + int ans; + + while(cin>>n>>p){ + k=exp(log(p)/n); + + ans=round(k); + + cout< +#define INT_MAX 2147483647 + +using namespace std; + +int main(){ + int M[10][100]; + int dp[10][100]; + int next[10][99]; + int r,c,aux,cur,x; + + while(scanf("%d %d",&r,&c)==2){ + for(int i=0;i=0;i--) + for(int j=0;j +#include +#include + +using namespace std; + +struct nodo{ + int v,dist; + + nodo(){ + } + + nodo(int _v, int _dist){ + v=_v; + dist=_dist; + } + + bool operator < (nodo X) const{ + return dist>X.dist; + } +}; + +int M[26][26]; +int gr[26]; + +int dijkstra(int s, int t){ + nodo aux; + priority_queue Q; + Q.push(nodo(s,0)); + + bool visited[26]; + memset(visited,false,sizeof(visited)); + + while(!Q.empty()){ + aux=Q.top(); + Q.pop(); + + if(aux.v==t) return aux.dist; + + if(visited[aux.v]) continue; + visited[aux.v]=true; + + for(int i=0;i<26;i++) + if(!visited[i] && M[aux.v][i]!=-1) Q.push(nodo(i,aux.dist+M[aux.v][i])); + } +} + +int solve(){ + int cont=0,sum=0; + + for(int i=0;i<26;i++) if(gr[i]%2==1) cont++; + + for(int i=0;i<26;i++) + for(int j=i+1;j<26;j++) if(M[i][j]!=-1) sum+=M[i][j]; + + if(cont==0) return sum; + else{ + int a[2],m=0; + for(int i=0;i<26;i++) if(gr[i]%2==1) a[m++]=i; + return sum+dijkstra(a[0],a[1]); + } +} + +int main(){ + string s; + int n; + + while(cin>>s){ + memset(M,-1,sizeof(M)); + memset(gr,0,sizeof(gr)); + + if(s!="deadend"){ + n=s.size(); + M[s[0]-'a'][s[n-1]-'a']=n; + M[s[n-1]-'a'][s[0]-'a']=n; + gr[s[0]-'a']++; + gr[s[n-1]-'a']++; + + while(1){ + cin>>s; + if(s=="deadend") break; + + n=s.size(); + M[s[0]-'a'][s[n-1]-'a']=n; + M[s[n-1]-'a'][s[0]-'a']=n; + gr[s[0]-'a']++; + gr[s[n-1]-'a']++; + } + } + + cout< +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,cant,amigos; + + string s1,s2; + + vector v; + + cin>>n; + + while(1){ + map M; + + v.clear(); + + for(int i=0;i>s1; + v.push_back(s1); + } + + + for(int i=0;i>s1>>cant>>amigos; + + + if(amigos!=0) M[s1]-=amigos*(cant/amigos); + + for(int j=0;j>s2; + M[s2]+=cant/amigos; + } + } + + for(int i=0;i>n) cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int stack[30]; + int n,aux,max,ind; + + string s; + + while(getline(cin,s)){ + n=0; + + istringstream is(s); + + cout<>aux) stack[n++]=aux; + + for(int i=n-1;i>=0;i--){ + + max=-1; + + for(int j=0;j<=i;j++) + if(max<=stack[j]){ + max=stack[j]; + ind=j; + } + + if(ind != i){ + if(ind != 0){ + cout< +#include +#include +#include + +using namespace std; + +struct punto{ + int x,y,ind; + + punto(){ + }; + + punto(int a, int b, int c){ + x=a; + y=b; + ind=c; + } + + bool operator < (punto X) const{ + return x Convex_Hull(vector &P){ + vector H(2*P.size()); + + sort(P.begin(),P.end()); + + int k=0; + + for(int i=0;i=2 && area(H[k-2],H[k-1],P[i])<=0) k--; + H[k++]=P[i]; + } + + for(int i=P.size()-1,t=k;i>=0;i--){ + while(k>t && area(H[k-2],H[k-1],P[i])<=0) k--; + H[k++]=P[i]; + } + + H.resize(k); + + return H; +} + +bool base_line(punto CM, punto A, punto B){ + if(area(A,B,CM)<=0) return false; + if((CM.x-A.x)*(B.x-A.x)+(CM.y-A.y)*(B.y-A.y)<0) return false; + if((CM.x-B.x)*(A.x-B.x)+(CM.y-B.y)*(A.y-B.y)<0) return false; + return true; +} + +int main(){ + int CMX,CMY,x,y,ind,ans; + vector P; + vector H; + punto CM; + string ID; + + while(1){ + cin>>ID; + if(ID=="#") break; + + cin>>CMX>>CMY; + CM=punto(CMX,CMY,0); + + ind=1; + P.clear(); + + while(1){ + cin>>x>>y; + if(x==0 && y==0) break; + P.push_back(punto(x,y,ind)); + ind++; + } + + H=Convex_Hull(P); + + ans=INT_MAX; + + for(int i=0;i + +using namespace std; + +int main(){ + freopen("out.txt","w",stdout); + + printf("The 1500'th ugly number is %d.\n",859963392); + + return 0; +} + +/* + +#include + +using namespace std; + +bool simp(int a) +{ + while(a%2==0) a>>=1; + while(a%3==0) a/=3; + while(a%5==0) a/=5; + + return a==1; +} + +int main(){ + + int cont=1; + + for(int i=2;;i++){ + if(simp(i)) cont++; + if(cont==1500) break; + } + + cout< +#include + +using namespace std; + +int main(){ + int n[]={6,35,204,1189,6930,40391,235416,1372105,7997214,46611179}; + int m[]={8,49,288,1681,9800,57121,332928,1940449,11309768,65918161}; + + for(int i=0;i<10;i++) + cout< +#include +#include +#include + +using namespace std; + +const double eps=1e-9; + +struct point{ + double x,y; + + point(){ + } + + point(double _x, double _y){ + x=_x; y=_y; + } +}; + +double signed_area(const point &p1, const point &p2, const point &p3){ + return (p1.x*p2.y+p2.x*p3.y+p3.x*p1.y-p1.y*p2.x-p2.y*p3.x-p3.y*p1.x)/2; +} + +bool ccw(const point &p1, const point &p2, const point &p3){ + return signed_area(p1,p2,p3)>-eps; +} + +bool InConvexPolygon(point P, const vector &poly){ + for(int i=1;i<3;i++) + if(!ccw(poly[i-1],poly[i],P)) + return false; + + if(!ccw(poly[2],poly[0],P)) return false; + + return true; +} + +int main(){ + vector poly(3); + double x1,y1,x2,y2,x3,y3; + int lox,hix,loy,hiy,cont; + + while(1){ + scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3); + if(x1==0 && y1==0 && x2==0 && y2==0 && x3==0 && y3==0) break; + + poly[0]=point(x1,y1); + poly[1]=point(x2,y2); + poly[2]=point(x3,y3); + + if(!ccw(poly[0],poly[1],poly[2])) swap(poly[0],poly[2]); + + lox=min(ceil(x1),min(ceil(x2),ceil(x3))); + lox=max(lox,1); + hix=max(floor(x1),max(floor(x2),floor(x3))); + hix=min(hix,99); + loy=min(ceil(y1),min(ceil(y2),ceil(y3))); + loy=max(loy,1); + hiy=max(floor(y1),max(floor(y2),floor(y3))); + hiy=min(hiy,99); + + cont=0; + + for(int i=lox,j;i<=hix;i++){ + j=loy; + while(!InConvexPolygon(point(i,j),poly) && j<=hiy) j++; + for(;j<=hiy;j++) + if(InConvexPolygon(point(i,j),poly)) cont++; + else break; + } + + printf("%4d\n",cont); + } + + return 0; +} diff --git a/UVA/I/146 - ID Codes.cpp b/UVA/I/146 - ID Codes.cpp new file mode 100755 index 0000000..559dc53 --- /dev/null +++ b/UVA/I/146 - ID Codes.cpp @@ -0,0 +1,22 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + + while(1){ + cin>>s; + if(s=="#") break; + + if(next_permutation(s.begin(),s.end())) cout< +#include + +using namespace std; + +int v[]={10000,5000,2000,1000,500,200,100,50,20,10,5}; +long long memo[30001][11]; + +long long f(int a, int b) +{ + if(a==0) return 1; + if(a<0) return 0; + if(b>10) return 0; + + if(memo[a][b]!=-1) return memo[a][b]; + + long long x=f(a-v[b],b)+f(a,b+1); + memo[a][b]=x; + return x; +} +int main(){ + int x; + string y; + int aux; + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + memset(memo,-1,sizeof(memo)); + while(true) + { + scanf("%d.", &x); + //cin>>y; + aux=(y[0]-'0')*10+(y[1]-'0'); + if(x==0 && aux==0) break; + cout< +#include + +using namespace std; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + int m; + bool ok; + + while(cin>>N) + { + if(N==0) break; + if(N==13) + { + cout<<1< aux(N,false); + aux[0]=true; + + int cont1=1; + int cont2=0; + int i; + + while(true) + { + + i=1; + while(i +#include + +using namespace std; + +int board[8][8]; +bool col[8]; +bool diag1[15]; +bool diag2[15]; +int score, sum; + +void backtracking(int n){ + if(n==8){ + score=max(score,sum); + return; + } + + for(int i=0;i<8;i++) + if(!col[i] && !diag1[n-i+7] && !diag2[n+i]){ + col[i]=true; + diag1[n-i+7]=true; + diag2[n+i]=true; + sum+=board[n][i]; + + backtracking(n+1); + + col[i]=false; + diag1[n-i+7]=false; + diag2[n+i]=false; + sum-=board[n][i]; + } +} + +int main(){ + int T; + + cin>>T; + + memset(col,false,sizeof(col)); + memset(diag1,false,sizeof(diag1)); + memset(diag2,false,sizeof(diag2)); + + for(int i=0;i>board[j][k]; + + score=-1; + sum=0; + backtracking(0); + cout< +#include + +using namespace std; + +int main(){ + char a,b; + int L[26][26]; + int gr[26]; + bool candle[26]; + bool end=false; + bool escape=true; + int k,pos1,pos2,aux,ax; + + while(1){ + memset(gr,0,sizeof(gr)); + + while(1){ + scanf("%c",&a); + if(a=='#') goto label1; + + scanf("%c",&b); + + while(1){ + scanf("%c",&b); + if(b==';') break; + else if(b=='.') goto label2; + else L[a-'A'][gr[a-'A']++]=b-'A'; + } + } + + label2: + + scanf(" %c %c %d\n",&a,&b,&k); + pos2=a-'A'; + pos1=b-'A'; + + memset(candle,false,sizeof(candle)); + + aux=0; + + while(1){ + escape=false; + ax=pos2; + + for(int i=0;i +#include + +using namespace std; + +int area(int x1, int y1, int x2, int y2, int x3, int y3){ + return x1*y2+x2*y3+x3*y1-y1*x2-y2*x3-y3*x1; +} + +bool intersection(int &x1, int &y1, int &x2, int &y2, int &x3, int &y3, int &x4, int &y4){ + int a1,a2,a3,a4; + + a1=area(x1,y1,x3,y3,x2,y2); + a2=area(x1,y1,x4,y4,x2,y2); + a3=area(x3,y3,x1,y1,x4,y4); + a4=area(x3,y3,x2,y2,x4,y4); + + if(a1*a2<0 && a3*a4<0) return true; + if(a1==0 && (x3-x1)*(x3-x2)<=0 && (y3-y1)*(y3-y2)<=0) return true; + if(a2==0 && (x4-x1)*(x4-x2)<=0 && (y4-y1)*(y4-y2)<=0) return true; + if(a3==0 && (x1-x3)*(x1-x4)<=0 && (y1-y3)*(y1-y4)<=0) return true; + if(a4==0 && (x2-x3)*(x2-x4)<=0 && (y2-y3)*(y2-y4)<=0) return true; + + return false; +} + +int main(){ + int T; + int xstart,ystart,xend,yend,xleft,ytop,xright,ybottom; + bool intersect; + + scanf("%d",&T); + + for(int caso=1;caso<=T;caso++){ + intersect=false; + + scanf("%d %d %d %d %d %d %d %d",&xstart,&ystart,&xend,¥d,&xleft,&ytop,&xright,&ybottom); + + if(xleft>xright) swap(xleft,xright); + if(ybottom>ytop) swap(ybottom,ytop); + + if(intersection(xstart,ystart,xend,yend,xleft,ytop,xright,ytop)) intersect=true; + else if(intersection(xstart,ystart,xend,yend,xleft,ybottom,xright,ybottom)) intersect=true; + else if(intersection(xstart,ystart,xend,yend,xleft,ytop,xleft,ybottom)) intersect=true; + else if(intersection(xstart,ystart,xend,yend,xright,ytop,xleft,ybottom)) intersect=true; + else if(xstart>=xleft && xstart<=xright && xend>=xleft && xend<=xright && ystart>=ybottom && ystart<=ytop && yend>=ybottom && yend<=ytop) intersect =true; + + if(intersect) printf("T\n",caso); + else printf("F\n",caso); + } + + return 0; +} diff --git a/UVA/II/200 - Rare Order.cpp b/UVA/II/200 - Rare Order.cpp new file mode 100755 index 0000000..af21ce8 --- /dev/null +++ b/UVA/II/200 - Rare Order.cpp @@ -0,0 +1,63 @@ +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector index; + string s; + int cont; + bool M[26][26]; + bool present[26]; + char order[26]; + + while(1){ + cin>>s; + if(s[0]=='#') break; + + index.push_back(s); + } + + int n=index.size(); + + memset(M,false,sizeof(M)); + memset(present,false,sizeof(present)); + + for(int i=0;i=0;i--) cout< +#include +#include + +using namespace std; + +struct punto{ + double x,y; + + punto(double a, double b){ + x=a; + y=b; + } + + bool operator < (punto P) const{ + if(x!=P.x) return x v; +vector H; +int N; + +double area(punto &a, punto &b, punto &c){ + return a.x*b.y+b.x*c.y+c.x*a.y-a.y*b.x-b.y*c.x-c.y*a.x; +} + +void Hull(){ + int k=0; + + sort(v.begin(),v.end()); + H.resize(2*N,punto(0,0)); + + for(int i=0;i=2 && area(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + for(int i=v.size()-2,t=k+1;i>=0;i--){ + while(k>=t && area(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + H.resize(k,punto(0,0)); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + double x,y; + int caso=0; + double p; + + while(1){ + cin>>N; + if(N==0) break; + + if(caso>0) cout<>x>>y; + v.push_back(punto(x,y)); + } + + H.clear(); + Hull(); + + printf("Region #%d:\n",caso); + for(int i=H.size()-1;i>=0;i--){ + printf("(%.1f,%.1f)",H[i].x,H[i].y); + if(i!=0) printf("-"); + } + p=0; + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + vector v1,v2,v3,v4; + + string s1(2,' '); + + for(int i=0;i<10;i++){ + for(int j=0;j<10;j++){ + if((i+j)*(i+j)==i*10+j){ + s1[0]='0'+i; + s1[1]='0'+j; + v1.push_back(s1); + } + } + } + + string s2(4,' '); + + for(int i=0;i<100;i++){ + for(int j=0;j<100;j++){ + if((i+j)*(i+j)==i*100+j){ + s2[0]='0'+i/10; + s2[1]='0'+i%10; + s2[2]='0'+j/10; + s2[3]='0'+j%10; + v2.push_back(s2); + } + } + } + + string s3(6,' '); + + for(int i=0;i<1000;i++){ + for(int j=0;j<1000;j++){ + if((i+j)*(i+j)==i*1000+j){ + s3[0]='0'+i/100; + s3[1]='0'+i%100/10; + s3[2]='0'+i%10; + s3[3]='0'+j/100; + s3[4]='0'+j%100/10; + s3[5]='0'+j%10; + v3.push_back(s3); + } + } + } + + string s4(8,' '); + + for(int i=0;i<10000;i++){ + for(int j=0;j<10000;j++){ + if((i+j)*(i+j)==i*10000+j){ + s4[0]='0'+i/1000; + s4[1]='0'+i/100%10; + s4[2]='0'+i/10%10; + s4[3]='0'+i%10; + s4[4]='0'+j/1000; + s4[5]='0'+j/100%10; + s4[6]='0'+j/10%10; + s4[7]='0'+j%10; + v4.push_back(s4); + } + } + } + + int n; + + while(cin>>n){ + if(n==2) for(int i=0;i +#include +#include + +using namespace std; + +int flow[38][38]; +int cap[38][38]; + +bool augmenting(){ + int prev[38]; + fill(prev,prev+38,-1); + + queue Q; + Q.push(0); + prev[0]=-2; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i<38;i++){ + if(flow[aux][i] +#include +#include +#include + +using namespace std; + +int N; +char board[200][201]; +bool visited[200][200]; + +bool black(){ + stack< pair > S; + pair P; + int di[]={-1,-1,0,0,1,1}; + int dj[]={-1,0,-1,1,0,1}; + int I,J; + + for(int i=0;i=0 && I=0 && J + +using namespace std; + +int main(){ + + int n,f,ax,a,b; + + while(cin>>n){ + ax=1; + f=1; + while(ax + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + char c; + bool ax=1; + + while(scanf("%c",&c)!=EOF){ + if(c=='"'){ + if(ax) printf("``"); + else printf("''"); + + ax=(!ax); + }else printf("%c",c); + } + + return 0; +} diff --git a/UVA/II/280 - Vertex.cpp b/UVA/II/280 - Vertex.cpp new file mode 100755 index 0000000..40d31d7 --- /dev/null +++ b/UVA/II/280 - Vertex.cpp @@ -0,0 +1,71 @@ +#include +#include +#include + +using namespace std; + +int n; +vector< vector > L; +bool visited[100]; + +void unreachable(int v){ + fill(visited,visited+n,false); + + queue Q; + Q.push(v); + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i + +using namespace std; + +bool M[5][5]; +bool used[5][5]; +int ans[9]; +int cont; + +void routes(){ + if(cont==8){ + for(int i=0;i<9;i++) printf("%d",ans[i]+1); + printf("\n"); + + return; + } + + for(int i=0;i<5;i++){ + if(M[ans[cont]][i] && !used[ans[cont]][i]){ + used[ans[cont]][i]=true; + used[i][ans[cont]]=true; + ans[++cont]=i; + + routes(); + + cont--; + used[ans[cont]][i]=false; + used[i][ans[cont]]=false; + } + } +} + +int main(){ + for(int i=0;i<5;i++){ + for(int j=0;j<5;j++){ + M[i][j]=false; + used[i][j]=false; + } + } + + M[0][1]=M[0][2]=M[0][4]=true; + M[1][0]=M[1][2]=M[1][4]=true; + M[2][0]=M[2][1]=M[2][3]=M[2][4]=true; + M[3][2]=M[3][4]=true; + M[4][0]=M[4][1]=M[4][2]=M[4][3]=true; + + cont=0; + ans[0]=0; + routes(); + + return 0; +} diff --git a/UVA/II/299 - Train Swapping.cpp b/UVA/II/299 - Train Swapping.cpp new file mode 100755 index 0000000..f629113 --- /dev/null +++ b/UVA/II/299 - Train Swapping.cpp @@ -0,0 +1,39 @@ +#include +#include +#include + +using namespace std; + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,n,cont; + + cin>>T; + + for(int i=0;i>n; + + vector v(n); + + for(int j=0;j>v[j]; + + cont=0; + + for(int j=0;jv[k]){ + cont++; + swap(v[j],v[k]); + } + } + } + + cout<<"Optimal train swapping takes "< +#include +#include +#include + +using namespace std; + +int main(){ + + map M; + + M["pop"]=0; + M["no"]=1; + M["zip"]=2; + M["zotz"]=3; + M["tzec"]=4; + M["xul"]=5; + M["yoxkin"]=6; + M["mol"]=7; + M["chen"]=8; + M["yax"]=9; + M["zac"]=10; + M["ceh"]=11; + M["mac"]=12; + M["kankin"]=13; + M["muan"]=14; + M["pax"]=15; + M["koyab"]=16; + M["cumhu"]=17; + M["uayet"]=18; + + vector v(20); + + v[0]="imix"; + v[1]="ik"; + v[2]="akbal"; + v[3]="kan"; + v[4]="chicchan"; + v[5]="cimi"; + v[6]="manik"; + v[7]="lamat"; + v[8]="muluk"; + v[9]="ok"; + v[10]="chuen"; + v[11]="eb"; + v[12]="ben"; + v[13]="ix"; + v[14]="mem"; + v[15]="cib"; + v[16]="caban"; + v[17]="eznab"; + v[18]="canac"; + v[19]="ahau"; + + int n,d,a; + string s; + long long sum; + + cin>>n; + + cout<>s>>a; + + sum=d+M[s]*20+a*365; + + cout< + +using namespace std; + +int m[]={2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881}; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + + while(1){ + cin>>n; + + if(n==0) break; + + cout<>n; + + if(n==0) break; + + for(int m=n+1;;m++){ + if(f(m)){ + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,k,ax; + string s; + + int a[200]; + bool M[200]; + int ind[200][2]; + + while(1){ + cin>>n; + if(n==0) break; + + for(int i=0;i > v; + vector u; + + for(int i=0;i>k; + + if(k==0) break; + + getline(cin,s); + s.erase(0,1); + + while(s.size()!=n) s+=" "; + + string ans(n,' '); + + for(int i=0;i +#include + +using namespace std; + +struct nodo{ + int x,y,dir,time; + + nodo(int a, int b, int c, int d){ + x=a; + y=b; + dir=c; + time=d; + } +}; + +int M,N; +int di[]={-1,0,1,0}; +int dj[]={0,1,0,-1}; +bool obstacle[50][50]; +bool visited[51][51][4]; + +bool valido(int x, int y){ + if(x<=0 || y<=0 || x>=M || y>=N) return false; + if(obstacle[x-1][y-1]) return false; + if(obstacle[x-1][y]) return false; + if(obstacle[x][y-1]) return false; + if(obstacle[x][y]) return false; + + return true; +} + +int shortest_time(int &startx, int &starty, int &dir, int &endx, int &endy){ + queue Q; + if(valido(startx,starty)){ + Q.push(nodo(startx,starty,dir,0)); + visited[startx][starty][dir]=true; + } + + while(!Q.empty()){ + nodo aux=Q.front(); + Q.pop(); + + if(aux.x==endx && aux.y==endy) return aux.time; + + if(!visited[aux.x][aux.y][(aux.dir+1)%4]){ + visited[aux.x][aux.y][(aux.dir+1)%4]=true; + Q.push(nodo(aux.x,aux.y,(aux.dir+1)%4,aux.time+1)); + } + + if(!visited[aux.x][aux.y][(aux.dir+3)%4]){ + visited[aux.x][aux.y][(aux.dir+3)%4]=true; + Q.push(nodo(aux.x,aux.y,(aux.dir+3)%4,aux.time+1)); + } + + for(int i=1;i<=3;i++){ + if(valido(aux.x+di[aux.dir]*i,aux.y+dj[aux.dir]*i)){ + if(visited[aux.x+di[aux.dir]*i][aux.y+dj[aux.dir]*i][aux.dir]) continue; + visited[aux.x+di[aux.dir]*i][aux.y+dj[aux.dir]*i][aux.dir]=true; + Q.push(nodo(aux.x+di[aux.dir]*i,aux.y+dj[aux.dir]*i,aux.dir,aux.time+1)); + }else break; + } + } + + return -1; +} + +int main(){ + int startx,starty,endx,endy,dir,ax; + char s[6]; + + while(1){ + scanf("%d %d",&M,&N); + if(M==0 || N==0) break; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +#define SZ 100 + +bool M[SZ][SZ]; +int N,colour[SZ],dfsNum[SZ],pos[SZ],leastAncestor[SZ],parent[SZ]; + +int Articulation_points(int u){ + int ans=0,cont=0,num=0,v; + + memset(colour,0,sizeof(colour)); + memset(pos,0,sizeof(pos)); + memset(parent,-1,sizeof(parent)); + + stack S; + S.push(u); + + while(!S.empty()){ + v=S.top(); + if(colour[v]==0){ + colour[v]=1; + dfsNum[v]=num++; + leastAncestor[v]=num; + } + + for(;pos[v]1) ans++; + + for(int i=0;i=dfsNum[i]){ + ans++; + break; + } + } + + return ans; +} + +int main(){ + int u,v; + string s; + + while(1){ + scanf("%d\n",&N); + if(N==0) break; + + memset(M,false,sizeof(M)); + + while(1){ + getline(cin,s); + istringstream is(s); + + is>>u; + if(u==0) break; + u--; + + while(is>>v){ + v--; + M[u][v]=M[v][u]=true; + } + } + + printf("%d\n",Articulation_points(0)); + } + + return 0; +} diff --git a/UVA/III/350 - Pseudo-Random Numbers.cpp b/UVA/III/350 - Pseudo-Random Numbers.cpp new file mode 100755 index 0000000..7f8aeba --- /dev/null +++ b/UVA/III/350 - Pseudo-Random Numbers.cpp @@ -0,0 +1,53 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int Z,I,M,L; + int x1,x2,n,m,caso; + + caso=1; + + while(1){ + scanf("%d %d %d %d",&Z,&I,&M,&L); + if(M==0) break; + + x1=L; + x2=L; + + m=0; + + do{ + x1=(x1*Z+I)%M; + x2=(x2*Z+I)%M; + x2=(x2*Z+I)%M; + m++; + }while(x1!=x2); + + x1=x2=L; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int visited[25][25]; +int n,cont,I,J; +vector v; +pair P; + +int di[]={1,1,1,0,0,-1,-1,-1}; +int dj[]={1,0,-1,1,-1,1,0,-1}; + +void fill(int a, int b){ + cont++; + + stack< pair > X; + + X.push(make_pair(a,b)); + + while(!X.empty()){ + P=X.top(); + X.pop(); + + visited[P.first][P.second]=1; + + for(int i=0;i<8;i++){ + I=P.first+di[i]; + J=P.second+dj[i]; + + if(I>=0 && I=0 && J>n){ + v.clear(); + + for(int i=0;i>s; + v.push_back(s); + } + + memset(visited,0,sizeof(visited)); + + for(int i=0;i + +using namespace std; + +int a[]={1,5,10,25,50}; + +long long memo[30001][5]; + +long long num(int x, int y){ + if(y>4) return 0; + if(x==0) return 1; + if(x<0) return 0; + + if(memo[x][y]!=-1) return memo[x][y]; + + memo[x][y]=num(x,y+1) + num(x-a[y],y); + + return memo[x][y]; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n; + long long ax; + + memset(memo,-1,sizeof(memo)); + + while(cin>>n){ + ax=num(n,0); + if(ax!=1) cout<<"There are "< + +using namespace std; + +long long memo[101][101]; + +long long C(int a, int b){ + if(b==0) return 1; + if(a==b) return 1; + + if(memo[a][b]!=-1) return memo[a][b]; + + memo[a][b]=C(a-1,b)+C(a-1,b-1); + return memo[a][b]; +} + +int main(){ + //freopen("in.txt","r",stdin); + //freopen("out.txt","w",stdout); + + int n,k; + + memset(memo,-1,sizeof(memo)); + + while(1){ + cin>>n>>k; + + if(n==0 && k==0) break; + + cout< + +using namespace std; + +int mod(int a, int b, int c) +{ + if(b==0) return 1; + + if(b%2==0) + { + int x=mod(a,b/2,c); + return (x*x)%c; + } + else return (a%c * mod(a,b-1,c))%c; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int B,P,M; + + while(cin>>B>>P>>M) + cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,sum,raiz; + + cout<<"PERFECTION OUTPUT"< +#include +#include + +using namespace std; + +int main(){ + int T,M,N,P,size,start,end; + int dist[30][30]; + map index; + string id1,id2; + + cin>>T; + + cout<<"SHIPPING ROUTES OUTPUT"<>M>>N>>P; + index.clear(); + + for(int i=0;i>id1; + index[id1]=i; + } + + for(int i=0;i>id1>>id2; + start=index[id1]; end=index[id2]; + dist[start][end]=dist[end][start]=1; + } + + for(int k=0;k>size>>id1>>id2; + start=index[id1]; end=index[id2]; + if(dist[start][end]==500) cout<<"NO SHIPMENT POSSIBLE"< + +using namespace std; + +int cubo[201]; + +int main(){ + + int s,d; + + for(int i=0;i<201;i++) cubo[i]=i*i*i; + + for(int a=2;a<201;a++){ + s=0; + for(int b=2;3*cubo[b]<=cubo[a];b++){ + s+=cubo[b]; + for(int c=b;2*cubo[c]<=(cubo[a]-cubo[b]);c++){ + s+=cubo[c]; + + d=c; + while(s+cubo[d] +#include +#include +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int coef,exp; + bool ok; + + while(getline(cin,s)){ + istringstream is(s); + exp=8; + ok=true; + while(is>>coef){ + if(coef!=0){ + if(coef!=1){ + if(coef==-1){ + if(exp==0 && ok) cout<<-1; + else if(exp==0) cout<<" - "<<1; + else if(!ok) cout<<" - "; + else cout<<"-"; + } + else if(coef<0 && ok) cout<0) cout<<"x"; + if(exp>1) cout<<"^"< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1="ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789"; + string s2="A 3 HIL JM O 2TUVWXY51SE Z 8 "; + + map M; + + for(int i=0;i>cad){ + palindrome=mirrored=1; + + n=strlen(cad); + + for(int i=0;i<=n/2;i++){ + if(cad[i]!=cad[n-1-i]) palindrome=0; + if(cad[n-1-i]!=M[cad[i]]) mirrored=0; + } + + if(palindrome && mirrored) cout< +#include + +using namespace std; + +int mcd(int a, int b){ + if(a%b==0) return b; + return mcd(b,a%b); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int step,mod,m; + + while(cin>>step>>mod){ + m=mcd(step,mod); + + cout< +#include +#include +#include + +using namespace std; + + +int MCD(int a,int b) +{ + if(a%b==0) return b; + return MCD(b,a%b); +} + +int main() +{ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int cont; + int a; + int N; + vector v; + while(true) + { + cin>>N; + if(N<=1 || N>=50) break; + + v.clear(); + for(int i=0;i>a; + v.push_back(a); + } + + cont=0; + int t=N*(N-1)/2; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +map M; + +void generate_positions(){ + queue Q; + for(char c='a';c<='z';c++) Q.push(string(1,c)); + + string s; + + int cont=1; + + while(!Q.empty()){ + s=Q.front(); + Q.pop(); + + M[s]=cont; + cont++; + + if(s.size()==5) continue; + + for(char c=s[s.size()-1]+1;c<='z';c++) Q.push(s+c); + } +} + +int main(){ + generate_positions(); + + string s; + map :: iterator it; + + while(cin>>s){ + it=M.find(s); + if(it==M.end()) cout<<0<second< +#include +#include +#include + +using namespace std; + +int main(){ + int n,m; + int caso=1; + double M[30][30]; + map ind; + string s1,s2; + double x; + bool exists; + + while(1){ + cin>>n; + if(n==0) break; + + ind.clear(); + + for(int i=0;i>s1; + ind[s1]=i; + } + + memset(M,0,sizeof(M)); + + cin>>m; + + for(int i=0;i>s1>>x>>s2; + M[ind[s1]][ind[s2]]=x; + } + + for(int k=0;k1.0) exists=true; + + cout<<"Case "< +#include +#include + +using namespace std; + +struct block{ + int x,y,z; + + block(int a, int b, int c){ + x=a; + y=b; + z=c; + } + + bool operator < (block X) const{ + if((x v; +vector< vector > L; +int dp[90]; + +int f(int n){ + if(dp[n]!=-1) return dp[n]; + + int aux=0; + + for(int i=0;i +#include +#include + +#define PI 3.141592653589793 + +using namespace std; + +int main(){ + + double x1,y1,x2,y2,x3,y3; + double a,b,c,S,R; + + while(cin>>x1>>y1>>x2>>y2>>x3>>y3){ + a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); + b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); + c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); + + S=0.5*fabs(x1*y2+x2*y3+x3*y1-y1*x2-y2*x3-y3*x1); + + R=a*b*c/(4*S); + + cout< +#include +#include +#include +#include + +using namespace std; + +int dx[]={1,1,-1,-1,2,2,-2,-2}; +int dy[]={2,-2,2,-2,1,-1,1,-1}; + +struct nodo +{ + int ind1; + int ind2; + int costo; + nodo(int a, int b, int c) + { + ind1=a; + ind2=b; + costo=c; + } +}; + +int dfs(int a, int b, int m, int n) +{ + queue Q; + + Q.push(nodo(a,b,0)); + + while(!Q.empty()) + { + nodo aux=Q.front(); + Q.pop(); + + if(aux.ind1==m && aux.ind2==n) return aux.costo; + + for(int i=0;i<8;i++) + { + int I=aux.ind1+dx[i]; + int J=aux.ind2+dy[i]; + if(I>=1 && J>=1 && I<=8 && J<=8) + Q.push(nodo(I,J,aux.costo+1)); + } + + } + +} + +int main() +{ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + int x1,y1,x2,y2; + while(cin>>s1>>s2) + { + x1=s1[0]-'a'+1; + y1=s1[1]-'0'; + x2=s2[0]-'a'+1; + y2=s2[1]-'0'; + + cout<<"To get from "< + +using namespace std; + +int main(){ + int n,x,pos,cont,cities; + bool ok; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int x=2;;x++){ + cities=n-1; + pos=(x-1)%cities; + ok=true; + + while(cities>1){ + if(pos==0){ + ok=false; + break; + } + + cities--; + pos=(pos+x-1)%cities; + } + + if(ok){ + printf("%d\n",x); + break; + } + } + } + + return 0; +} diff --git a/UVA/IV/441 - Lotto.cpp b/UVA/IV/441 - Lotto.cpp new file mode 100755 index 0000000..accb39a --- /dev/null +++ b/UVA/IV/441 - Lotto.cpp @@ -0,0 +1,44 @@ +#include +#include + +using namespace std; + +vector a; +int N; +int n; +int cont; + +void f(int x, int z){ + if(__builtin_popcount(x)==6){ + cont=0; + for(int i=0;i>N; + if(N==0) break; + if(aux) cout<>n; + a.push_back(n); + } + f(0,-1); + aux=true; + } + return 0; +} diff --git a/UVA/IV/443 - Humble Numbers.cpp b/UVA/IV/443 - Humble Numbers.cpp new file mode 100755 index 0000000..2a5f939 --- /dev/null +++ b/UVA/IV/443 - Humble Numbers.cpp @@ -0,0 +1,41 @@ +#include +#include + +using namespace std; + +int main(){ + int humble[5842]; + int n; + int pos2,pos3,pos5,pos7; + + pos2=0; + pos3=0; + pos5=0; + pos7=0; + humble[0]=1; + + for(int i=1;i<5842;i++){ + humble[i]=min(min(2*humble[pos2],3*humble[pos3]),min(5*humble[pos5],7*humble[pos7])); + + if(humble[i]==2*humble[pos2]) pos2++; + if(humble[i]==3*humble[pos3]) pos3++; + if(humble[i]==5*humble[pos5]) pos5++; + if(humble[i]==7*humble[pos7]) pos7++; + } + + while(1){ + scanf("%d",&n); + if(n==0) break; + + printf("The %d",n); + + if(n%10==1 && (n/10)%10!=1) printf("st"); + else if(n%10==2 && (n/10)%10!=1) printf("nd"); + else if(n%10==3 && (n/10)%10!=1) printf("rd"); + else printf("th"); + + printf(" humble number is %d.\n",humble[n-1]); + } + + return 0; +} diff --git a/UVA/IV/458 - The Decoder.cpp b/UVA/IV/458 - The Decoder.cpp new file mode 100755 index 0000000..7f9b72e --- /dev/null +++ b/UVA/IV/458 - The Decoder.cpp @@ -0,0 +1,18 @@ +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + + while(getline(cin,s)){ + for(int i=0;i + +using namespace std; + +int parent[26],rank[26]; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(int x){ + if(x!=parent[x]) parent[x]=Find(parent[x]); + return parent[x]; +} + +int Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + if(rank[PX]>rank[PY]) + parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) + rank[PY]++; + } +} + +int main(){ + int T,n,x,y,ans; + char c; + string s; + + scanf("%d\n\n",&T); + + for(int tc=1;tc<=T;tc++){ + getline(cin,s); + n=s[0]-'A'+1; + + ans=n; + for(int i=0;i +#include +#include +#include +#include +#include + +using namespace std; + +int lake[99][99]; +vector area; +vector grid; + +int di[]={-1,-1,-1,0,0,1,1,1}; +int dj[]={1,0,-1,1,-1,1,0,-1}; + +void bfs(int a, int b){ + int cont=0,I,J,n=area.size(); + queue< pair > Q; + pair P; + + Q.push(make_pair(a,b)); + lake[a][b]=n; + + while(!Q.empty()){ + P=Q.front(); + Q.pop(); + + cont++; + + for(int i=0;i<8;i++){ + I=P.first+di[i]; + J=P.second+dj[i]; + + if(I>=0 && I=0 && J>T; + getline(cin,s); + getline(cin,s); + + for(int caso=1;caso<=T;caso++){ + grid.clear(); + + while(1){ + getline(cin,s); + if(s[0]!='W' && s[0]!='L') break; + grid.push_back(s); + } + + n=grid.size(); + m=grid[0].size(); + + memset(lake,-1,sizeof(lake)); + area.clear(); + + for(int i=0;i>I>>J; + if(lake[I-1][J-1]==-1) cout<<0<>I>>J; + if(lake[I-1][J-1]==-1) cout<<0< + +using namespace std; + +int main(){ + double r[10][4]; + int n=0,n2=0; + char c; + double x,y; + bool contained; + + while(1){ + cin>>c; + if(c=='*') break; + + if(c=='r'){ + cin>>r[n][0]>>r[n][1]>>r[n][2]>>r[n][3]; + n++; + } + } + + while(1){ + cin>>x>>y; + if(x==9999.9 && y==9999.9) break; + + n2++; + + contained=false; + + for(int i=0;ir[i][0] && xr[i][3]){ + cout<<"Point "< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + bool espacio; + + while(getline(cin,s)){ + istringstream is(s); + espacio=0; + + while(is>>s){ + if(espacio) cout<<" "; + espacio=1; + + for(int i=s.size()-1;i>=0;i--) cout< +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + vector v; + int n=-1; + + while(getline(cin,s)){ + v.push_back(s); + n=max(n,(int)s.size()); + } + + vector u(n,""); + + for(int i=v.size()-1;i>=0;i--){ + for(int j=0;j +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s,ax=""; + + while(getline(cin,s)){ + for(int i=0;i='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z')) ax+=s[i]; + else{ + if(!ax.empty() && (ax[0]=='a'||ax[0]=='A'||ax[0]=='e'||ax[0]=='E'||ax[0]=='i'||ax[0]=='I'||ax[0]=='o'||ax[0]=='O'||ax[0]=='u'||ax[0]=='U')) cout< +#include + +using namespace std; + +bool f(char &c){ + if((c>='a' && c<='z')||(c>='A' && c<='Z')) return 1; + return 0; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int palabras; + bool inicio; + + while(getline(cin,s)){ + palabras=0; + + inicio=0; + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + int cont[52]; + int x; + string s; + + while(getline(cin,s)){ + memset(cont,0,sizeof(cont)); + + for(int i=0;i='a' && s[i]<='z') cont[s[i]-'a'+26]++; + else if(s[i]>='A' && s[i]<='Z') cont[s[i]-'A']++; + + x=-1; + + for(int i=0;i<52;i++) x=max(x,cont[i]); + + for(int i=0;i<52;i++) + if(cont[i]==x){ + if(i<26) printf("%c",'A'+i); + else printf("%c",'a'+i-26); + } + + printf(" %d\n",x); + } + + return 0; +} diff --git a/UVA/IX/900 - Brick Wall Patterns.cpp b/UVA/IX/900 - Brick Wall Patterns.cpp new file mode 100755 index 0000000..117893c --- /dev/null +++ b/UVA/IX/900 - Brick Wall Patterns.cpp @@ -0,0 +1,25 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int F[51]; + + F[0]=F[1]=1; + + for(int i=2;i<=50;i++) F[i]=F[i-1]+F[i-2]; + + int n; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + printf("%d\n",F[n]); + } + + return 0; +} diff --git a/UVA/IX/913 - Joana and the Odd Numbers.cpp b/UVA/IX/913 - Joana and the Odd Numbers.cpp new file mode 100755 index 0000000..54e01a2 --- /dev/null +++ b/UVA/IX/913 - Joana and the Odd Numbers.cpp @@ -0,0 +1,16 @@ +#include + +using namespace std; + +int main(){ + int N; + long long sum; + + while(scanf("%d",&N)==1){ + N>>=1; + sum=-3+(long long)6*N*N+(long long)12*N; + printf("%lld\n",sum); + } + + return 0; +} diff --git a/UVA/IX/928 - Eternal Truths.cpp b/UVA/IX/928 - Eternal Truths.cpp new file mode 100755 index 0000000..489178f --- /dev/null +++ b/UVA/IX/928 - Eternal Truths.cpp @@ -0,0 +1,88 @@ +#include +#include + +using namespace std; + +struct node{ + int r,c,cont; + + node(){ + } + + node(int _r, int _c, int _cont){ + r=_r; + c=_c; + cont=_cont; + } +}; + +int main(){ + int T,R,C; + char M[300][301]; + + int dr[]={1,0,-1,0}; + int dc[]={0,1,0,-1}; + + int r_start,c_start,r,c; + bool visited[300][300][3],solved,valid; + node aux; + + scanf("%d",&T); + + for(int tc=0;tc Q; + Q.push(node(r_start,c_start,0)); + visited[r_start][c_start][0]=true; + + solved=false; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + if(M[aux.r][aux.c]=='E'){ + printf("%d\n",aux.cont); + solved=true; + break; + } + + for(int i=0;i<4;i++){ + r=aux.r; + c=aux.c; + valid=true; + + for(int j=(aux.cont)%3;j>=0;j--){ + r+=dr[i]; + c+=dc[i]; + + if(r==-1 || r==R || c==-1 || c==C || M[r][c]=='#'){ + valid=false; + break; + } + } + + if(valid && !visited[r][c][(aux.cont+1)%3]){ + Q.push(node(r,c,aux.cont+1)); + visited[r][c][(aux.cont+1)%3]=true; + } + } + } + + if(!solved) printf("NO\n"); + } + + return 0; +} diff --git a/UVA/IX/929 - Number Maze (10 queues).cpp b/UVA/IX/929 - Number Maze (10 queues).cpp new file mode 100755 index 0000000..8d2c46c --- /dev/null +++ b/UVA/IX/929 - Number Maze (10 queues).cpp @@ -0,0 +1,102 @@ +#include +#include +#include + +using namespace std; + +struct node{ + int r,c; + + node(){} + + node(int _r, int _c){ + r = _r; c = _c; + } +}; + +#define NQUEUES 10 +node Q[NQUEUES][30000],aux; +int Q_size[NQUEUES],current_queue; + +int R,C; +int cost[999][999],dist[999][999]; +bool done[999][999]; + +int total_nodes; + +void enqueue(int r, int c, int w){ + if(w>=dist[r][c]) return; + dist[r][c] = w; + + int sz = Q_size[w%10]; + Q[w%10][sz].r = r; + Q[w%10][sz].c = c; + ++Q_size[w%10]; + ++total_nodes; +} + +bool dequeue(int &r, int &c){ + if(total_nodes==0) return false; + + while(Q_size[current_queue]==0){ + ++current_queue; + if(current_queue==NQUEUES) current_queue = 0; + } + + --Q_size[current_queue]; + aux = Q[current_queue][Q_size[current_queue]]; + r = aux.r; c = aux.c; + --total_nodes; + + return true; +} + +const int dr[] = {-1,1,0,0}; +const int dc[] = {0,0,-1,1}; + +void shortest_path(int sr, int sc, int er, int ec){ + total_nodes = 0; + for(int i=0;i=R || c2<0 || c2>=C || done[r2][c2]) continue; + enqueue(r2,c2,dist[r][c]+cost[r2][c2]); + } + } + + return; +} + +int main(){ + int T; + scanf("%d",&T); + + while(T--){ + scanf("%d %d",&R,&C); + + for(int i=0;i +#include + +using namespace std; + +struct node{ + int r,c,cost; + + node(){ + } + + node(int _r, int _c, int _cost){ + r=_r; + c=_c; + cost=_cost; + } + + bool operator < (node X) const{ + return cost>X.cost; + } +}; + +int M[999][999],min_cost[999][999]; +bool solved[999][999]; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,R,C,r,c; + int dr[]={0,0,1,-1}; + int dc[]={1,-1,0,0}; + + scanf("%d",&T); + + for(int tc=0;tc Q; + node aux; + + Q.push(node(0,0,M[0][0])); + min_cost[0][0]=M[0][0]; + + while(1){ + aux=Q.top(); + Q.pop(); + + if(solved[aux.r][aux.c]) continue; + solved[aux.r][aux.c]=true; + + if(aux.r==R-1 && aux.c==C-1){ + printf("%d\n",aux.cost); + break; + } + + for(int i=0;i<4;i++){ + r=aux.r+dr[i]; + c=aux.c+dc[i]; + + if(r>=0 && r=0 && cmin_cost[aux.r][aux.c]+M[r][c]))){ + min_cost[r][c]=min_cost[aux.r][aux.c]+M[r][c]; + Q.push(node(r,c,min_cost[r][c])); + } + } + } + } + + return 0; +} diff --git a/UVA/IX/985 - Round and Round Maze.cpp b/UVA/IX/985 - Round and Round Maze.cpp new file mode 100755 index 0000000..b735fe4 --- /dev/null +++ b/UVA/IX/985 - Round and Round Maze.cpp @@ -0,0 +1,82 @@ +#include +#include +#include + +using namespace std; + +struct node{ + int r,c; + + node(){ + } + + node(int _r, int _c){ + r=_r; + c=_c; + } +}Q[500*500*4],aux; + +int start,size; +bool M[500][500][4],visited[4][500][500]; + +int main(){ + int R,C,l,r,c; + bool solved; + int dr[]={-1,0,1,0}; + int dc[]={0,1,0,-1}; + int ind[26]; + ind['N'-'A']=0;ind['E'-'A']=1;ind['S'-'A']=2;ind['W'-'A']=3; + + char s[5]; + + while(scanf("%d %d",&R,&C)==2){ + for(int i=0;i=0;j--){ + r=Q[start].r; + c=Q[start].c; + start++; + size--; + + if(r==R-1 && c==C-1){ + printf("%d\n",i); + solved=true; + break; + } + + for(int k=0;k<4;k++){ + if(!M[r][c][k]) continue; + if(r+dr[(k+i)%4]>=0 && r+dr[(k+i)%4]=0 && c+dc[(k+i)%4] +#include + +using namespace std; + +int M[1000][1000],gr[1000],memo[1000]; + +int count(int v){ + if(v==0) return 1; + if(memo[v]!=-1) return memo[v]; + + memo[v]=0; + + for(int i=gr[v]-1;i>=0;i--) memo[v]+=count(M[v][i]); + + return memo[v]; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,m,x,ans; + bool line=false; + + while(scanf("%d",&n)==1){ + ans=0; + + fill(memo,memo+n,-1); + fill(gr,gr+n,0); + + for(int i=0;i + +using namespace std; + +int n,N,M[9][9]; +bool R[9][10],C[9][10],sq[9][10],solved; + +void solve(int r, int c){ + if(solved) return; + if(r==N && c==0){ + solved=true; + for(int i=0;i +#include +#include + +#define EPSILON 1e-8 + +using namespace std; + +struct line{ + + double a; + double b; + double c; + + line(double x1,double y1,double x2, double y2) + { + if(fabs(x1-x2)<=EPSILON) + { + a=1; + b=0; + c=-x1; + }else{ + b=1; + a=-(y1-y2)/(x1-x2); + c=-(a*x1)-y1; + } + } + +}; + +int main() +{ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + scanf("%d", &N); + + double x1,y1,x2,y2,r;//centro del pilar siempre en el origen + + double d1,d2;//medidas de los segmentos tangentes + + double a,b,x;//x:angulo necesario para hallar la medida del arco + + double m1,m2,m3; + + double tot; + + for(int i=0;i>x1>>y1>>x2>>y2>>r; + + line l=line(x1,y1,x2,y2); + + d1=fabs(l.c/sqrt(pow(l.a,2)+pow(l.b,2))); + + m1=pow(x1,2)+pow(y1,2); + m2=pow(x2,2)+pow(y2,2); + m3=pow(x1-x2,2)+pow(y1-y2,2); + + if((d1-r>EPSILON)||((d1-r<=EPSILON) && m1>r && m2>r)){ + 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 O`d<8({dxn+Zx+`t#|%47Lv&*yixfkk+X@_Pu77 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 literal 0 HcmV?d00001 diff --git a/UVA/Todavia/10180(Wrong Answer)/in.txt b/UVA/Todavia/10180(Wrong Answer)/in.txt new file mode 100755 index 0000000..83c2745 --- /dev/null +++ b/UVA/Todavia/10180(Wrong Answer)/in.txt @@ -0,0 +1,3 @@ +2 +1 2 4 6 2 +1 4 7 15 4 \ No newline at end of file diff --git a/UVA/Todavia/10180(Wrong Answer)/out.txt b/UVA/Todavia/10180(Wrong Answer)/out.txt new file mode 100755 index 0000000..373d431 --- /dev/null +++ b/UVA/Todavia/10180(Wrong Answer)/out.txt @@ -0,0 +1,2 @@ +5.000 +12.530 diff --git a/UVA/Todavia/711 - Dividing up (TLE).cpp b/UVA/Todavia/711 - Dividing up (TLE).cpp new file mode 100755 index 0000000..6015188 --- /dev/null +++ b/UVA/Todavia/711 - Dividing up (TLE).cpp @@ -0,0 +1,48 @@ +#include +#include +#include + +using namespace std; + +int n[6]; +int memo[6][22]; + +bool f(int i, int N){ + if(N==0) return true; + if(i==6) return false; + + if(memo[i][N]!=-1) return memo[i][N]; + + bool aux=false; + + for(int j=0;j<=n[i] && N>=j*(i+1);j++) aux|=f(i+1,N-j*(i+1)); + + memo[i][N]=aux; + + return aux; +} + +int main(){ + int N,caso=1,max; + + while(1){ + scanf("%d %d %d %d %d %d",&n[0],&n[1],&n[2],&n[3],&n[4],&n[5]); + if(n[0]==0 && n[1]==0 && n[2]==0 && n[3]==0 && n[4]==0 && n[5]==0) break; + + N=0; + for(int i=0;i<6;i++) N+=(i+1)*n[i]; + + printf("Collection #%d:\n",caso); + caso++; + + if(N%2==1) printf("Can't be divided.\n\n"); + else{ + memset(memo,-1,sizeof(memo)); + + if(f(0,N/2)) printf("Can be divided.\n\n"); + else printf("Can't be divided.\n\n"); + } + } + + return 0; +} diff --git a/UVA/Todavia/Always on the run(Todavia)/Always on the run.cpp b/UVA/Todavia/Always on the run(Todavia)/Always on the run.cpp new file mode 100755 index 0000000..fac728f --- /dev/null +++ b/UVA/Todavia/Always on the run(Todavia)/Always on the run.cpp @@ -0,0 +1,91 @@ +#include +#include +#include + +using namespace std; + +vector< vector > pdias; +int n,k; +int v1[10][10][1000]; +int v2[10]; + +struct nodo +{ + int a;//inicio + int b;//dia + int cost;//costo + nodo(int x, int y, int z) + { + a=x; + b=y; + cost=z; + } +}; + +int f() +{ + queue Q; + Q.push(nodo(0,0,0)); + while(true) + { + nodo aux=Q.front(); + + if(aux.b==k) break; + + Q.pop(); + + for(int i=0;i v; + int m; + int cont; + + while(true) + { + scanf("%d %d", &n, &k); + if(n==0 && k==0) break; + + cout<>v2[i]; + cont=0; + for(int x=0;cont!=m;x++) + { + if(x==j) v1[i][j][x]=0; + else + { + cin>>v1[i][j][x]; + cont++; + } + cout<Sm5vW7L2rAL2jM7S4YO%$ZRxZv6wnT!H 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 +#include + +using namespace std; + +long long memo[1001]; +long long f(int n) +{ + if(n==0) return 1; + if(n<0) return 0; + + if(memo[n]!=-1) return memo[n]; + + int x=2*f(n-1)+f(n-2)+f(n-3); + memo[n]=x; + return x; +} + +int main(){ + memset(memo,-1,sizeof(memo)); + int n; + while(cin>>n) + { + cout<fNYV?mOlywvhcr$ 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 T?&$nc9`0k8+=>PX|Mvd_a1ynh literal 0 HcmV?d00001 diff --git a/UVA/Todavia/Counting (Todavia)/input.txt b/UVA/Todavia/Counting (Todavia)/input.txt new file mode 100755 index 0000000..dc65ed2 --- /dev/null +++ b/UVA/Todavia/Counting (Todavia)/input.txt @@ -0,0 +1,22 @@ +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 \ No newline at end of file diff --git a/UVA/Todavia/Counting (Todavia)/output.txt b/UVA/Todavia/Counting (Todavia)/output.txt new file mode 100755 index 0000000..59f35ee --- /dev/null +++ b/UVA/Todavia/Counting (Todavia)/output.txt @@ -0,0 +1,22 @@ +5 +13 +33 +84 +214 +545 +1388 +3535 +9003 +22929 +58396 +148724 +378773 +964666 +2456829 +6257097 +15935689 +40585304 +103363394 +263247781 +670444260 +1707499695 diff --git a/UVA/Todavia/Counting - 10198 (Overflow).cpp b/UVA/Todavia/Counting - 10198 (Overflow).cpp new file mode 100755 index 0000000..bdb6960 --- /dev/null +++ b/UVA/Todavia/Counting - 10198 (Overflow).cpp @@ -0,0 +1,21 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long M[1001]; + + M[0]=2;M[1]=5;M[2]=13; + + for(int i=3;i<1001;i++) + M[i]=2*M[i-1]+M[i-2]+M[i-3]; + + int n; + + while(cin>>n) cout< +#include +#include + +using namespace std; + +int mcd(int a, int b){ + if(a%b==0) return b; + return mcd(b%a,a); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,m,n,cont1,cont2; + + while(cin>>N){ + cont1=0; + + map M; + + for(int i=1;i<=N;i++){ + for(m=ceil(sqrt(i*1.0/2));m +#include +#include +#include + +using namespace std; + +int i; +char x,y; +vector v; +string s; +int M[26]; +vector< vector > u; +bool ya[20]; +vector X; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + + while(getline(cin,s)){ + istringstream is1(s); + + i=0; + + while(is1>>x){ + v.push_back(x); + M[x-'a']=i; + i++; + } + + getline(cin,s); + istringstream is2(s); + + u.clear(); + u.resize(26); + + while(is2>>x>>y){ + u[x-'a'].push_back(y); + u[y-'a'].push_back(x); + } + + cout< +#include +#include + +using namespace std; + +int n,m,a,b,K; +bool visited[100]; +int M[100][100]; +int gr[100]; +//int tot=0; +//int cont1,cont2; +pair P; +vector v1; +vector v2; +vector v; + +void dfs(int a){ + queue< pair > Q; + v1.clear(); + v1.push_back(a); + v2.clear(); + + //cont1=1;cont2=0; + + visited[a]=true; + + for(int i=0;i=v2.size()){ + for(int i=0;i>m; + + for(int i=0;i>n>>K; + + for(int i=0;i>a>>b; + a--; + b--; + M[a][gr[a]++]=b; + M[b][gr[b]++]=a; + } + + v.clear(); + + for(int i=0;i +#include +#include + +#define all(v) (v).begin(), (v).end() + +using namespace std; + +int n,k,cont=0,ax=0; + +bool D1[15],D2[15]; + +void backtrack(int a, int x, int y) +{ + if(a==k){ + cont++; + return; + } + + if(x==0 && y==n) return; + + if(!D1[y+x] && !D2[y+n-1-x]){ + + D1[y+x]=true; + D2[y+n-1-x]=true; + + backtrack(a+1,x==n-1? 0:x+1,x==n-1? y+1:y); + + D1[y+x]=false; + D2[y+n-1-x]=false; + } + + backtrack(a,x==n-1? 0:x+1,x==n-1? y+1:y); + + return; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + memset(D1,false,sizeof(D1)); + memset(D2,false,sizeof(D2)); + + while(true) + { + scanf("%d %d",&n,&k); + if(n==0 && k==0) break; + + cout<2*n-1){ + cout<<0< +#include +#include + +using namespace std; + +int valor(char c){ + if(c>='0' && c<='9') return c-'0'; + + if(c>='A' && c<='Z') return c-'A'+10; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s1,s2; + vector v1; + vector v2; + long long ax; + int n, m; + bool enc; + + while(cin>>s1>>s2){ + n=0;m=0; + + for(int i=0;i +#include +#include + +using namespace std; + +int memo[26][5]; +int r; + +int f(int a, int b) +{ + if(b==0) return 1; + if(a==25 && b>0) return 0; + + int x=0; + for(int i=a+1;i<=25;i++) + x+=f(i,b-1); + + return x; + +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector< vector > v; + vector aux; + + aux.push_back(0); + v.push_back(aux); + int sum=27; + int aux2; + + memset(memo,-1,sizeof(memo)); + + for(int i=0;i<4;i++) + { + aux.clear(); + for(int j=0;j<25-i;j++) + { + aux2=sum; + for(int k=0;k>s) + { + cout<=s[i+1]) + { + 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�O}9Dl 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 literal 0 HcmV?d00001 diff --git a/UVA/Todavia/Word Index(Todavia)/in.txt b/UVA/Todavia/Word Index(Todavia)/in.txt new file mode 100755 index 0000000..0c007ea --- /dev/null +++ b/UVA/Todavia/Word Index(Todavia)/in.txt @@ -0,0 +1,15 @@ +z +a +cat +vwxyz +abc +abd +abe +abf +abg +abz +acd +aef +axz +ajlm +fuwz \ No newline at end of file diff --git a/UVA/Todavia/Word Index(Todavia)/out.txt b/UVA/Todavia/Word Index(Todavia)/out.txt new file mode 100755 index 0000000..34a5a6e --- /dev/null +++ b/UVA/Todavia/Word Index(Todavia)/out.txt @@ -0,0 +1,30 @@ +z +26 +a +1 +cat +0 +vwxyz +83681 +abc +352 +abd +353 +abe +354 +abf +355 +abg +356 +abz +375 +acd +354 +aef +358 +axz +397 +ajlm +2978 +fuwz +11963 diff --git a/UVA/V/515 - King.cpp b/UVA/V/515 - King.cpp new file mode 100755 index 0000000..8713efd --- /dev/null +++ b/UVA/V/515 - King.cpp @@ -0,0 +1,51 @@ +#include + +using namespace std; + +int main(){ + int V,E; + int si,ni,ki; + char oi[3]; + int dist[101]; + int edge[100][2]; + int edge_cost[100]; + bool cycle; + + while(1){ + scanf("%d",&V); + if(V==0) break; + V++; + + scanf("%d",&E); + + for(int i=0;idist[edge[j][0]]+edge_cost[j]) cycle=true; + + if(cycle) printf("successful conspiracy\n"); + else printf("lamentable kingdom\n"); + } + + return 0; +} diff --git a/UVA/V/530 - Binomial Showdown.cpp b/UVA/V/530 - Binomial Showdown.cpp new file mode 100755 index 0000000..e40bd62 --- /dev/null +++ b/UVA/V/530 - Binomial Showdown.cpp @@ -0,0 +1,27 @@ +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,k; + long long C; + + while(1){ + cin>>n>>k; + + if(n==0 && k==0) break; + + if(k>n/2) k=n-k; + + C=1; + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + vector v1,v2; + string s1,s2; + int mx; + + int M[102][102]; + int N[102]; + int n; + + while(getline(cin,s1)){ + + v1.clear(); v2.clear(); + + if(s1!="#"){ + istringstream is(s1); + while(is>>s2) v1.push_back(s2); + + while(getline(cin,s1)){ + if(s1=="#") break; + istringstream is(s1); + while(is>>s2) v1.push_back(s2); + } + } + + while(getline(cin,s1)){ + if(s1=="#") break; + istringstream is(s1); + + while(is>>s2) v2.push_back(s2); + } + + memset(M,0,sizeof(M)); + + for(int i=v1.size()-1;i>=0;i--){ + for(int j=v2.size()-1;j>=0;j--) + if(v1[i]==v2[j]) M[i][j]=1+M[i+1][j+1]; + else M[i][j]=max(M[i+1][j],M[i][j+1]); + } + + mx=-1; + + for(int i=0;i +#include +#include +#include +#include + +using namespace std; + +bool visited[30][30][30]; +vector< vector < string > > v1; +int x,y,z; + +int di[]={-1,1,0,0,0,0}; +int dj[]={0,0,-1,1,0,0}; +int dk[]={0,0,0,0,-1,1}; + +struct nodo +{ + + int a; + int b; + int c; + int costo; + + nodo(int x, int y, int z, int w) + { + a=x; + b=y; + c=z; + costo=w; + } + +}; + +void bfs(int a,int b, int c) +{ + queue Q; + + Q.push(nodo(a,b,c,0)); + + memset(visited,false,sizeof(visited)); + + visited[a][b][c]=true; + + int j,k,l,I,J,K; + + while(!Q.empty()) + { + nodo aux=Q.front(); + Q.pop(); + + j=aux.a; + k=aux.b; + l=aux.c; + if(v1[l][k][j]=='E') + { + printf("Escaped in %d minute(s).\n", aux.costo);//;cout<<"Escaped in "<=0 && I=0 && J=0 && K v2; + string s; + + int m,n,p; + + while(true) + { + scanf("%d %d %d", &z, &y, &x); + if(x==0 && y==0 && z==0) break; + + v1.clear(); + + for(int i=0;i>s; + v2.push_back(s); + } + v1.push_back(v2); + } + for(int i=0;i +#include + +using namespace std; + +string s1; +string s2; + +string f(int n, int m, int p, int q){ + + int a=s2.find(s1[n]); + int b=-1;//b seguira valiendo -1 si no hay rama izquierda + + string ax=""; + + if(a!=p){ + b=n; + while(b<=m && s2.find(s1[b+1])>s1>>s2){ + cout< +#include +#include + +using namespace std; + +struct nodo{ + int num,orden,pos; + + nodo(int a, int b, int c){ + num=a; + orden=b; + pos=c; + } + + bool operator < (nodo X)const{ + if(orden!=X.orden) return orden team_queue; + int t,n,a,cont,caso=1; + string command; + + vector N(1000000); + int cont_team[1000]; + int team[1000]; + int pos[1000]; + + set :: iterator it; + + while(cin>>t){ + if(t==0) break; + + cout<<"Scenario #"<>a; + N[a]=i; + } + } + + fill(team,team+t,0); + fill(cont_team,cont_team+t,0); + + cont=0; + + team_queue.clear(); + + while(cin>>command){ + if(command[0]=='S') break; + else if(command[0]=='D'){ + it=team_queue.begin(); + printf("%d\n",(*it).num); + cont_team[N[(*it).num]]--; + team_queue.erase(*it); + }else{ + scanf("%d",&a); + if(cont_team[N[a]]==0){ + cont_team[N[a]]=1; + team[N[a]]++; + team_queue.insert(nodo(a,cont,1)); + pos[N[a]]=cont; + cont++; + }else{ + cont_team[N[a]]++; + team[N[a]]++; + team_queue.insert(nodo(a,pos[N[a]],team[N[a]])); + } + } + } + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int M[99][99],F[99],C[99],n,conti,contj,I,J; + + while(true){ + cin>>n; + if(n==0) break; + memset(C,0,sizeof(C)); + for(int i=0;i>M[i][j]; + F[i]+=M[i][j]; + C[j]+=M[i][j]; + } + } + conti=0; + contj=0; + for(int i=0;i2) break; + } + if(conti+contj==0) cout<<"OK"<0) cout<<"Corrupt"< +#include +#include + +using namespace std; + +int main(){ + bool p[1000000]; + vector P; + + fill(p,p+1000000,true); + p[0]=p[1]=false; + + for(int i=1;i<500000;i++) p[2*i]=false; + + for(int i=3;i<1000000;i+=2){ + if(p[i]){ + if(i<500000) P.push_back(i); + for(int j=2;j*i<1000000;j++) p[i*j]=false; + } + } + + int n,a,b; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;;i++){ + a=P[i]; + b=n-a; + + if(p[b]){ + printf("%d = %d + %d\n",n,a,b); + break; + } + } + } + + return 0; +} diff --git a/UVA/V/544 - Heavy Cargo.cpp b/UVA/V/544 - Heavy Cargo.cpp new file mode 100755 index 0000000..8dd347c --- /dev/null +++ b/UVA/V/544 - Heavy Cargo.cpp @@ -0,0 +1,99 @@ +#include +#include +#include +#include +#include + +using namespace std; + +struct edge{ + int v; + int capacity; + + edge(int a, int b){ + v=a; + capacity=b; + } + + bool operator < (edge X){ + return capacity>X.capacity; + } +}; + +vector< vector > L; +int visited[200]; + +int bfs(int &start, int &end){ + priority_queue< pair > Q; + Q.push(make_pair(start,(1<<20))); + + pair P; + + while(1){ + P=Q.top(); + Q.pop(); + + if(P.first==end) return P.second; + + for(int i=0;ivisited[L[P.first][i].v]){ + visited[L[P.first][i].v]=min(P.second,L[P.first][i].capacity); + + Q.push(make_pair(L[P.first][i].v,visited[L[P.first][i].v])); + } + } +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string city1,city2; + + map cities; + + int n,r,a,b,w,cont,scenario; + scenario=1; + + while(1){ + scanf("%d %d",&n,&r); + if(n==0 && r==0) break; + + cities.clear(); + L.clear(); + L.resize(n); + cont=0; + + for(int i=0;i>city1>>city2; + + if(cities.find(city1)!=cities.end()) a=cities[city1]; + else{ + cities[city1]=cont; + a=cont++; + } + + if(cities.find(city2)!=cities.end()) b=cities[city2]; + else{ + cities[city2]=cont; + b=cont++; + } + + scanf("%d",&w); + + L[a].push_back(edge(b,w)); + L[b].push_back(edge(a,w)); + } + + memset(visited,-1,sizeof(visited)); + + cin>>city1>>city2; + a=cities[city1]; + b=cities[city2]; + + printf("Scenario #%d\n%d tons\n\n",scenario,bfs(a,b)); + scenario++; + } + + return 0; +} diff --git a/UVA/V/558 - Wormholes.cpp b/UVA/V/558 - Wormholes.cpp new file mode 100755 index 0000000..bb99ed0 --- /dev/null +++ b/UVA/V/558 - Wormholes.cpp @@ -0,0 +1,44 @@ +#include + +using namespace std; + +int main(){ + int T,V,E; + int edge[2000][2]; + int edge_cost[2000]; + int dist[1000]; + bool reached[1000]; + bool found; + + scanf("%d",&T); + + for(int tc=0;tcdist[edge[j][0]]+edge_cost[j]) found=true; + + if(found) printf("possible\n"); + else printf("not possible\n"); + } + + return 0; +} diff --git a/UVA/V/568 - Just the facts.cpp b/UVA/V/568 - Just the facts.cpp new file mode 100755 index 0000000..2d2ca5b --- /dev/null +++ b/UVA/V/568 - Just the facts.cpp @@ -0,0 +1,58 @@ +#include +#include + +using namespace std; + +int memo[10001]; +int v[]={6,2,8,4}; + +int DIG(int n) +{ + if(n==0) return 1; + + if(memo[n]!=-1) return memo[n]; + + if(n%5==0) + { + int k=n; + int j=DIG(n-1); + while(k%10==0) + k/=10; + + while(k%5==0) + { + k/=5; + j=v[j/2-1]; + } + j=(j*k)%10; + memo[n]=j; + return j; + } + + + int x=DIG(n-1)*n; + if(x%10!=0) x%=10; + else + { + while(x%10==0) + x/=10; + x%=10; + } + memo[n]=x; + return x; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N; + + memset(memo,-1,sizeof(memo)); + + while(cin>>N) + cout< "< +#include +#include + +using namespace std; + +int m,n,cont; +vector v; +string s; +bool visited[100][100]; + +int di[]={1,1,1,-1,-1,-1,0,0}; +int dj[]={1,0,-1,1,0,-1,1,-1}; + +void dfs(int a, int b){ + + visited[a][b]=1; + int I,J; + + for(int i=0;i<8;i++){ + I=a+di[i]; + J=b+dj[i]; + if(I>=0 && I=0 && J>m>>n; + if(m==0) break; + + v.clear(); + + for(int i=0;i>s; + v.push_back(s); + } + + cont=0; + memset(visited,0,sizeof(visited)); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + int N; + + while(1){ + cin>>s; + if(s=="0") break; + + N=0; + + for(int i=s.size()-1,j=0;i>=0;i--){ + N+=(s[i]-'0')*((1< +#include + +using namespace std; + +bool vocal(char c) +{ + return c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='y'; +} + +int main(){ + + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + string s; + short cont; + int ax; + + while(getline(cin,s)) + { + if(s=="e/o/i") break; + cont=0; + + ax=0; + while(s[ax]!='/'){ + if(vocal(s[ax])){ + cont++; + while(vocal(s[ax])) ax++; + continue; + } + ax++; + } + ax++; + if(cont!=5){ + cout<<1< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int h[50]; + int n,prom,min,caso=1; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + for(int i=0;iprom) min+=h[i]-prom; + + printf("Set #%d\nThe minimum number of moves is %d.\n\n",caso,min); + caso++; + } + + return 0; +} diff --git a/UVA/VI/634 - Polygon.cpp b/UVA/VI/634 - Polygon.cpp new file mode 100755 index 0000000..bb217b7 --- /dev/null +++ b/UVA/VI/634 - Polygon.cpp @@ -0,0 +1,54 @@ +#include +#include + +using namespace std; + +double eps=1e-9; + +struct point{ + double x,y; + + point(){ + } + + point(double _x, double _y){ + x=_x; y=_y; + } +}; + +bool PointInsidePolygon(const point P, const vector &poly){ + bool in=0; + int n=poly.size(); + + for(int i=0,j=n-1;i poly; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + poly.clear(); + for(int i=0;i + +using namespace std; + +int v[]={50,25,10,5,1}; +int memo[7850][4]; + +int f(int a, int b) +{ + if(a==0) return 1; + if(a<0) return 0; + if(b>4) return 0; + + if(memo[a][b]!=-1) return memo[a][b]; + + int x=f(a-v[b],b)+f(a-v[b+1],b+1)+f(a-v[b+2],b+2)+f(a,b+3); + memo[a][b]=x; + return x; +} + +int main(){ + int x; + memset(memo,-1,sizeof(memo)); + while(cin>>x) + cout< +#include + +using namespace std; + +struct punto{ + int x,y; + + punto(int a, int b){ + x=a; + y=b; + } + + bool operator < (punto P)const{ + if(x!=P.x) return x v; + +int producto(punto &A, punto &B, punto &C){ + return A.x*B.y+B.x*C.y+C.x*A.y-A.y*B.x-B.y*C.x-C.y*A.x; +} + +vector H; + +void Hull(){ + int k=0; + + H.resize(2*v.size(),punto(0,0)); + + for(int i=0;i=2 && producto(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + for(int i=v.size()-2, t=k+1;i>=0;i--){ + while(k>=t && producto(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + H.resize(k,punto(0,0)); +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int x,y; + + while(scanf("%d, %d",&x,&y)==2) v.push_back(punto(x,y)); + + sort(v.begin(),v.end()); + + H.clear(); + + Hull(); + + for(int i=0;i +#include + +using namespace std; + +struct punto{ + int x,y; + + punto(int a, int b){ + x=a; + y=b; + } + + bool operator < (punto P) const{ + if(x!=P.x) return x v; +vector H; +int N; + +int area(punto &A, punto &B, punto &C){ + return A.x*B.y+B.x*C.y+C.x*A.y-A.y*B.x-B.y*C.x-C.y*A.x; +} + +void Hull(){ + int k=0; + + sort(v.begin(),v.end()); + H.resize(2*N,punto(0,0)); + + for(int i=0;i=2 && area(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + for(int i=N-2,t=k+1;i>=0;i--){ + while(k>=t && area(H[k-2],H[k-1],v[i])<=0) k--; + H[k++]=v[i]; + } + + H.resize(k-1,punto(0,0)); +} + + + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int caso,ax,a,b,pos,x,y; + + cin>>caso; + cout<>N; + + v.clear(); + + for(int j=0;j>a>>b; + v.push_back(punto(a,b)); + } + + H.clear(); + Hull(); + + cout<>ax; + cout< +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,cont; + vector p; + bool primo[32768]; + + p.push_back(2); + memset(primo,1,sizeof(primo)); + p[0]=p[1]=0;p[2]=1; + + for(int i=2;i<(1<<15);i++){ + if(primo[i]){ + p.push_back(i); + for(int j=2;j*i<32768;j++) primo[i*j]=0; + } + } + + while(1){ + scanf("%d",&n); + if(n==0) break; + + cont=0; + + for(int i=0;p[i]<=n/2;i++){ + if(primo[n-p[i]]) cont++; + } + + cout< + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + long long A,L; + int cont,caso=1; + + while(1){ + cin>>A>>L; + if(A<0 && L<0) break; + + cout<<"Case "<>s>>n; + if(s==0) break; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int n,m,x,caso=1; + int pos[7]; + char terminal[129]; + char VVA[8]; + char aux[3]; + + while(1){ + scanf("%d",&n); + if(n==0) break; + + printf("S-Tree #%d:\n",caso); + caso++; + + for(int i=0;i + +using namespace std; + +bool R[8],D1[15],D2[15]; +int C,pos[8],cont; + +void search(int c){ + if(c==8){ + printf("%2d ",++cont); + + for(int i=0;i<8;i++){ + if(i!=0) printf(" "); + printf("%d",pos[i]+1); + } + + printf("\n"); + } + + if(c==C) search(c+1); + else{ + for(int i=0;i<8;i++){ + if(R[i] || D1[c-i+7] || D2[c+i]) continue; + R[i]=D1[c-i+7]=D2[c+i]=true; + pos[c]=i; + search(c+1); + R[i]=D1[c-i+7]=D2[c+i]=false; + } + } +} + +int main(){ + int T,r; + + scanf("%d",&T); + + for(int tc=0;tc +#include +#include +#include +#include + +using namespace std; + +struct flow_graph{ + int MAX_V,E,s,t; + int *cap,*to,*next,*last; + bool *visited; + + flow_graph(int V, int MAX_E){ + MAX_V = V; E = 0; + cap = new int[2*MAX_E], to = new int[2*MAX_E], next = new int[2*MAX_E]; + last = new int[MAX_V], visited = new bool[MAX_V]; + fill(last,last+MAX_V,-1); + } + + void clear(){ + fill(last,last+MAX_V,-1); + E = 0; + } + + void add_edge(int u, int v, int uv, int vu = 0){ + to[E] = v, cap[E] = uv, next[E] = last[u]; last[u] = E++; + to[E] = u, cap[E] = vu, next[E] = last[v]; last[v] = E++; + } + + int dfs(int v, int f){ + if(v==t || f<=0) return f; + if(visited[v]) return 0; + visited[v] = true; + for(int e=last[v];e!=-1;e=next[e]){ + int ret = dfs(to[e],min(f,cap[e])); + if(ret>0){ + cap[e] -= ret; + cap[e^1] += ret; + return ret; + } + } + return 0; + } + + int max_flow(int source, int sink){ + s = source, t = sink; + int f = 0,x; + while(true){ + fill(visited,visited+MAX_V,false); + x = dfs(s,INT_MAX); + if(x==0) break; + f += x; + } + return f; + } +}; + +map myMap; +int map_size; + +int getIndex(string name){ + if(myMap.find(name)==myMap.end()) + myMap[name] = ++map_size; + return myMap[name]; +} + +int main(){ + int T,N,M,K; + char name1[25],name2[25]; + flow_graph G(2+100+200+200,100+2*100+100); // s = 0, t = 1 + + scanf("%d",&T); + + while(T--){ + scanf("%d",&N); + G.clear(); + + myMap.clear(); map_size = 0; + for(int i=0;i +#include + +using namespace std; + +int parent[800],rank[800]; + +void Make_Set(int x){ + parent[x]=x; + rank[x]=0; +} + +int Find(int x){ + if(x!=parent[x]) parent[x]=Find(parent[x]); + return parent[x]; +} + +void Union(int &x, int &y){ + int PX=Find(x),PY=Find(y); + if(PX==PY) return; + + if(rank[PX]>rank[PY]) + parent[PY]=PX; + else{ + parent[PX]=PY; + if(rank[PX]==rank[PY]) + rank[PY]++; + } +} + +int main(){ + int T,n,x,y,cont1,cont2; + char c; + string s; + + scanf("%d",&T); + + for(int tc=1;tc<=T;tc++){ + scanf("\n%d\n",&n); + + for(int i=1;i<=n;i++) Make_Set(i); + + cont1=cont2=0; + + while(1){ + if(!getline(cin,s) || s.empty()) break; + sscanf(s.c_str(),"%c %d %d",&c,&x,&y); + + if(c=='c') Union(x,y); + else Find(x)==Find(y)? cont1++:cont2++; + } + + if(tc!=1) printf("\n"); + printf("%d,%d\n",cont1,cont2); + } + + return 0; +} diff --git a/UVA/VII/796 - Critical Links.cpp b/UVA/VII/796 - Critical Links.cpp new file mode 100755 index 0000000..3d0a6b1 --- /dev/null +++ b/UVA/VII/796 - Critical Links.cpp @@ -0,0 +1,115 @@ +#include +#include +#include +#include + +using namespace std; + +#define SZ 100 + +bool M[SZ][SZ]; +int N,colour[SZ],dfsNum[SZ],num,pos[SZ],leastAncestor[SZ],parent[SZ]; + +void dfs(int u){ + int v; + + stack S; + S.push(u); + + while(!S.empty()){ + v=S.top(); + if(colour[v]==0){ + colour[v]=1; + dfsNum[v]=num++; + leastAncestor[v]=num; + } + + for(;pos[v] v; + +void Bridge_detection(){ + memset(colour,0,sizeof(colour)); + memset(pos,0,sizeof(pos)); + memset(parent,-1,sizeof(parent)); + num=0; + + int ans=0; + + for(int i=0;idfsNum[i]) ans++; + + printf("%d critical links\n",ans); + + v.clear(); + + for(int i=0;idfsNum[i]) v.push_back(edge(i,j)); + + sort(v.rbegin(),v.rend()); + + for(int i=v.size()-1;i>=0;i--) printf("%d - %d\n",v[i].u,v[i].v); + + printf("\n"); +} + +int main(){ + int u,v,e; + char c; + + while(scanf("%d\n",&N)==1){ + memset(M,false,sizeof(M)); + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int cap[100][100]; +int flow[100][100]; +int prev[100]; +vector< vector > L; + +bool augmenting(int &n, int &s, int &t, int &f){ + fill(prev,prev+n,-1); + + queue Q; + Q.push(s); + prev[s]=-2; + + int aux; + + while(!Q.empty()){ + aux=Q.front(); + Q.pop(); + + for(int i=0;i + +using namespace std; + +int main(){ + long long n; + int cont; + + while(cin>>n){ + if(n==1){ + cout<<"Stan wins."<1){ + cont++; + if(cont%2==1) n=(n+8)/9; + else n=(n+1)/2; + } + + if(cont%2==1) cout<<"Stan wins."< +#include + +using namespace std; + +int main(){ + int n,m,ans; + char W[1001][11],c; + int cont1[26],cont2[1000][26]; + bool ok; + + n=0; + while(1){ + scanf("%s\n",W[n]); + if(W[n][0]=='#') break; + n++; + } + + for(int i=n-1;i>=0;i--){ + for(int j=0;j<26;j++) cont2[i][j]=0; + for(int j=strlen(W[i])-1;j>=0;j--) cont2[i][W[i][j]-'a']++; + } + + m=0; + while(1){ + scanf("%c",&c); + if(c=='#') break; + + for(int i=0;i<26;i++) cont1[i]=0; + cont1[c-'a']++; + + while(1){ + scanf("%c",&c); + if(c==' ') continue; + if(c=='\n') break; + cont1[c-'a']++; + } + + ans=0; + + for(int i=0;i +#include + +using namespace std; + +int VE,VC,CE,CC; + +char s[16]; +int a[16],N; +long long memo[15][26][5][5]; +bool vowel[26]; + +long long count(int n, int c, int count_equal, int count_consec){ + if(vowel[c] && (count_equal>VE || count_consec>VC)) return 0; + if(!vowel[c] && (count_equal>CE || count_consec>CC)) return 0; + if(n==N) return 1; + + if(memo[n][c][count_equal][count_consec]!=-1) return memo[n][c][count_equal][count_consec]; + + if(a[n]!=-1){ + memo[n][c][count_equal][count_consec]=count(n+1,a[n],a[n]==c? count_equal+1:1,vowel[c]==vowel[a[n]]? count_consec+1:1); + }else{ + memo[n][c][count_equal][count_consec]=0; + + for(int i=0;i<26;i++) + memo[n][c][count_equal][count_consec]+=count(n+1,i,i==c? count_equal+1:1,vowel[c]==vowel[i]? count_consec+1:1); + } + + return memo[n][c][count_equal][count_consec]; +} + +int main(){ + scanf("%d %d %d %d",&VE,&VC,&CE,&CC); + scanf("%s",s); + + N=strlen(s); + + for(int i=N-1;i>=0;i--) + if(s[i]=='*') a[i]=-1; + else a[i]=s[i]-'a'; + + for(int i=0;i<26;i++) vowel[i]=0; + vowel['a'-'a']=1; + vowel['e'-'a']=1; + vowel['i'-'a']=1; + vowel['o'-'a']=1; + vowel['u'-'a']=1; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int N; + scanf("%d",&N); + + int a[N],b[N],x[N]; + + for(int i=0;ib[i]) swap(a[i],b[i]); + x[i]=a[i]+b[i]; + } + + sort(x,x+N); + + int S=0; + + for(int i=0;i + +using namespace std; + +int main(){ + int M,N; + + scanf("%d %d",&M,&N); + + printf("%d\n",M+N); + + return 0; +} diff --git a/Z-Trening/Basic Introductory Problems/The Easiest Problem.cpp b/Z-Trening/Basic Introductory Problems/The Easiest Problem.cpp new file mode 100755 index 0000000..9b0e0ac --- /dev/null +++ b/Z-Trening/Basic Introductory Problems/The Easiest Problem.cpp @@ -0,0 +1,13 @@ +#include + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + printf("%d\n",N); + + return 0; +} diff --git a/Z-Trening/Serbian Olympiad in Informatics/igra.cpp b/Z-Trening/Serbian Olympiad in Informatics/igra.cpp new file mode 100755 index 0000000..84bd2c3 --- /dev/null +++ b/Z-Trening/Serbian Olympiad in Informatics/igra.cpp @@ -0,0 +1,32 @@ +#include +#include + +using namespace std; + +int a[128],memo[128][128]; + +int solve(int n, int m){ + if(n==m) return a[n]; + if(n>m) return 0; + + if(memo[n][m]!=-1) return memo[n][m]; + + memo[n][m]=max(a[n]+min(solve(n+2,m),solve(n+1,m-1)),a[m]+min(solve(n,m-2),solve(n+1,m-1))); + + return memo[n][m]; +} + +int main(){ + int n; + scanf("%d",&n); + + for(int i=0;i +#include +#include + +using namespace std; + +int main(){ + int n; + map M; + + cin>>n; + + string s; + + for(int i=0;i>s; + M[s]++; + } + + int cont=0; + + for(int i=0;i>s; + if(M[s]>0){ + M[s]--; + cont++; + } + } + + cout< +#include +#include + +using namespace std; + +struct nodo{ + int v,dist,h; + + nodo(int _v, int _dist, int _h){ + v=_v; + dist=_dist; + h=_h; + } + + bool operator < (nodo X)const{ + if(dist==X.dist) return hX.dist; + } +}; + +int n; +int d[10000][10000]; +int H[10000][10000]; +bool visited[10000]; + +int ans_d,ans_h; + +void shortest(){ + priority_queue Q; + Q.push(nodo(0,0,0)); + + fill(visited,visited+n,false); + + ans_d=-1; + ans_h=-1; + + while(!Q.empty()){ + nodo aux=Q.top(); + Q.pop(); + + if(visited[aux.v]) continue; + visited[aux.v]=true; + + if(aux.v==n-1){ + ans_d=aux.dist; + ans_h=aux.h; + break; + } + + for(int i=0;i>n>>m; + + for(int i=0;i>a>>b>>dist>>h; + a--; b--; + if(d[a][b]==-1){ + d[a][b]=d[b][a]=dist; + H[a][b]=H[b][a]=h; + }else{ + if(d[a][b] +#include + +using namespace std; + +bool ok(string s1, string s2){ + int M[26]; + memset(M,-1,sizeof(M)); + + if(s1.size()!=s2.size()) return false; + + int n=s1.size(); + + for(int i=0;i>n; + cin>>s1>>s2; + + if(ok(s1,s2)) cout<<"DA"< +#include + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + int a[N]; + + for(int i=0;i=0;i--){ + dp[i]=1; + + for(int j=i+1;jdp[i]){ + dp[i]=1+dp[j]; + next[i]=j; + } + + ans=max(ans,dp[i]); + } + + printf("%d\n",ans); + + int pos; + + for(int i=0;i +#include +#include + +using namespace std; + +int mcd(int a, int b){ + while(a%b!=0){ + a%=b; + swap(a,b); + } + + return b; +} + +int main(){ + int n,m; + + scanf("%d %d",&n,&m); + long long cont=(long long)(n+1)*(m+1)+mcd(n,m)+1; + cont/=2; + + printf("%lld\n",cont); + + return 0; +} diff --git a/Z-Trening/contest/Paycheck.cpp b/Z-Trening/contest/Paycheck.cpp new file mode 100755 index 0000000..de90e1c --- /dev/null +++ b/Z-Trening/contest/Paycheck.cpp @@ -0,0 +1,19 @@ +#include +#include + +using namespace std; + +int main(){ + int N; + + scanf("%d",&N); + + int a[N]; + int p[N]; + + for(int i=0;i + +using namespace std; + +char M[1000][1000]; +int n,m; + +bool count(int r, int c){ + if(M[r][c]!='B') return false; + if(r==0 || r==n-1 || c==0 || c==m-1) return false; + if(M[r-1][c]!='B') return false; + if(M[r][c-1]!='B') return false; + if(M[r+1][c]!='B') return false; + if(M[r][c+1]!='B') return false; + return true; +} + +int main(){ + scanf("%d %d",&n,&m); + + for(int i=0;i +#include + +using namespace std; + +int MAX(int n){ + int cont=0; + + while(n!=0){ + n/=2; + cont++; + } + + return cont; +} + +int main(){ + int n,m; + + cin>>n>>m; + + int a[n]; + + for(int i=0;i>a[i]; + + int cont=0; + + for(int i=0;i +#include +#include + +using namespace std; + +const int MAXV1 = 100; +const int MAXV2 = 300; + +vector L[MAXV1]; +bool visited[MAXV2]; +int V1,V2,match[MAXV2]; + +bool dfs(int u){ + for(int i=L[u].size()-1;i>=0;--i){ + int v = L[u][i]; + + if(!visited[v]){ + visited[v] = true; + if(match[v]==-1 || dfs(match[v])){ + match[v] = u; + return true; + } + } + } + return false; +} + +int maximum_matching(){ + int ans = 0; + memset(match,-1,sizeof(match)); + + for(int i=0;i +#include +#include + +using namespace std; + +const int MAXV1 = 100; +const int MAXV2 = 300; + +vector L[MAXV1]; +bool visited[MAXV2]; +int V1,V2,match[MAXV2]; + +bool dfs(int u){ + for(int i=L[u].size()-1;i>=0;--i){ + int v = L[u][i]; + + if(!visited[v]){ + visited[v] = true; + if(match[v]==-1 || dfs(match[v])){ + match[v] = u; + return true; + } + } + } + return false; +} + +int maximum_matching(){ + int ans = 0; + memset(match,-1,sizeof(match)); + + for(int i=0;i +#include + +using namespace std; + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int N,m; + char c[100][3]; + bool valid[26]; + bool M1[100][100],M2[100][100],found; + + scanf("%d\n",&N); + + for(int tc=1;tc<=N;tc++){ + scanf("%d\n",&m); + + for(int i=0;i +#include +#include +#include + +using namespace std; + +int main(){ + int p[10]; + for(int i=0;i<10;i++) p[i]=i+1; + bool M[11][11]; + + int tc=1,n,v; + string s; + + bool found; + + while(1){ + scanf("%d\n",&n); + if(n==0) break; + + memset(M,false,sizeof(M)); + + for(int i=1;i<=n;i++){ + getline(cin,s); + istringstream is(s); + while(is>>v) M[i][v]=M[v][i]=true; + } + + do{ + found=true; + + if(!M[0][p[0]]) found=false; + + for(int i=1;i + +using namespace std; + +int main(){ + + int a,b; + + while(scanf("%d %d",&a,&b)==2) cout< +#include + +using namespace std; + +int n,cont,max_num; +char map[4][5]; +int M[4][4]; + +void backtracking(int r, int c){ + if(r==n){ + max_num=max(max_num,cont); + + return; + } + + if(M[r][c]==-1){ + cont++; + M[r][c]=cont; + for(int i=c-1;i>=0 && M[r][i]!=0;i--) if(M[r][i]==-1) M[r][i]=cont; + for(int i=c+1;i=0 && M[i][c]!=0;i--) if(M[i][c]==-1) M[i][c]=cont; + for(int i=r+1;i=0 && M[r][i]!=0;i--) if(M[r][i]==cont) M[r][i]=-1; + for(int i=c+1;i=0 && M[i][c]!=0;i--) if(M[i][c]==cont) M[i][c]=-1; + for(int i=r+1;i +#include + +using namespace std; + +int main(){ + freopen("in2.txt","r",stdin); + freopen("out.txt","w",stdout); + + int T,m,n; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%d %d",&m,&n); + + printf("Scenario #%d:\n",i); + + if(m%2==0 || n%2==0) printf("%.2f\n\n",(float)m*n); + else printf("%d.41\n\n",m*n); + } + + return 0; +} diff --git a/ZOJ/Vol 1/1041 - Transmitters.cpp b/ZOJ/Vol 1/1041 - Transmitters.cpp new file mode 100755 index 0000000..4ff4b12 --- /dev/null +++ b/ZOJ/Vol 1/1041 - Transmitters.cpp @@ -0,0 +1,66 @@ +#include +#include + +using namespace std; + +struct punto{ + int x; + int y; + + punto(int a, int b){ + x=a; + y=b; + } +}; + +int dist2(punto a, punto &b){ + return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); +} + +int area(punto &a, punto &b, punto &c){ + return a.x*b.y+b.x*c.y+c.x*a.y-a.y*b.x-b.y*c.x-c.y*a.x; +} + +int main(){ + freopen("in.txt","r",stdin); + freopen("out.txt","w",stdout); + + int Ox,Oy,x,y,N,mx,cont1,cont2,S; + double r; + + vector v; + + while(1){ + cin>>Ox>>Oy>>r; + if(r<0) break; + + cin>>N; + punto O=punto(Ox,Oy); + + v.clear(); + for(int i=0;i>x>>y; + if(dist2(punto(x,y),O)<=r*r) v.push_back(punto(x,y)); + } + + mx=0; + + for(int i=0;i0) cont1++; + else cont2++; + } + mx=max(mx,max(cont1,cont2)); + } + + cout< +#include + +using namespace std; + +int main(){ + freopen("in2.txt","r",stdin); + freopen("out.txt","w",stdout); + + double sum,aux; + + sum=0; + + for(int i=0;i<12;i++){ + cin>>aux; + sum+=aux; + } + + printf("$%.2f\n",sum/12); +} diff --git a/ZOJ/Vol 1/1049 - I Think I Need a Houseboat.cpp b/ZOJ/Vol 1/1049 - I Think I Need a Houseboat.cpp new file mode 100755 index 0000000..cbf4f4b --- /dev/null +++ b/ZOJ/Vol 1/1049 - I Think I Need a Houseboat.cpp @@ -0,0 +1,24 @@ +#include +#include + +#define PI acos(-1) + +using namespace std; + +int main(){ + int T,year; + double x,y; + + scanf("%d",&T); + + for(int i=1;i<=T;i++){ + scanf("%lf %lf",&x,&y); + + year=ceil(PI/100*(x*x+y*y)); + + printf("Property %d: This property will begin eroding in year %d.\n",i,year); + } + printf("END OF OUTPUT.\n"); + + return 0; +} diff --git a/ZOJ/Vol 1/1051 - A New Growth Industry.cpp b/ZOJ/Vol 1/1051 - A New Growth Industry.cpp new file mode 100755 index 0000000..fe04743 --- /dev/null +++ b/ZOJ/Vol 1/1051 - A New Growth Industry.cpp @@ -0,0 +1,53 @@ +#include + +using namespace std; + +int main(){ + int T,days,K,I,J; + int D[16]; + int M[2][20][20]; + int di[]={0,0,0,1,-1}; + int dj[]={0,1,-1,0,0}; + + scanf("%d",&T); + + for(int caso=0;caso=0 && I<20 && J>=0 && J<20) K+=M[(k-1)%2][I][J]; + } + + M[k%2][i][j]=M[(k-1)%2][i][j]+D[K]; + if(M[k%2][i][j]>3) M[k%2][i][j]=3; + else if(M[k%2][i][j]<0) M[k%2][i][j]=0; + } + } + } + + for(int i=0;i<20;i++){ + for(int j=0;j<20;j++){ + if(M[days%2][i][j]==0) printf("."); + else if(M[days%2][i][j]==1) printf("!"); + else if(M[days%2][i][j]==2) printf("X"); + else if(M[days%2][i][j]==3) printf("#"); + } + printf("\n"); + } + if(caso!=T-1) printf("\n"); + } + + return 0; +} diff --git a/ZOJ/Vol 1/1067 - Color Me Less.cpp b/ZOJ/Vol 1/1067 - Color Me Less.cpp new file mode 100755 index 0000000..f785c24 --- /dev/null +++ b/ZOJ/Vol 1/1067 - Color Me Less.cpp @@ -0,0 +1,56 @@ +#include +#include +#include + +using namespace std; + +struct punto{ + int x,y,z; + + punto(int a, int b, int c){ + x=a; + y=b; + z=c; + } +}; + +double dist(punto &A, punto &B){ + return sqrt((A.x-B.x)*(A.x-B.x)+(A.y-B.y)*(A.y-B.y)+(A.z-B.z)*(A.z-B.z)); +} + +int main(){ + vector v; + vector u; + + int x,y,z; + + for(int i=0;i<16;i++){ + scanf("%d %d %d",&x,&y,&z); + v.push_back(punto(x,y,z)); + } + + while(1){ + scanf("%d %d %d",&x,&y,&z); + if(x==-1 && y==-1 && z==-1) break; + + u.push_back(punto(x,y,z)); + } + + double min,aux; + int ind; + + for(int i=0;i +#include + +using namespace std; + +int main(){ + int T[100][100]; + int N; + int m,a,b; + int min_time, start; + + while(1){ + scanf("%d",&N); + if(N==0) break; + + for(int i=0;i +#include +using namespace std; + +vector a; +int N; +int n; +int cont; + +void f(int x, int z){ + if(__builtin_popcount(x)==6){ + cont=0; + for(int i=0;i>N; + if(N==0) break; + if(aux) cout<>n; + a.push_back(n); + } + + f(0,-1); + aux=true; + } + return 0; +} diff --git a/ZOJ/Vol 1/1090 - The Circumference of the Circle.cpp b/ZOJ/Vol 1/1090 - The Circumference of the Circle.cpp new file mode 100755 index 0000000..165fb55 --- /dev/null +++ b/ZOJ/Vol 1/1090 - The Circumference of the Circle.cpp @@ -0,0 +1,26 @@ +#include +#include +#include + +#define PI 3.141592653589793 + +using namespace std; + +int main(){ + double x1,y1,x2,y2,x3,y3; + double a,b,c,S,R; + + while(cin>>x1>>y1>>x2>>y2>>x3>>y3){ + a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); + b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)); + c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1)); + + S=0.5*fabs(x1*y2+x2*y3+x3*y1-y1*x2-y2*x3-y3*x1); + + R=a*b*c/(4*S); + + cout< + +using namespace std; + +int solve(int s, int e){ + int meses[]={31,0,31,30,31,30,31,31,30,31,30,31}; + int cont=0; + + for(int i=s;i<=e;i++){ + if(i%4==0){ + if(i%100==0){ + if(i%400==0) meses[1]=29; + else meses[1]=28; + }else meses[1]=29; + }else meses[1]=28; + + for(int j=1;j<=12;j++){ + for(int k=1;k<=meses[j-1];k++){ + if((k*k==i%100 || k*k==i%1000) && (j*j==i%100 || j*j==i%1000)) cont++; + } + } + } + + return cont; +} + +int main(){ + int T; + scanf("%d",&T); + + int s,e; + + for(int i=0;i +#include +#include + +using namespace std; + +bool solve(vector v, int s){ + int ans=0; + + for(int i=5,k=1;i>=0;i--,k*=10){ + if(v[0][i]=='|') ans+=5*k; + + for(int j=3;j<8;j++) + if(v[j][i]=='|'){ + ans+=(j-3)*k; + break; + } + } + + return (ans==s); +} + +int main(){ + int T,x,y,s; + vector v(8); + + cin>>T; + + for(int i=0;i>x>>y; + + s=y*(y+1)/2-(x-1)*x/2; + + for(int i=0;i<8;i++) cin>>v[i]; + + if(solve(v,s)) cout<<"No mistake"< +#include +#include +#include + +using namespace std; + +int main(){ + freopen("password.in","r",stdin); + freopen("password.out","w",stdout); + + char s[100001]; + scanf("%s",s); + + int N = strlen(s),ans = 0,p = 1,l = 0; + + while(p +#include + +using namespace std; + +#define MAX_N 100000 +#define LOG2_MAXN 16 +const long long INF = 10000000001LL; + +int N,a[MAX_N]; +long long c[MAX_N+1],int_min[1<<(LOG2_MAXN+2)],int_max[1<<(LOG2_MAXN+2)]; +long long int_best[1<<(LOG2_MAXN+2)]; + +void build_tree(int node, int lo, int hi){ + if(lo==hi){ + if(lo!=0){ + int_min[node] = c[lo-1]; + int_max[node] = c[lo]; + int_best[node] = c[lo]-c[lo-1]; + }else{ + int_min[node] = 0; + int_max[node] = 0; + int_best[node] = 0; + } + }else{ + int mi = (lo+hi)>>1; + build_tree(2*node+1,lo,mi); + build_tree(2*node+2,mi+1,hi); + + int_min[node] = min(int_min[2*node+1],int_min[2*node+2]); + int_max[node] = max(int_max[2*node+1],int_max[2*node+2]); + int_best[node] = max(int_max[2*node+2]-int_min[2*node+1], + max(int_best[2*node+1],int_best[2*node+2])); + } +} + +void init(){ + c[0] = 0; + for(int i = 0;i>1; + + if(mi=e) return tree_query(2*node+1,lo,mi); + else{ + long long val1 = tree_query(2*node+1,lo,mi); + long long val2 = tree_query(2*node+2,mi+1,hi); + return max(val1,val2); + } + } +} + +// Los índices van de 1 a N +long long solve_msq(int x, int y){ + minPrefix = INF; + s = x; e = y; + return tree_query(0,0,N); +} + +int main(){ + freopen("sequencequery.in","r",stdin); + freopen("sequencequery.out","w",stdout); + + int Q,x,y; + + scanf("%d %d",&N,&Q); + for(int i = 0;i + +using namespace std; + +struct Node{ + Node* links[2]; + int ind; + + Node(){ + ind = -1; + links[0] = NULL; + links[1] = NULL; + } +}; + +class Tree{ + public : + + Node* root; + + Tree(){ + root = new Node(); + } + + void insert(int ind, int num){ + Node *t = root; + + for(int i = 21;i>=0;--i){ + int aux = ((num & (1<links[aux]==NULL) t->links[aux] = new Node(); + t = t->links[aux]; + t->ind = ind; + } + } + + int findBest(int num){ + Node *t = root; + + for(int i = 21;i>=0;--i){ + int aux = ((num & (1<links[aux]!=NULL) t = t->links[aux]; + else t = t->links[aux ^ 1]; + } + + return t->ind; + } +}; + +int main(){ + freopen("xormax.in","r",stdin); + freopen("xormax.out","w",stdout); + + int N; + scanf("%d",&N); + + int a[N]; + for(int i = 0;iinsert(0,0); + + for(int i = 1;i<=N;++i){ + int ret = myTree->findBest(c[i]); + + if((c[i] ^ c[ret])>ans){ + ans = (c[i] ^ c[ret]); + s = ret+1; + e = i; + } + + myTree->insert(i,c[i]); + } + + delete myTree; + + printf("%d %d %d\n",ans,s,e); + + return 0; +} diff --git a/infoarena/Archivo educacional/biconexe.cpp b/infoarena/Archivo educacional/biconexe.cpp new file mode 100755 index 0000000..5cf4f58 --- /dev/null +++ b/infoarena/Archivo educacional/biconexe.cpp @@ -0,0 +1,80 @@ +#include +#include +#include +#include +#include + +using namespace std; + +#define MAXN 100000 + +int V; +vector adj[MAXN]; +int dfn[MAXN],low[MAXN]; +vector< vector > C; +stack< pair > stk; + +void cache_bc(int x, int y){ + vector com; + int tx,ty; + + do{ + tx = stk.top().first, ty = stk.top().second; + stk.pop(); + com.push_back(tx), com.push_back(ty); + }while(tx!=x || ty!=y); + + C.push_back(com); +} + +void DFS(int cur, int prev, int number){ + dfn[cur] = low[cur] = number; + + for(int i = adj[cur].size()-1;i>=0;--i){ + int next = adj[cur][i]; + if(next==prev) continue; + if(dfn[next]==-1){ + stk.push(make_pair(cur,next)); + DFS(next,cur,number+1); + low[cur] = min(low[cur], low[next]); + if(low[next]>=dfn[cur]) cache_bc(cur,next); + }else low[cur] = min(low[cur],dfn[next]); + } +} + +void biconnected_components(){ + memset(dfn,-1,sizeof(dfn)); + C.clear(); + DFS(0,0,0); + + int comp = C.size(); + + printf("%d\n",comp); + + for(int i = 0;i +#include +#include +#include + +using namespace std; + +#define MAX_V 100010 + +int N,deg[MAX_V]; +list G[MAX_V],L; +bool visited[MAX_V]; +stack S; +queue Q; + +bool connected(){ + int cont = 0; + + Q.push(0); + visited[0] = true; + + while(!Q.empty()){ + int v = Q.front(); Q.pop(); + ++cont; + + for(list::iterator w = G[v].begin();w!=G[v].end();++w){ + if(!visited[*w]){ + visited[*w] = true; + Q.push(*w); + } + } + } + + return cont==N; +} + +bool eulerian(){ + if(!connected()) return false; + + for(int v = 1;v<=N;++v) + if(deg[v]&1) + return false; + + return true; +} + +void take_edge(int v, int w){ + --deg[v]; --deg[w]; + G[v].pop_front(); + + for(list::iterator it = G[w].begin();it!=G[w].end();++it){ + if(*it==v) { + G[w].erase(it); + break; + } + } +} + +void euler(int v){ + while(true) { + if(G[v].empty()) break; + int w = G[v].front(); + S.push(v); + take_edge(v,w); + v = w; + } +} + +bool find_cycle(){ + if(!eulerian()) return false; + + int v = 0; + + do{ + euler(v); + v = S.top(); S.pop(); + L.push_back(v); + }while(!S.empty()); + + return true; +} + +void print_cycle(){ + if(!find_cycle()) printf("-1\n"); + else{ + for(list::iterator v = L.begin();v!=L.end();++v) + printf("%d ",1+(*v)); + printf("\n"); + } +} + +int main() { + freopen("ciclueuler.in","r",stdin); + freopen("ciclueuler.out","w",stdout); + + int M,u,v; + scanf("%d %d",&N,&M); + + while(M--){ + scanf("%d %d",&u,&v); + --u; --v; + G[u].push_back(v); + G[v].push_back(u); + ++deg[u]; ++deg[v]; + } + + print_cycle(); + + return 0; +} diff --git a/infoarena/Archivo educacional/cmap.cpp b/infoarena/Archivo educacional/cmap.cpp new file mode 100755 index 0000000..776c983 --- /dev/null +++ b/infoarena/Archivo educacional/cmap.cpp @@ -0,0 +1,53 @@ +#include +#include +#include +#include + +using namespace std; + +#define MAX_N 100000 +#define px second +#define py first +typedef pair point; + +int N; +point P[MAX_N]; +set box; + +bool compare_x(point a, point b){ return a.pxret) box.erase(P[left++]); + for(set :: iterator it = box.lower_bound(make_pair(P[i].py-ret,P[i].px-ret)); + it!=box.end() && P[i].py+ret>=(*it).py;++it) + ret = min(ret, dist(P[i],*it)); + box.insert(P[i]); + } + + return ret; +} + +int main(){ + freopen("cmap.in","r",stdin); + freopen("cmap.out","w",stdout); + + scanf("%d",&N); + for(int i = 0;i +#include +#include + +using namespace std; + +#define MAX_V1 10000 +#define MAX_V2 10000 +#define MAX_E 100000 + +int V1,V2,l[MAX_V1],r[MAX_V2]; +int E,to[MAX_E],next[MAX_E],last[MAX_V1]; +bool visited[MAX_V1]; + +void init(){ + memset(last,-1,sizeof(int)*V1); + E = 0; +} + +void add_edge(int u, int v){ + to[E] = v, next[E] = last[u]; last[u] = E; ++E; +} + +bool pairup(int u){ + if (visited[u]) return false; + visited[u] = true; + + for(int e = last[u];e!=-1;e = next[e]){ + int v = to[e]; + + if(r[v]==-1 || pairup(r[v])){ + l[u] = v; + r[v] = u; + return true; + } + } + + return false; +} + +int hopcroft_karp(){ + bool change = true; + memset(l,-1,sizeof(int)*V1); + memset(r,-1,sizeof(int)*V2); + + while(change){ + change = false; + memset(visited,false,sizeof(bool)*V1); + + for(int i = 0;i +#include + +using namespace std; + +int main(){ + freopen("euclid2.in","r",stdin); + freopen("euclid2.out","w",stdout); + + int T,a,b; + scanf("%d",&T); + + while(T--){ + scanf("%d %d",&a,&b); + printf("%d\n",__gcd(a,b)); + } + + return 0; +} + diff --git a/infoarena/Archivo educacional/euclid3.cpp b/infoarena/Archivo educacional/euclid3.cpp new file mode 100755 index 0000000..2ff7f9e --- /dev/null +++ b/infoarena/Archivo educacional/euclid3.cpp @@ -0,0 +1,38 @@ +#include + +using namespace std; + +struct EuclidReturn{ + int u,v,d; + + EuclidReturn(int _u, int _v, int _d){ + u = _u; v = _v; d = _d; + } +}; + +EuclidReturn Extended_Euclid(int a, int b){ + if(b==0) return EuclidReturn(1,0,a); + + EuclidReturn aux = Extended_Euclid(b,a%b); + int v = aux.u-(a/b)*aux.v; + return EuclidReturn(aux.v,v,aux.d); +} + +int main(){ + freopen("euclid3.in","r",stdin); + freopen("euclid3.out","w",stdout); + + int T,a,b,c; + scanf("%d",&T); + + while(T--){ + scanf("%d %d %d",&a,&b,&c); + + EuclidReturn ret = Extended_Euclid(a,b); + + if(c%ret.d!=0) printf("0 0\n"); + else printf("%d %d\n",ret.u*(c/ret.d),ret.v*(c/ret.d)); + } + + return 0; +} diff --git a/infoarena/Archivo educacional/fmcm.cpp b/infoarena/Archivo educacional/fmcm.cpp new file mode 100755 index 0000000..52bfe93 --- /dev/null +++ b/infoarena/Archivo educacional/fmcm.cpp @@ -0,0 +1,132 @@ +#include +#include +#include +#include +#include + +using namespace std; + +#define MAX_V 350 +#define MAX_E 2*12500 + +typedef int cap_type; +typedef long long cost_type; +const cost_type INF = LLONG_MAX; + +int V,E,prev[MAX_V],last[MAX_V],to[MAX_E],next[MAX_E]; +bool visited[MAX_V]; +cap_type flowVal, cap[MAX_E]; +cost_type flowCost,cost[MAX_E],dist[MAX_V],pot[MAX_V]; + +void init(int _V){ + memset(last,-1,sizeof(last)); + V = _V; E = 0; +} + +void add_edge(int u, int v, cap_type capacity, cost_type cst){ + to[E] = v, cap[E] = capacity; + cost[E] = cst, next[E] = last[u]; + last[u] = E++; + to[E] = u, cap[E] = 0; + cost[E] = -cst, next[E] = last[v]; + last[v] = E++; +} + +bool BellmanFord(int s, int t){ + bool stop = false; + for(int i = 0;i0 && dist[u]!=INF && dist[u]+cost[j] > Q; + Q.push(make_pair(0,s)); + dist[s] = prev[s] = 0; + + while(!Q.empty()){ + int aux = Q.top().second; + Q.pop(); + + if(visited[aux]) continue; + visited[aux] = true; + + for(int e = last[aux];e!=-1;e = next[e]){ + if(cap[e]<=0) continue; + cost_type new_dist = dist[aux]+cost[e]+pot[aux]-pot[to[e]]; + if(new_dist +#include +#include + +using namespace std; + +struct flow_graph{ + int MAX_V,E,s,t,head,tail; + int *cap,*to,*next,*last,*dist,*q,*now; + + flow_graph(){} + + flow_graph(int V, int MAX_E){ + MAX_V = V; E = 0; + cap = new int[2*MAX_E], to = new int[2*MAX_E], next = new int[2*MAX_E]; + last = new int[MAX_V], q = new int[MAX_V]; + dist = new int[MAX_V], now = new int[MAX_V]; + fill(last,last+MAX_V,-1); + } + + void clear(){ + fill(last,last+MAX_V,-1); + E = 0; + } + + void add_edge(int u, int v, int uv, int vu = 0){ + to[E] = v, cap[E] = uv, next[E] = last[u]; last[u] = E++; + to[E] = u, cap[E] = vu, next[E] = last[v]; last[v] = E++; + } + + bool bfs(){ + fill(dist,dist+MAX_V,-1); + head = tail = 0; + + q[tail] = t; ++tail; + dist[t] = 0; + + while(head0 && dist[to[e]]==-1){ + q[tail] = to[e]; ++tail; + dist[to[e]] = dist[v]+1; + } + } + } + + return dist[s]!=-1; + } + + int dfs(int v, int f){ + if(v==t) return f; + + for(int &e = now[v];e!=-1;e = next[e]){ + if(cap[e]>0 && dist[to[e]]==dist[v]-1){ + int ret = dfs(to[e],min(f,cap[e])); + + if(ret>0){ + cap[e] -= ret; + cap[e^1] += ret; + return ret; + } + } + } + + return 0; + } + + int max_flow(int source, int sink){ + s = source; t = sink; + int f = 0,x; + + while(bfs()){ + for(int i = 0;i + +using namespace std; + +int main(){ + ifstream in("ssm.in"); + + int N,a; + in>>N>>a; + + int ans = a,s = 0,n = 1,best = a,s2 = 0,n2 = 1; + + for(int i = 1;i>a; + + if(best<0){ + best = a; + s2 = i; + n2 = 1; + }else{ + best += a; + ++n2; + } + + if(best>ans){ + ans = best; + s = s2; + n = n2; + } + } + + ofstream out("ssm.out"); + out<