proconio.jl
Easy IO handler for competitive programming in Julia.
Science Score: 41.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
1 of 1 committers (100.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.8%) to scientific vocabulary
Repository
Easy IO handler for competitive programming in Julia.
Basic Info
- Host: GitHub
- Owner: lucifer1004
- License: mit
- Language: Julia
- Default Branch: main
- Size: 105 KB
Statistics
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
- Releases: 1
Metadata Files
README.md
ProconIO.jl
Inspired by proconio-rs, I wrote this package to handle inputs for competitive programming contests.
The usage is similar to proconio-rs. You need to specify the variable name and its structure.
julia
@input a = Int
Multiple variables need to be nested in a block.
julia
@input begin
a = Char
b = Float32
c = (Int, Char)
d = String
e = Bool
end
Arrays need to be specified in the form of [type; shape].
julia
@input begin
a = [Int; 3]
b = [Float32; (2, 3)]
end
Complex structures can also be handled.
julia
@input a = [(Int, [Int; (2, 2)], Char); (2, 2)]
In CP, the size of arrays is usually specified by the input itself. This can be handled by using variables already read in.
Note that ProconIO.jl follows Julia's column-major convention, instead of the row-major which is commonly used in CP. So you may need to swap the row and column indices when reading the array.
julia
@input begin
n = Int
m = Int
v = [Int; (m, n)]
end
If you prefer a row-major flavor, you can use a vector of vectors instead.
julia
@input begin
n = Int
m = Int
v = [[Int; m]; n]
end
Sometimes the input is a vector of variable-length vectors. This can be handled by leaving out the shape and reading it from the input instead. The following code reads in a vector of n variable-length vectors.
julia
@input begin
n = Int
v = [[Int; ]; n]
end
Owner
- Name: Gabriel Wu
- Login: lucifer1004
- Kind: user
- Location: Beijing, China
- Company: @NVIDIA
- Website: https://cp-wiki.gabriel-wu.com/
- Twitter: gabriel_wzh
- Repositories: 236
- Profile: https://github.com/lucifer1004
DevTech Compute @ NVIDIA
Citation (CITATION.bib)
@misc{ProconIO.jl,
author = {Gabriel Wu <wuzihua@pku.edu.cn> and contributors},
title = {ProconIO.jl},
url = {https://github.com/lucifer1004/ProconIO.jl},
version = {v0.1.0},
year = {2022},
month = {8}
}
GitHub Events
Total
Last Year
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Gabriel Wu | w****a@p****n | 9 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 1
- Total pull requests: 1
- Average time to close issues: less than a minute
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 1.0
- Average comments per pull request: 1.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- JuliaTagBot (1)
Pull Request Authors
- renovate[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- codecov/codecov-action v2 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite