1 / 14

ACM Programming Contest: Sharpen Your Skills

Join the ACM Programming Contest and showcase your programming prowess in a challenging 5-hour competition. Teams of three compete to solve a set of problems using languages like C, C++, and Java. Practice standard algorithms, hone your problem-solving skills, and compete for top rankings based on correct solutions and penalty minutes. Enhance your strategy, teamwork, and coding abilities in this thrilling event!

jorlando
Download Presentation

ACM Programming Contest: Sharpen Your Skills

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACM Programming Contest Nov 3, 2007

  2. Introduction • ACM organized such contests from1977 • Contest • Regional Qualifying • Final • Purpose • provides college students with the opportunity to demonstrate and sharpen their programming skills

  3. Introduction • The contest • 3 persons +1 computer • 5 hours • Input: a set of problems • Output: Programs (in C, C++, Java etc) • Communication: • In team • With officials • Nobody else

  4. Process • When you have solution, runner will send it to judge • Judge will run it under blink test data • It produces correct output, then it is correct • Otherwise (wrong output, wrong format, compile error, runtime error), incorrect • The result will be sent back to team in timely manner • Team may resubmit the solution

  5. Score • the number of problems correctly solved • the time from the beginning of the contest to the submission of a correct solution for each problem • the number of incorrect submissions to a problem for which a correct solution is eventually submitted

  6. Score • First, teams are ranked in order of the number of correct solutions • When two or more teams have the same number of correct solutions, they are further ranked by penalty minutes computed as the sum of • for each solved problem, the number of minutes from the beginning of the contest until the correct solution was submitted • for each solved problem, 20 minutes for each incorrect solution submitted before the correct solution

  7. The questions • Draw from high school and college mathematics and computing • As well as everyday knowledge and problem solving

  8. Strategy • Good teamwork is essential • Only one PC is available • Your individual skills are as honed as possible • Knowledge • Standard algorithms and the ability to find an appropriate algorithm for every problem in the set; • Ability to code an algorithm into a working program; • Having a strategy of cooperation with your teammates.

  9. Strategy • Five main categories of problems • Search problems • These involve checking a large number of situations in order to find the best way in which something can be done • Graph problems • The problems have a special structure so they can be represented as a graph-theoretical problem for which standard algorithms are available

  10. Strategy • Five main categories of problems • Geometrical problems • These involve geometrical shapes, lines, and angles • Trivial problems • The choice of appropriate algorithm is clear, but these usually take quite a long time to program carefully • Non-standard problems

  11. Team Strategy • There is only one computer • So it has to be shared • The problems have to be distributed in some way • Specialization'' is a good way of using the inherent synergy • If each team member is an expert for a certain category of problem

  12. Team Strategy • Maybe one of the team is a great programmer but has poor analytical skills, • Combining these skills will lead to bug-free solutions for difficult problems • Another way to use synergy is to have two people analyze the problem set

  13. Team Strategy • Most efficient way to write a program is to write it alone • avoid communication overhead and the confusion caused by differing programming styles • Other considerations

  14. Next Week • 3:30pm Room NW204 • Actual programming questions, strategy and solutions are on the websites: http://people.auc.ca/xu/ProgrammingContest.html http://acm.ashland.edu/2005/problem-set.html

More Related