Skip to content

ketankr9/cses-cli

Repository files navigation

cses-cli Go

solve cses.fi problemset via command line. Inspired from awesome leetcode-cli.

How to use cses-cli

  • Download the required binary from https://github.com/ketankr9/cses-cli/releases
  • Install lynx. For ubuntu use sudo apt install lynx
  • Rename the binary to cses-cli and move it to PATH
  • Just type these command in the terminal one by one and you will understand how to use it.
cses-cli login cses-cli list cses-cli show 1742 cses-cli solve 1742 cses-cli submit 1742.Robot-Path.cpp 

Auto Commit to your GitHub Repository (if needed)

  • Obtain access token for your repo. See how to get token
  • Note: Please make sure that your repo has at least one commit.
  • Configure cses-cli for github as follows.
$$$ cses-cli github Token: 1f10d6065e78a2654a14xxxxxxxxxxxxxxxxxxxx Repository: cses-solutions Github Username: ketankr9 Github Email: ketan.krishnan.xxxxx@iitbhu.ac.in 

Configuration

Custom Template: Create a file named template.cpp, template.py, template.java, template.js for respective languages in the working directory to use this feature.
Languages Supported: cpp(C++17) [default], java, python(CPython3), javascript(Node.js)
Also you can manually edit the config at ~/.cses/config.json

$$$ cat template.cpp #include<bits/stdc++.h> using namespace std; #define pr pair<int, int> #define f first #define s second #define mk make_pair int main(){	return 0; } $$$ cat ~/.cses/config.json { "csrf": "3e236b578af1e020070281xxxxxxxxxx", "username": "test123xyz", "cookie": "PHPSESSID=e17c5cae7fcxxxxxxxxxa7d14ee120fc4fb859c; path=/", "root": "/home/username/.cses", "editor": "atom", "lang": "java", "github": { "token": "1f10d6065e78a2654a14xxxxxxxxxxxxxxxxxxxx", "repository": "cses-solutions", "username": "ketankr9", "email": "ketan.krishnan.xxxxx@iitbhu.ac.in" } } 

Screenshot

$$$ cses-cli login Username: test123xyz Password: [<DELETED>] Logged in successfully $$$ cses-cli list	✔ [1068] Weird Algorithm (95.6 %)	✘ [1083] Missing Number (92.1 %)	- [1069] Repetitions (93.9 %)	- [1094] Increasing Array (96.0 %)	- [1070] Permutations (96.4 %)	- [1071] Number Spiral (93.1 %)	- [1072] Two Knights (93.3 %)	- [1092] Two Sets (94.1 %)	- [1617] Bit Strings (96.0 %)	- [1618] Trailing Zeros (94.1 %) [<DELETED>] $$$ cses-cli show 1068 CSES - Weird Algorithm * Time limit: 1.00 s * Memory limit: 512 MB Consider an algorithm that takes as input a positive integer $n$. If $n$ is even, the algorithm divides it by two, and if $n$ is odd, the algorithm multiplies it by three and adds one. The algorithm repeats this, until $n$ is one. For example, the sequence for $n=3$ is as follows: [ 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1] Your task is to simulate the execution of the algorithm for a given value of $n$. Input The only input line contains an integer $n$. Output Print a line that contains all values of $n$ during the algorithm. Constraints * $1 ≤ n ≤ 10^6$ Example Input: 3 Output: 3 10 5 16 8 4 2 1 //below command also opens editor with problem statement and code stub $$$ cses-cli solve 1068 CSES - Weird Algorithm * Time limit: 1.00 s * Memory limit: 512 MB Consider an algorithm that takes as input a positive integer $n$. If $n$ is even, the algorithm divides it by two, and if $n$ is odd, the algorithm multiplies it by three and adds one. The algorithm repeats this, until $n$ is one. For example, the sequence for $n=3$ is as follows: [ 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1] Your task is to simulate the execution of the algorithm for a given value of $n$. Input The only input line contains an integer $n$. Output Print a line that contains all values of $n$ during the algorithm. Constraints * $1 ≤ n ≤ 10^6$ Example Input: 3 Output: 3 10 5 16 8 4 2 1 $$$ cses-cli submit 1068.Weird-Algorithm.cpp Task:Weird Algorithm Sender:test123xyz Submission time:2020-03-07 13:56:29 Language:C++17 Status:READY Result:ACCEPTED Github: cses-solutions ✔ 

I will add support for these features only if people show some love to this repo since current commit suffices my need.

  • Supports only C++ currently, will add support for other languages on request. UPDATE: Done
  • A modifiable template code file. UPDATE: Done
  • Auto commit to Github repository UPDATE: Done
  • Clean LaTex based $equation$ from problem statement. Eg $1 ≤ n ≤ 10^6$ UPDATE: Done