Codechef
No description provided
Details
Installs
- Total 735
- Win 269
- Mac 311
- Linux 155
Nov 21 | Nov 20 | Nov 19 | Nov 18 | Nov 17 | Nov 16 | Nov 15 | Nov 14 | Nov 13 | Nov 12 | Nov 11 | Nov 10 | Nov 9 | Nov 8 | Nov 7 | Nov 6 | Nov 5 | Nov 4 | Nov 3 | Nov 2 | Nov 1 | Oct 31 | Oct 30 | Oct 29 | Oct 28 | Oct 27 | Oct 26 | Oct 25 | Oct 24 | Oct 23 | Oct 22 | Oct 21 | Oct 20 | Oct 19 | Oct 18 | Oct 17 | Oct 16 | Oct 15 | Oct 14 | Oct 13 | Oct 12 | Oct 11 | Oct 10 | Oct 9 | Oct 8 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
Readme
These modifications are specific to codechef c++ programmers. May add support for other languages in future.
Build system
see codechef/codechef_c++.sublime-build. This adds a codechef specific build system to your sublime text. to use this build system for C++, use tools->build system->codechef_c++. make sure that: * You have g++ in your path. I recommend installing dev-c++ and adding C:\Dev-Cpp\bin to your path. You can also use cygwin and keep its g++ in path but I was getting “Access denied” when compiling with cygwin's g++ so I used Dev-C++. * You have an input file(txt) with the same base name as your cpp file. so if your cpp file is my.cpp then the there should be a my.txt file in the same directory * The full path to your cpp file does not have any spaces.
After setting the build system, you can just do Ctrl+Shift+B
and see the program output just below the editing area
NOTE: while compiling the DEBUG
flag will be on. So you can surround any dirty printing in #define DEBUG ... #endif
Snippet
see codechef/codechef_c++.sublime-snippet. This adds a new snippet for your cpp files.
Usage
- open a .cpp file. If you are making a new file, first save it with cpp extension.
- type codechef, you will see a suggestion kind of dropdown, press enter on that
- navigate with
tab
andshift+tab
between the provided places. You can still move between after modifying one of them - Write additional
#include
s in the first place, if any. if not, move forward withtab
- Second place is for your structs and typedefs. Hopefully by the time you reach here, you have already thought of the data structure you are going to use.
- Usually codechef has number of test cases as the first line. If it isn't there in the question, Just leave it be. What you can do here is to change the name of this variable.
Next you enter the variables which will be scanned once every test case. try entering any of these and you'll understand.
int a,b,c; long long int a,b,c; long long int a, b; int c,d; long long a,b; int c,d; long long int w;
Use only
int
,long long
orlong long int
. You see that for a variable namevar
, a statements(var)
is added.s
is a macro which scans numeric inputs efficiently. Won't work on float etc. For other than numeric types, it will add thes(var)
statement but you will have to change it accordingly(sf(var)
for float,ss(var)
for string(char[]), etc. You can look these up in the code.)If you have any other need of global variables, put them here
You can change the namespace.
If the input has number of test cases first, press
tab
to move forward, otherwise change it however you wantchange scanning functions appropriately
Write your computation for a single loop. This is intented to be your top level logic. You don't need to go up in the code to define auxiliary functions. First write this part and later define other functions in the next step
Define additional functions
Tips
- To print arbitrary number of variables(debugging) use
debug(a,b,c /*and any more variables comma separated*/)
. You don't even need to remove yourdebug
statements. No printing will occur in production. vector
,set
ormap
can be printed easily bycout<<v
. You can even pas avector
,set
ormap
todebug
as one of its arguments
How to Install
to install, download the zip, extract it and copy the extracted directory to your packages directory. On windows, packages directory is at %appdata%\Sublime Text 2\Packages
. Make sure your structure looks like this:
Packages
|
|-SublimeCodechef
|
|--codechef_c++.sublime-build
|--codechef_c++.sublime-snippet
Any suggestions are welcome!
Acknowledgement: partly taken from Nikhil Garg's Answer on quora