Skip to content

ketankr9/cses-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Utsav Krishnan
Jun 6, 2021
a44a227 · Jun 6, 2021

History

29 Commits
May 30, 2021
May 30, 2021
Jun 6, 2021
May 30, 2021
May 30, 2021
May 30, 2021
Jun 6, 2021
May 30, 2021
May 30, 2021
May 30, 2021
May 30, 2021
Mar 11, 2020
Mar 7, 2020

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 e q u a t i o n from problem statement. Eg 1 n 10 6 UPDATE: Done