GithubHelp home page GithubHelp logo

bowlofstew / acm-icpc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from brockcsc/acm-icpc

0.0 0.0 0.0 6.1 MB

:trophy: ACM International Collegiate Programming Contest

Home Page: https://groups.google.com/group/brock-acm-icpc

C++ 60.33% Java 37.37% C 2.30%

acm-icpc's Introduction

acm-icpc logo

What is this?

A repository along with a wiki for the Brock ICPC team or students with interest in the ICPC.

Post your solutions, libraries, guides, tutorials, or anything you think is helpful.

IMPORTANT: I'm looking for someone (preferably at Brock) to adopt this project and maintain it. Please contact me if interested. This repo could use some cleaning and a lot more solved problems.

Getting Started

  1. Subscribe to the Brock ACM-ICPC mailing list.
  2. Read the wiki. Anyone can edit the wiki.

Contributing

  • Members of the BrockCSC organization have push and pull access and just need to clone this repo.
  • Non-members will have to fork it and send a pull request.
  • If you have no idea what any of that means, read through the tutorials at http://help.github.com.
  • Bonus points if you explain how you solved the problem

Java Tips

  • For your submission to an online judge to work, you must name your source file Main.java (but not during actual competition, then you must name it after the problem letter). Put everything inside this file, do not use separate files for classes.
  • Input comes from System.in, output goes to System.out
  • To compile your Java source file: javac Main.java
  • To run and test your program: java Main < input.dat
  • You can combine these for ease: javac Main.java && java Main < input.dat

C++ Tips

  • Name your source file after the problem number (in actual competition it needs to be after the problem letter).
  • Input comes from stdin (std::cin), output goes to stdout (std::cout)
  • To compile your C++ source file: g++ 001.cc -o 001
  • Note that online judges will use these compiler options: -lm -lcrypt -O2 -pipe -DONLINE_JUDGE
  • To run and test your program: ./001 < 001.dat
  • You can combine these for ease: g++ 001.cc -o 001 && ./001 < 001.dat

General Tips

  • Practice! It's the most effective way to improve.
    • Find problems here.
    • You get the most out of practice if you imitate contest conditions.
  • Identify the easier problems and solve those first.
    • Look at the live scoreboard to see which problems are quickly and often solved.
  • Use multiple terminal windows. Having to close your editor every time to compile and run your program is slow.
  • Have one person type up all sample input and I/O code beforehand, while the others look at the problem set.
  • Know each other's strengths and weaknesses. Consider specialized roles vs multipurpose.
  • Communicate with your teammates, but don't distract them.
  • Don't get tunnel vision. If you get stuck on a problem, have a teammate look at it or attempt another problem if there is enough remaining time.
  • Practice writing actual, compilable code on paper. Avoid pseudocode. It will save you a lot of time.
  • Choose your printed notes wisely and know how/when to reference them.
  • Don't debug at the computer. Print your code and switch spots with a teammate.
  • You can break coding guidelines & styleguides for contest settings, so it's okay to use
    • GOTOs
    • structs
    • hard to read code (keep in mind a teammate will need to understand your code if you need help)
    • code templates that contain "ugly" code (e.g. #define, typedef)
    • global variables
    • public scope for everything

acm-icpc's People

Contributors

dideler avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.