From 4689787f26cd6cb99075630ffb47009a3bdd47de Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sat, 22 Jun 2019 15:58:35 +0800 Subject: [PATCH 01/28] Create ja template --- Cargo.lock | 617 +++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 74 +++++ README.md | 39 ++- rust-toolchain | 1 + src/main.rs | 24 ++ tests/sample_inputs.rs | 48 ++++ 6 files changed, 801 insertions(+), 2 deletions(-) create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 rust-toolchain create mode 100644 src/main.rs create mode 100644 tests/sample_inputs.rs diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..c7b802d --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,617 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "aho-corasick" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "arrayvec" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atcoder-rust-base" +version = "0.1.0" +dependencies = [ + "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", + "bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)", + "cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "modtype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "proconio 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)", + "proconio-derive 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "autocfg" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitflags" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitset-fixed" +version = "0.1.0" +source = "git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00#2d6347acd634a9cce18be6f133f64535a26a0f00" + +[[package]] +name = "byteorder" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cc" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cli_test_dir" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "either" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fs_extra" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "hashbrown" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "if_chain" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "im" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "im-rc" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itertools" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "jemalloc-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", + "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "jemallocator" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.58" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "memchr" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "modtype" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "modtype_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "modtype_derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.37 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "nodrop" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-complex" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ordered-float" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "permutohedron" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "proc-macro2" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proconio" +version = "0.1.0" +source = "git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201#2115d40ffe9c07edbb9aff99b9f2008690fad201" +dependencies = [ + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proconio-derive 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)", +] + +[[package]] +name = "proconio-derive" +version = "0.1.0" +source = "git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201#2115d40ffe9c07edbb9aff99b9f2008690fad201" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.37 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_chacha" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rand_hc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_isaac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_jitter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_os" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_pcg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_xorshift" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-hash" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "sfmt" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sized-chunks" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "smallvec" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "superslice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "syn" +version = "0.15.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "typenum" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "ucd-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "utf8-ranges" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c" +"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" +"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf" +"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" +"checksum bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)" = "" +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" +"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d" +"checksum cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc63338a59538d4f4b767dfb6082e4d26736aadb5100894b76039a04d6ad519" +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" +"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" +"checksum hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9529213c67695ca2d146e6f263b7b72df8fa973368beadf767e8ed80c03f2f36" +"checksum if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c3360c7b59e5ffa2653671fb74b4741a5d343c03f331c0a4aeda42b5c2b0ec7d" +"checksum im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8db49f8bc08d5cc4e2bb0f7d25a6d1db2c79bc6f7d7c86c96c657eb3d214125f" +"checksum im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806" +"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" +"checksum jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d3b9f3f5c9b31aa0f5ed3260385ac205db665baa41d49bb8338008ae94ede45" +"checksum jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "43ae63fcfc45e99ab3d1b29a46782ad679e98436c3169d15a167a1108a724b69" +"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" +"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319" +"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" +"checksum modtype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "31a9d1446354937b85aa6da9f8ec09485a5fd1e169a00542e0af38bb6d48516d" +"checksum modtype_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "64b870973a3501ddbd701efcea3f28b34896eaec558db578c5bb53a341614c82" +"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" +"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db" +"checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718" +"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc" +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" +"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e" +"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454" +"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" +"checksum ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" +"checksum permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" +"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +"checksum proconio 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)" = "" +"checksum proconio-derive 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)" = "" +"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db" +"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" +"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0" +"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" +"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" +"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" +"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" +"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +"checksum regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b2f0808e7d7e4fb1cb07feb6ff2f4bc827938f24f8c2e6a3beb7370af544bdd" +"checksum regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d76410686f9e3a17f06128962e0ecc5755870bb890c34820c7af7f1db2e1d48" +"checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +"checksum sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "917a68d1eed4c3a66f75f6374adc0a0b74fc0ffa52816a4581877762a3cd1168" +"checksum sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a2a2eb3fe454976eefb479f78f9b394d34d661b647c6326a3a6e66f68bb12c26" +"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" +"checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" +"checksum syn 0.15.37 (registry+https://github.com/rust-lang/crates.io-index)" = "e11410033fd5cf69a1cf2084604e011190c56f11e08ffc53df880f5f65f1c6e4" +"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" +"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" +"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9d50aa7650df78abf942826607c62468ce18d9019673d4a2ebe1865dbb96ffde" +"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..054c054 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,74 @@ +# -*- coding:utf-8-unix -*- + +[package] +name = "{{project-name}}" +version = "0.1.0" +authors = ["{{authors}}"] +edition = "2018" + +[[bin]] +name = "main" +path = "src/main.rs" + +[dependencies] +# AtCoder 2019年言語アップデート以降に使用できるクレート + +# 競技プログラミングの入出力サポート +proconio = { git = "https://github.com/statiolake/proconio-rs", rev = "2115d40ffe9c07edbb9aff99b9f2008690fad201" } +proconio-derive = { git = "https://github.com/statiolake/proconio-rs", rev = "2115d40ffe9c07edbb9aff99b9f2008690fad201" } + +# f64のOrd/Eq実装 +# ordered-float = "=1.0.2" + +# 剰余関連。Mで割った余りを求める際に、いちいちMで...) +# modtype = "=0.2.0" + +# BitSet。C++のbitsetに相当 +# bitset-fixed = { git = "https://github.com/hatoo/bitset-fixed", rev = "2d6347acd634a9cce18be6f133f64535a26a0f00" } + +# Permutation生成。C++のnext_permutationに相当する機能を提供 +# permutohedron = "=0.2.4" + +# スライスの強化。C++のlower_bound, upper_boundに相当する機能を提供 +# superslice = "=1.0.0" + +# イテレータの強化 +# itertools = "=0.8.0" + +# 高速なハッシュ関数 +# rustc-hash = "=1.0.1" + +# 高速なHashMap +# Rust 1.36.0からは標準ライブラリのHashMapがこれに置き換わる。(AtCoder 2019年言語 +# アップデートではそれより古い1.35.0を採用) ハッシュ関数として従来のSipHashが用いられる +# ことに注意。(SipHashは暗号強度を持つため計算量が多く低速) +# hashbrown = "=0.4.0" + +# 固定配列上のベクタ。ヒープ領域でなくスタック領域にアロケートされるので高速かもしれない +# smallvec = "=0.6.10" +# arrayvec = "=0.4.10" + +# 標準ライブラリのVecやHashMapに対応する永続データ構造 +# 永続データ構造は関数型言語によく見られるデータ構造で、要素を更新しても、そのデータ構造の +# 以前のバージョンにアクセスできる。(更新の度に差分が記録されていくイメージ) +# im = "=13.0.0" # スレッドセーフ +# im-rc = "=13.0.0" # スレッドセーフでないが高速 + +# 多バイト長整数、分数、複素数など +# num = "=0.2.0" + +# RNG 疑似乱数生成器 +# rand = "=0.6.5" +# sfmt = "=0.5.0" # SIMD-oriented Fast Mersenne Twister (SFMT)のpure Rust実装。 + # 高速で高品質な疑似乱数を生成。モンテカルロ・シミュレーションに適している + +# 正規表現 +# regex = "=1.1.7" + +# 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも +# jemallocator = "0.3.2" + +# --------------------------------------------------------------------- + +[dev-dependencies] +cli_test_dir = "0.1" diff --git a/README.md b/README.md index 79ba6f1..263f3d3 100644 --- a/README.md +++ b/README.md @@ -18,8 +18,6 @@ | [ja][ja-branch] | 1.35.0 | 標準的な内容のテンプレートに日本語のソースコードコメントを付けたもの。注意:2019年言語アップデート後の環境向け。Rust 1.15.1の環境では使用できない | | [vendor-ja][vendor-ja-branch] | 1.35.0 | jaをベースに、依存するクレートのソースコードを`vendor`ディレクトリ配下に展開したもの。AtCoderの運営者が環境構築に使用できる。注意:Rust 1.15.1の環境では使用できない | -使いかたについては、テンプレートの名前をクリックして表示されたREADMEを参照してください。 - If you want a template with English source code comments, please request it to us by filing [a GitHub issue][gh-issue]. [ja-branch]: https://github.com/rust-lang-ja/atcoder-rust-base/tree/ja @@ -27,6 +25,43 @@ If you want a template with English source code comments, please request it to u [gh-issue]: https://github.com/rust-lang-ja/atcoder-rust-base/issues +## 使いかた + +### 準備:cargo-generateのインストール + +**TODO** + +### パッケージの生成 + +1. `cargo generate`コマンドでパッケージを生成します。 + + ```console + $ cargo generate --name abc086c --git https://github.com/rust-lang-ja/atcoder-rust-base --branch ja + ``` + + - `--name`: パッケージの名前。例:`abc086c` + - `--branch`: このテンプレートリポジトリのブランチ名。`ja`テンプレートを使いたいなら`ja`を指定する + +1. `Cargo.toml`ファイルを開き`[dependencies]`セクションにあるクレートのなかから、必要なものをコメントアウトします。 + +1. `tests/sample_inputs.rs`ファイルを開き、テストケースを追加します。 + +1. `src/main.rs`に解答となるプログラムを書きます。 + +1. 以下のコマンドでテストケースを実行し、テストにパスするか確認します。 + + ```console + $ cargo test -j 1 + ``` + +1. プログラムが完成したら、AtCoderに`src/main.rs`の内容を提出します。 + + +## 使用可能なクレート + +**TODO** + + ## ライセンス / License 本リポジトリの内容は **MITライセンス** のもとで公開されています。 diff --git a/rust-toolchain b/rust-toolchain new file mode 100644 index 0000000..2aeaa11 --- /dev/null +++ b/rust-toolchain @@ -0,0 +1 @@ +1.35.0 diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..478d593 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,24 @@ +// -*- coding:utf-8-unix -*- + +use proconio::input; +use proconio_derive::fastout; + +// ABC086C - Traveling +// https://atcoder.jp/contests/abs/fasks/arc089_a + +#[fastout] +fn main() { + input! { + n: usize, + mut plan: [(i32, i32, i32); n], // Vec<(i32, i32, i32)> + } + plan.insert(0, (0, 0, 0)); + let yes = plan.windows(2).all(|w| { + let (t0, x0, y0) = w[0]; + let (t1, x1, y1) = w[1]; + let time = t1 - t0; + let dist = (x1 - x0).abs() + (y1 - y0).abs(); + dist <= time && time % 2 == dist % 2 + }); + println!("{}", if yes { "Yes" } else { "No" }); +} diff --git a/tests/sample_inputs.rs b/tests/sample_inputs.rs new file mode 100644 index 0000000..5559ea7 --- /dev/null +++ b/tests/sample_inputs.rs @@ -0,0 +1,48 @@ +use cli_test_dir::*; + +const BIN: &'static str = "./main"; + +#[test] +fn sample1() { + let testdir = TestDir::new(BIN, ""); + let output = testdir + .cmd() + .output_with_stdin(r#"2 +3 1 2 +6 1 1 +"#) + .tee_output() + .expect_success(); + assert_eq!(output.stdout_str(), "Yes\n"); + assert!(output.stderr_str().is_empty()); +} + +#[test] +fn sample2() { + let testdir = TestDir::new(BIN, ""); + let output = testdir + .cmd() + .output_with_stdin(r#"1 +2 100 100 +"#) + .tee_output() + .expect_success(); + assert_eq!(output.stdout_str(), "No\n"); + assert!(output.stderr_str().is_empty()); +} + +#[test] +fn sample3() { + let testdir = TestDir::new(BIN, ""); + let output = testdir + .cmd() + .output_with_stdin(r#"2 +5 1 1 +100 1 1 +"#) + .tee_output() + .expect_success(); + assert_eq!(output.stdout_str(), "No\n"); + assert!(output.stderr_str().is_empty()); +} + From 3c13afac191915fdb1b0ae809f55f07f3ad5bce5 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sat, 22 Jun 2019 16:01:20 +0800 Subject: [PATCH 02/28] Add hyperlinks to the README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 263f3d3..e3fbb3b 100644 --- a/README.md +++ b/README.md @@ -42,11 +42,11 @@ If you want a template with English source code comments, please request it to u - `--name`: パッケージの名前。例:`abc086c` - `--branch`: このテンプレートリポジトリのブランチ名。`ja`テンプレートを使いたいなら`ja`を指定する -1. `Cargo.toml`ファイルを開き`[dependencies]`セクションにあるクレートのなかから、必要なものをコメントアウトします。 +1. [`Cargo.toml`](./Cargo.toml)ファイルを開き`[dependencies]`セクションにあるクレートのなかで必要なもののコメントを外します。 -1. `tests/sample_inputs.rs`ファイルを開き、テストケースを追加します。 +1. [`tests/sample_inputs.rs`](./tests/sample_inputs.rs)ファイルを開き、テストケースを追加します。 -1. `src/main.rs`に解答となるプログラムを書きます。 +1. [`src/main.rs`](./src/main.rs)に解答となるプログラムを書きます。 1. 以下のコマンドでテストケースを実行し、テストにパスするか確認します。 From c42b13610fa9fed8cc84323b344408688f70be21 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sun, 23 Jun 2019 20:13:18 +0800 Subject: [PATCH 03/28] Remove Cargo.lock --- .gitignore | 1 + Cargo.lock | 617 ----------------------------------------------------- 2 files changed, 1 insertion(+), 617 deletions(-) delete mode 100644 Cargo.lock diff --git a/.gitignore b/.gitignore index c7f4426..a2b3f20 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +Cargo.lock /target/ **/*.rs.bk **/*~ diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index c7b802d..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,617 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "aho-corasick" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "arrayvec" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "atcoder-rust-base" -version = "0.1.0" -dependencies = [ - "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", - "bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)", - "cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "modtype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proconio 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)", - "proconio-derive 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)", - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", - "superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "autocfg" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitflags" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitset-fixed" -version = "0.1.0" -source = "git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00#2d6347acd634a9cce18be6f133f64535a26a0f00" - -[[package]] -name = "byteorder" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cc" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cli_test_dir" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "cloudabi" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "either" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fs_extra" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "fuchsia-cprng" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "hashbrown" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "if_chain" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "im" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "im-rc" -version = "13.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "itertools" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "jemalloc-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", - "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "jemallocator" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "lazy_static" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "libc" -version = "0.2.58" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "memchr" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "modtype" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "modtype_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "modtype_derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nodrop" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "num" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", - "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-bigint" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-complex" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-integer" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-iter" -version = "0.1.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-rational" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "num-traits" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "ordered-float" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "permutohedron" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "proc-macro2" -version = "0.4.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "proconio" -version = "0.1.0" -source = "git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201#2115d40ffe9c07edbb9aff99b9f2008690fad201" -dependencies = [ - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "proconio-derive 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)", -] - -[[package]] -name = "proconio-derive" -version = "0.1.0" -source = "git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201#2115d40ffe9c07edbb9aff99b9f2008690fad201" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.37 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quote" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_chacha" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_core" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "rand_hc" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_isaac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_jitter" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_os" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_pcg" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rand_xorshift" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rdrand" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", - "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "regex-syntax" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustc-hash" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "sfmt" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "sized-chunks" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "smallvec" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "superslice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "syn" -version = "0.15.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", - "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "thread_local" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "typenum" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "ucd-util" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unicode-xid" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "utf8-ranges" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[metadata] -"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c" -"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" -"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf" -"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" -"checksum bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)" = "" -"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" -"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d" -"checksum cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc63338a59538d4f4b767dfb6082e4d26736aadb5100894b76039a04d6ad519" -"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" -"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" -"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" -"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" -"checksum hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9529213c67695ca2d146e6f263b7b72df8fa973368beadf767e8ed80c03f2f36" -"checksum if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c3360c7b59e5ffa2653671fb74b4741a5d343c03f331c0a4aeda42b5c2b0ec7d" -"checksum im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8db49f8bc08d5cc4e2bb0f7d25a6d1db2c79bc6f7d7c86c96c657eb3d214125f" -"checksum im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806" -"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" -"checksum jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d3b9f3f5c9b31aa0f5ed3260385ac205db665baa41d49bb8338008ae94ede45" -"checksum jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "43ae63fcfc45e99ab3d1b29a46782ad679e98436c3169d15a167a1108a724b69" -"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" -"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319" -"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" -"checksum modtype 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "31a9d1446354937b85aa6da9f8ec09485a5fd1e169a00542e0af38bb6d48516d" -"checksum modtype_derive 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "64b870973a3501ddbd701efcea3f28b34896eaec558db578c5bb53a341614c82" -"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" -"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db" -"checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718" -"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc" -"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" -"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e" -"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454" -"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" -"checksum ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" -"checksum permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" -"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proconio 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)" = "" -"checksum proconio-derive 0.1.0 (git+https://github.com/statiolake/proconio-rs?rev=2115d40ffe9c07edbb9aff99b9f2008690fad201)" = "" -"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db" -"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" -"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" -"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" -"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0" -"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" -"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" -"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" -"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" -"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" -"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" -"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" -"checksum regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b2f0808e7d7e4fb1cb07feb6ff2f4bc827938f24f8c2e6a3beb7370af544bdd" -"checksum regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d76410686f9e3a17f06128962e0ecc5755870bb890c34820c7af7f1db2e1d48" -"checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" -"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -"checksum sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "917a68d1eed4c3a66f75f6374adc0a0b74fc0ffa52816a4581877762a3cd1168" -"checksum sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a2a2eb3fe454976eefb479f78f9b394d34d661b647c6326a3a6e66f68bb12c26" -"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" -"checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" -"checksum syn 0.15.37 (registry+https://github.com/rust-lang/crates.io-index)" = "e11410033fd5cf69a1cf2084604e011190c56f11e08ffc53df880f5f65f1c6e4" -"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" -"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" -"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" -"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" -"checksum utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9d50aa7650df78abf942826607c62468ce18d9019673d4a2ebe1865dbb96ffde" -"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" -"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" From 17f6cfd6d11b646ea1786f4bf2b82b8ef425b321 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sun, 23 Jun 2019 20:13:35 +0800 Subject: [PATCH 04/28] Update modtype to 0.3.0 --- Cargo.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 054c054..3a0bef4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,8 +20,9 @@ proconio-derive = { git = "https://github.com/statiolake/proconio-rs", rev = "21 # f64のOrd/Eq実装 # ordered-float = "=1.0.2" -# 剰余関連。Mで割った余りを求める際に、いちいちMで...) -# modtype = "=0.2.0" +# 剰余関連。普通の整数型などと同じ感覚で扱うだけで自動的にmodを取ってくれる +# 答えの整数をMで割った余りが要求される設問で便利 +# modtype = "=0.3.0" # BitSet。C++のbitsetに相当 # bitset-fixed = { git = "https://github.com/hatoo/bitset-fixed", rev = "2d6347acd634a9cce18be6f133f64535a26a0f00" } From d69b0afa85e963886522373c65f24e1c612c478e Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Mon, 24 Jun 2019 08:55:44 +0800 Subject: [PATCH 05/28] Update README.md --- README.md | 114 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 84 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index e3fbb3b..0bd6cfa 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,24 @@ -# AtCoder Rust Base +# AtCoder Rust Base (`ja`テンプレート) -このリポジトリは[AtCoder][atcoder]コンテスト(競技プログラミング)にRustで参加するためのCargoパッケージテンプレートです。 -パッケージの作成は[cargo-generate][cargo-generate-crate]で行います。 +このリポジトリには[AtCoder][atcoder]コンテスト(競技プログラミング)にRustで参加するためのCargoパッケージテンプレートが用意されています。 +パッケージは[cargo-generate][cargo-generate-crate]で作成します。 + +**この`README.md`では`ja`テンプレートの内容について説明します**。 +他のテンプレートについては[こちら][list-of-templates]をご覧ください。 [atcoder]: https://atcoder.jp [cargo-generate-crate]: https://crates.io/crates/cargo-generate +[list-of-templates]: https://github.com/rust-lang-ja/atcoder-rust-base/blob/master/README.md#用意されているテンプレート -## 用意されているテンプレート - -以下のテンプレートが用意されています。 - -| 名前 | Rustバージョン | 内容 | -|:-- |:--:|:-- | -| [ja][ja-branch] | 1.35.0 | 標準的な内容のテンプレートに日本語のソースコードコメントを付けたもの。注意:2019年言語アップデート後の環境向け。Rust 1.15.1の環境では使用できない | -| [vendor-ja][vendor-ja-branch] | 1.35.0 | jaをベースに、依存するクレートのソースコードを`vendor`ディレクトリ配下に展開したもの。AtCoderの運営者が環境構築に使用できる。注意:Rust 1.15.1の環境では使用できない | +## `ja`テンプレートの内容 -If you want a template with English source code comments, please request it to us by filing [a GitHub issue][gh-issue]. +**TODO** もう少し詳しく書く -[ja-branch]: https://github.com/rust-lang-ja/atcoder-rust-base/tree/ja -[vendor-ja-branch]: https://github.com/rust-lang-ja/atcoder-rust-base/tree/vendor-ja -[gh-issue]: https://github.com/rust-lang-ja/atcoder-rust-base/issues +- AtCoder 2019年言語アップデート後の環境向け +- Rust 1.35.0 ## 使いかた @@ -31,35 +27,93 @@ If you want a template with English source code comments, please request it to u **TODO** + ### パッケージの生成 -1. `cargo generate`コマンドでパッケージを生成します。 +`cargo generate`コマンドでパッケージを生成します。 + +```console +$ cargo generate --name abc086c \ + --git https://github.com/rust-lang-ja/atcoder-rust-base \ + --branch ja +``` + +- `--name`: これから作成するパッケージの名前。好きな名前が付けられる。例:`abc086c` +- `--branch`: このテンプレートリポジトリのブランチ名。`ja`テンプレートを使うなら`ja`を指定する + + +### 解答となるプログラムの作成 + +1. 使用するクレートの選択 + - [`Cargo.toml`][cargo-toml-file]ファイルを開き`[dependencies]`セクションに書かれているクレートのなかで、必要なものがあればコメントを外します。 + - 注意:AtCoderの環境では、これら以外のクレートは使用できません。またバージョンも固定されています。 + +1. 使用するクレートのドキュメントの生成 + - 必須ではありませんが、以下のコマンドで依存クレートのドキュメントをビルドし、Webブラウザで開いておくと便利でしょう。 - ```console - $ cargo generate --name abc086c --git https://github.com/rust-lang-ja/atcoder-rust-base --branch ja - ``` + ```console + $ cargo doc --open # ドキュメントのビルドし、ビルドできたらWebブラウザで開く + # または + $ cargo doc # ドキュメントのビルドのみ行う + ``` - - `--name`: パッケージの名前。例:`abc086c` - - `--branch`: このテンプレートリポジトリのブランチ名。`ja`テンプレートを使いたいなら`ja`を指定する +1. テストケースの作成 + - [`tests/sample_inputs.rs`](./tests/sample_inputs.rs)ファイルには、ひな型となるテストケースが用意されています。 + - AtCoderの問題文に書かれているサンプル入出力をこのファイルに書き写します。 + これにより、`cargo test`でプログラムの動作が確認できるようになります。 -1. [`Cargo.toml`](./Cargo.toml)ファイルを開き`[dependencies]`セクションにあるクレートのなかで必要なもののコメントを外します。 +1. プログラムの作成 + - [`src/main.rs`](./src/main.rs)に解答となるプログラムを書きます。 -1. [`tests/sample_inputs.rs`](./tests/sample_inputs.rs)ファイルを開き、テストケースを追加します。 +1. テストケースの実行 + - 以下のコマンドでテストケースを実行し、テストにパスすることを確認します。 -1. [`src/main.rs`](./src/main.rs)に解答となるプログラムを書きます。 + ```console + $ cargo test -j 1 + ``` -1. 以下のコマンドでテストケースを実行し、テストにパスするか確認します。 + **実行例** - ```console - $ cargo test -j 1 - ``` + ```console + $ cargo test -j 1 + ... + Finished dev [unoptimized + debuginfo] target(s) in 25.31s + Running target/debug/deps/main-aae3efe8c7e14c29 -1. プログラムが完成したら、AtCoderに`src/main.rs`の内容を提出します。 + running 0 tests + + test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out + + Running target/debug/deps/sample_inputs-946c74199de6e6a4 + + running 3 tests + No + test sample2 ... ok + Yes + test sample1 ... ok + No + test sample3 ... ok + + test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out + ``` + + - `-j`オプションはテストケース実行の並列数を指定し、デフォルト値はCPUの論理コア数です。 + `-j 1`を指定すると、テストケースが複数あるときに、それらを1つずつ順番に実行するようになります。 + - 上の例では`No`や`Yes`のようにプログラムからの標準出力を表示しています。 + もしテストケースが並列に実行されると、複数のテストケースからの標準出力が混ざって分かりにくくなります。 + `-j 1`の指定は、このようなときに便利です。 + + +1. プログラムの提出 + - プログラムが完成したら、`src/main.rs`の内容をAtCoderに提出します。 + `AC`を目指して頑張ってください。 + +[cargo-toml-file]: ./Cargo.toml ## 使用可能なクレート -**TODO** +AtCoderの環境では、[`Cargo.toml`][cargo-toml-file]にあらかじめ書かれているクレートのみが使用できます。それら以外のクレートを追加するとコンパイルエラーになりますので注意してください。 ## ライセンス / License From 84a503ad942f5927a16c50eca7152af4cb29e73c Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Mon, 24 Jun 2019 09:02:15 +0800 Subject: [PATCH 06/28] Tweak README --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0bd6cfa..1677b59 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# AtCoder Rust Base (`ja`テンプレート) +# AtCoder Rust Base (`ja`) このリポジトリには[AtCoder][atcoder]コンテスト(競技プログラミング)にRustで参加するためのCargoパッケージテンプレートが用意されています。 パッケージは[cargo-generate][cargo-generate-crate]で作成します。 @@ -45,7 +45,7 @@ $ cargo generate --name abc086c \ ### 解答となるプログラムの作成 1. 使用するクレートの選択 - - [`Cargo.toml`][cargo-toml-file]ファイルを開き`[dependencies]`セクションに書かれているクレートのなかで、必要なものがあればコメントを外します。 + - [`Cargo.toml`][cargo-toml-file]ファイルを開き`[dependencies]`セクションに書かれているクレートのなかで必要なものがあればコメントを外します。 - 注意:AtCoderの環境では、これら以外のクレートは使用できません。またバージョンも固定されています。 1. 使用するクレートのドキュメントの生成 @@ -60,7 +60,7 @@ $ cargo generate --name abc086c \ 1. テストケースの作成 - [`tests/sample_inputs.rs`](./tests/sample_inputs.rs)ファイルには、ひな型となるテストケースが用意されています。 - AtCoderの問題文に書かれているサンプル入出力をこのファイルに書き写します。 - これにより、`cargo test`でプログラムの動作が確認できるようになります。 + これにより`cargo test`でプログラムの動作が確認できるようになります(後述)。 1. プログラムの作成 - [`src/main.rs`](./src/main.rs)に解答となるプログラムを書きます。 @@ -100,12 +100,12 @@ $ cargo generate --name abc086c \ - `-j`オプションはテストケース実行の並列数を指定し、デフォルト値はCPUの論理コア数です。 `-j 1`を指定すると、テストケースが複数あるときに、それらを1つずつ順番に実行するようになります。 - 上の例では`No`や`Yes`のようにプログラムからの標準出力を表示しています。 - もしテストケースが並列に実行されると、複数のテストケースからの標準出力が混ざって分かりにくくなります。 + もしテストケースが並列に実行されると複数のテストケースからの標準出力が混ざって分かりにくくなります。 `-j 1`の指定は、このようなときに便利です。 1. プログラムの提出 - - プログラムが完成したら、`src/main.rs`の内容をAtCoderに提出します。 + - プログラムが完成したら`src/main.rs`の内容をAtCoderに提出します。 `AC`を目指して頑張ってください。 [cargo-toml-file]: ./Cargo.toml @@ -113,7 +113,9 @@ $ cargo generate --name abc086c \ ## 使用可能なクレート -AtCoderの環境では、[`Cargo.toml`][cargo-toml-file]にあらかじめ書かれているクレートのみが使用できます。それら以外のクレートを追加するとコンパイルエラーになりますので注意してください。 +AtCoderの環境では、[`Cargo.toml`][cargo-toml-file]にあらかじめ書かれているクレートのみが使用できます。 +それら以外のクレートを追加するとコンパイルエラーになりますので注意してください。 +またクレートのバージョンも固定されており、変更できません。 ## ライセンス / License From ecaca8e36523d827f7aa1b53a938bb280ce91971 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Mon, 24 Jun 2019 09:07:15 +0800 Subject: [PATCH 07/28] Update proconio/proconio-derive crates to 0.1.2 --- Cargo.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3a0bef4..13d72ec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,8 +14,8 @@ path = "src/main.rs" # AtCoder 2019年言語アップデート以降に使用できるクレート # 競技プログラミングの入出力サポート -proconio = { git = "https://github.com/statiolake/proconio-rs", rev = "2115d40ffe9c07edbb9aff99b9f2008690fad201" } -proconio-derive = { git = "https://github.com/statiolake/proconio-rs", rev = "2115d40ffe9c07edbb9aff99b9f2008690fad201" } +proconio = "=0.1.2" +proconio-derive = "=0.1.2" # f64のOrd/Eq実装 # ordered-float = "=1.0.2" From db60e66f6353e342ce0c3c1b269d734b28f6bf17 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Wed, 26 Jun 2019 09:00:07 +0800 Subject: [PATCH 08/28] Update proconio to 0.2.0 and proconio-derive to 0.1.5 Also create Cargo.lock. --- .gitignore | 1 - Cargo.lock | 616 +++++++++++++++++++++++++++++++++++++++++++++++++++++ Cargo.toml | 4 +- 3 files changed, 618 insertions(+), 3 deletions(-) create mode 100644 Cargo.lock diff --git a/.gitignore b/.gitignore index a2b3f20..c7f4426 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -Cargo.lock /target/ **/*.rs.bk **/*~ diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..9520eb4 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,616 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "aho-corasick" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "arrayvec" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "atcoder-rust-base" +version = "0.1.0" +dependencies = [ + "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", + "bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)", + "cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "modtype 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "proconio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proconio-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "autocfg" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitflags" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "bitset-fixed" +version = "0.1.0" +source = "git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00#2d6347acd634a9cce18be6f133f64535a26a0f00" + +[[package]] +name = "byteorder" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cc" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cli_test_dir" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "cloudabi" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "either" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fs_extra" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "fuchsia-cprng" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "hashbrown" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "if_chain" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "im" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "im-rc" +version = "13.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "itertools" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "jemalloc-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", + "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "jemallocator" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "lazy_static" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "libc" +version = "0.2.58" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "memchr" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "modtype" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "modtype_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "modtype_derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "nodrop" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "num" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-bigint" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-complex" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-integer" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-iter" +version = "0.1.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-rational" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "ordered-float" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "permutohedron" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "proc-macro2" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proconio" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "proconio-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "quote" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_chacha" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_core" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "rand_hc" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_isaac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_jitter" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_os" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_pcg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand_xorshift" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rdrand" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "regex-syntax" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc-hash" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "sfmt" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "sized-chunks" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "smallvec" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "superslice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "syn" +version = "0.15.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "typenum" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "ucd-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "utf8-ranges" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[metadata] +"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c" +"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" +"checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf" +"checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" +"checksum bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)" = "" +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" +"checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d" +"checksum cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc63338a59538d4f4b767dfb6082e4d26736aadb5100894b76039a04d6ad519" +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +"checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" +"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" +"checksum hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9529213c67695ca2d146e6f263b7b72df8fa973368beadf767e8ed80c03f2f36" +"checksum if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c3360c7b59e5ffa2653671fb74b4741a5d343c03f331c0a4aeda42b5c2b0ec7d" +"checksum im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8db49f8bc08d5cc4e2bb0f7d25a6d1db2c79bc6f7d7c86c96c657eb3d214125f" +"checksum im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806" +"checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" +"checksum jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d3b9f3f5c9b31aa0f5ed3260385ac205db665baa41d49bb8338008ae94ede45" +"checksum jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "43ae63fcfc45e99ab3d1b29a46782ad679e98436c3169d15a167a1108a724b69" +"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" +"checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319" +"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" +"checksum modtype 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ffdff685e7bcaf4a85821461cc8b8088014088fb30129c0d90c6688f47af5b8" +"checksum modtype_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9cf0e58b54000e94da06798add7527d9329b3bfede241bb9242a675b96154bd3" +"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" +"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db" +"checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718" +"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc" +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09" +"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e" +"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454" +"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" +"checksum ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" +"checksum permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" +"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +"checksum proconio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7560587d483dbb7ebdc67136ee5027fff4766b244c1ac9a76f313b4ab7be30bf" +"checksum proconio-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe4b8993fb10674fbc95383266dbb57608642c389134495e5f485a54d19fe3f" +"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db" +"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" +"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef" +"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b" +"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0" +"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4" +"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08" +"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b" +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071" +"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" +"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +"checksum regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b2f0808e7d7e4fb1cb07feb6ff2f4bc827938f24f8c2e6a3beb7370af544bdd" +"checksum regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d76410686f9e3a17f06128962e0ecc5755870bb890c34820c7af7f1db2e1d48" +"checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +"checksum sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "917a68d1eed4c3a66f75f6374adc0a0b74fc0ffa52816a4581877762a3cd1168" +"checksum sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a2a2eb3fe454976eefb479f78f9b394d34d661b647c6326a3a6e66f68bb12c26" +"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" +"checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" +"checksum syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)" = "37ea458a750f59ab679b47fef9b6722c586c5742f4cfe18a120bbc807e5e01fd" +"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" +"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" +"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" +"checksum utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9d50aa7650df78abf942826607c62468ce18d9019673d4a2ebe1865dbb96ffde" +"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/Cargo.toml b/Cargo.toml index 13d72ec..c929d2f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,8 +14,8 @@ path = "src/main.rs" # AtCoder 2019年言語アップデート以降に使用できるクレート # 競技プログラミングの入出力サポート -proconio = "=0.1.2" -proconio-derive = "=0.1.2" +proconio = "=0.2.0" +proconio-derive = "=0.1.5" # f64のOrd/Eq実装 # ordered-float = "=1.0.2" From d5ec7e3233160b91f2815cbce635be77d0bb7e47 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Wed, 26 Jun 2019 21:18:44 +0800 Subject: [PATCH 09/28] Use exact match version requirement for jemallocator --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index c929d2f..747f4b7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -67,7 +67,7 @@ proconio-derive = "=0.1.5" # regex = "=1.1.7" # 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも -# jemallocator = "0.3.2" +# jemallocator = "=0.3.2" # --------------------------------------------------------------------- From b9d9f3a041d45e93dc514a9c463a518eb12348f6 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Thu, 27 Jun 2019 18:24:12 +0800 Subject: [PATCH 10/28] Update bitset-fixed to 0.1.0, add ascii 0.9.1 --- Cargo.lock | 13 ++++++++++--- Cargo.toml | 6 +++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9520eb4..d4ef500 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -16,12 +16,18 @@ dependencies = [ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "ascii" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "atcoder-rust-base" version = "0.1.0" dependencies = [ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", - "bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)", + "ascii 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitset-fixed 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -55,7 +61,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitset-fixed" version = "0.1.0" -source = "git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00#2d6347acd634a9cce18be6f133f64535a26a0f00" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "byteorder" @@ -548,9 +554,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] "checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c" "checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" +"checksum ascii 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5fc969a8ce2c9c0c4b0429bb8431544f6658283c8326ba5ff8c762b75369335" "checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf" "checksum bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd" -"checksum bitset-fixed 0.1.0 (git+https://github.com/hatoo/bitset-fixed?rev=2d6347acd634a9cce18be6f133f64535a26a0f00)" = "" +"checksum bitset-fixed 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a8cc868e96ba5c32ffae4d42bf2940ca7fca317dcef3f19b6d7de66b6885abff" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d" "checksum cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc63338a59538d4f4b767dfb6082e4d26736aadb5100894b76039a04d6ad519" diff --git a/Cargo.toml b/Cargo.toml index 747f4b7..6af7fe6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,8 +24,12 @@ proconio-derive = "=0.1.5" # 答えの整数をMで割った余りが要求される設問で便利 # modtype = "=0.3.0" +# 英数字などのASCII文字専用の文字列。文字にインデックスでアクセスしたり +# substringを簡単に作ったりできる +# ascii = "=0.9.1" + # BitSet。C++のbitsetに相当 -# bitset-fixed = { git = "https://github.com/hatoo/bitset-fixed", rev = "2d6347acd634a9cce18be6f133f64535a26a0f00" } +# bitset-fixed = "=0.1.0" # Permutation生成。C++のnext_permutationに相当する機能を提供 # permutohedron = "=0.2.4" From fc6dd7a0760e6c7545b2c644e28e0d9f31a1fccf Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Fri, 28 Jun 2019 08:32:34 +0800 Subject: [PATCH 11/28] Update README; add installing cargo-generate section --- README.md | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1677b59..8a25b55 100644 --- a/README.md +++ b/README.md @@ -15,17 +15,45 @@ ## `ja`テンプレートの内容 -**TODO** もう少し詳しく書く +**TODO** もう少し丁寧に書く - AtCoder 2019年言語アップデート後の環境向け - Rust 1.35.0 - + - `rustup`でインストールされていることを前提にしている ## 使いかた ### 準備:cargo-generateのインストール -**TODO** +cargo-generateをインストールしましょう。以下のライブラリとツールが必要です。 + +- openssl +- pkg-config + + +#### Linux (Ubuntu 18.04) + +```console +$ sudo apt install libssl-dev pkg-config +``` + +#### macOS + +**TODO** opensslとpkg-configのインストール方法を書く(Homebrew) + + +#### Windows MSVC + +**TODO** openssl(?)とcmakeのインストール方法を書く + + +#### インストール + +以下のコマンドを実行します。 + +``` +$ cargo install cargo-generate +``` ### パッケージの生成 @@ -114,7 +142,7 @@ $ cargo generate --name abc086c \ ## 使用可能なクレート AtCoderの環境では、[`Cargo.toml`][cargo-toml-file]にあらかじめ書かれているクレートのみが使用できます。 -それら以外のクレートを追加するとコンパイルエラーになりますので注意してください。 +それら以外のクレートを追加すると、手元ではコンパイルできてもAtCoderの環境ではコンパイルエラーになりますので注意してください。 またクレートのバージョンも固定されており、変更できません。 From e43b337edcc661bb4428959bb163bcd3578e261a Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sat, 29 Jun 2019 09:42:21 +0800 Subject: [PATCH 12/28] Add rand_chacha and rand_pcg crates --- Cargo.lock | 10 ++++++---- Cargo.toml | 13 +++++++++---- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d4ef500..86b610b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -41,6 +41,8 @@ dependencies = [ "proconio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "proconio-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -190,7 +192,7 @@ dependencies = [ "if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -303,7 +305,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", - "syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -496,7 +498,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "syn" -version = "0.15.38" +version = "0.15.39" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", @@ -612,7 +614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum sized-chunks 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a2a2eb3fe454976eefb479f78f9b394d34d661b647c6326a3a6e66f68bb12c26" "checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7" "checksum superslice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" -"checksum syn 0.15.38 (registry+https://github.com/rust-lang/crates.io-index)" = "37ea458a750f59ab679b47fef9b6722c586c5742f4cfe18a120bbc807e5e01fd" +"checksum syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" diff --git a/Cargo.toml b/Cargo.toml index 6af7fe6..bce379d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,10 +62,15 @@ proconio-derive = "=0.1.5" # 多バイト長整数、分数、複素数など # num = "=0.2.0" -# RNG 疑似乱数生成器 -# rand = "=0.6.5" -# sfmt = "=0.5.0" # SIMD-oriented Fast Mersenne Twister (SFMT)のpure Rust実装。 - # 高速で高品質な疑似乱数を生成。モンテカルロ・シミュレーションに適している +# RNG 疑似乱数生成器 (randファミリー) +# rand = "0.6.5" +# rand_chacha = "=0.1.1" +# rand_pcg = "=0.1.2" + +# RNG 疑似乱数生成器 (SFMT) +# SIMD-oriented Fast Mersenne Twister (SFMT)のpure Rust実装 +# 高速で高品質な疑似乱数を生成。モンテカルロ・シミュレーションに適している +# sfmt = "=0.5.0" # 正規表現 # regex = "=1.1.7" From 2f46d7e4712faec5639cfefe4027b94ee0ff5b8d Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sat, 29 Jun 2019 13:32:48 +0800 Subject: [PATCH 13/28] Fix the version specifier for rand in Cargo.toml (`=` was missing) --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index bce379d..20b7599 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,7 +63,7 @@ proconio-derive = "=0.1.5" # num = "=0.2.0" # RNG 疑似乱数生成器 (randファミリー) -# rand = "0.6.5" +# rand = "=0.6.5" # rand_chacha = "=0.1.1" # rand_pcg = "=0.1.2" From 1f3ded1d06a67155ff3ddd9c283d5ed512e4ab4f Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sun, 30 Jun 2019 08:23:07 +0800 Subject: [PATCH 14/28] Update dependencies - Add lazy_static 1.3.0 - Add jemalloc-ctl 0.3.3 - Update modtype to 0.4.0 --- Cargo.lock | 65 +++++++++++++++++++++++++++++++++++++++++++++++++----- Cargo.toml | 6 ++++- 2 files changed, 64 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 86b610b..2b7e30e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,8 +33,10 @@ dependencies = [ "im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "modtype 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "modtype 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -141,6 +143,16 @@ dependencies = [ "either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "jemalloc-ctl" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "paste 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "jemalloc-sys" version = "0.3.2" @@ -170,6 +182,11 @@ name = "libc" version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "maplit" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "memchr" version = "2.2.0" @@ -177,19 +194,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "modtype" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "modtype_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "modtype_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "modtype_derive" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)", @@ -277,11 +295,41 @@ dependencies = [ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "paste" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "paste-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro-hack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "paste-impl" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro-hack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)", + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "permutohedron" version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "proc-macro-hack" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", + "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "proc-macro2" version = "0.4.30" @@ -572,13 +620,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8db49f8bc08d5cc4e2bb0f7d25a6d1db2c79bc6f7d7c86c96c657eb3d214125f" "checksum im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806" "checksum itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358" +"checksum jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c502a5ff9dd2924f1ed32ba96e3b65735d837b4bfd978d3161b1702e66aca4b7" "checksum jemalloc-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0d3b9f3f5c9b31aa0f5ed3260385ac205db665baa41d49bb8338008ae94ede45" "checksum jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "43ae63fcfc45e99ab3d1b29a46782ad679e98436c3169d15a167a1108a724b69" "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" "checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319" +"checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43" "checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" -"checksum modtype 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ffdff685e7bcaf4a85821461cc8b8088014088fb30129c0d90c6688f47af5b8" -"checksum modtype_derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9cf0e58b54000e94da06798add7527d9329b3bfede241bb9242a675b96154bd3" +"checksum modtype 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5613b6032c079d0244b27f83b65613885e8afc88435897ba8553285ea3be4df7" +"checksum modtype_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6246f0f4d13f3f29acbc1af4215561daf9dc08aa771c298962e9e890ebc500f" "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" "checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db" "checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718" @@ -588,7 +638,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454" "checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" "checksum ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" +"checksum paste 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1f4a4a1c555c6505821f9d58b8779d0f630a6b7e4e1be24ba718610acf01fa79" +"checksum paste-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "26e796e623b8b257215f27e6c80a5478856cae305f5b59810ff9acdaa34570e6" "checksum permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" +"checksum proc-macro-hack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0c1dd4172a1e1f96f709341418f49b11ea6c2d95d53dca08c0f74cbd332d9cf3" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" "checksum proconio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7560587d483dbb7ebdc67136ee5027fff4766b244c1ac9a76f313b4ab7be30bf" "checksum proconio-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe4b8993fb10674fbc95383266dbb57608642c389134495e5f485a54d19fe3f" diff --git a/Cargo.toml b/Cargo.toml index 20b7599..8026b5e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ proconio-derive = "=0.1.5" # 剰余関連。普通の整数型などと同じ感覚で扱うだけで自動的にmodを取ってくれる # 答えの整数をMで割った余りが要求される設問で便利 -# modtype = "=0.3.0" +# modtype = "=0.4.0" # 英数字などのASCII文字専用の文字列。文字にインデックスでアクセスしたり # substringを簡単に作ったりできる @@ -75,8 +75,12 @@ proconio-derive = "=0.1.5" # 正規表現 # regex = "=1.1.7" +# staticアイテムの遅延初期化 +lazy_static = "=1.3.0" + # 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも # jemallocator = "=0.3.2" +# jemalloc-ctl = "=0.3.3" # --------------------------------------------------------------------- From eb17b79742abaea3b63f3358a5b87b56122fb401 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Sun, 30 Jun 2019 09:38:29 +0800 Subject: [PATCH 15/28] Update proconio to 0.2.1. Remove proconio-derive from the direct dependency --- Cargo.lock | 8 ++++---- Cargo.toml | 5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b7e30e..bb8a216 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,8 +40,7 @@ dependencies = [ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "proconio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "proconio-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "proconio 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -340,10 +339,11 @@ dependencies = [ [[package]] name = "proconio" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "proconio-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -643,7 +643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" "checksum proc-macro-hack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0c1dd4172a1e1f96f709341418f49b11ea6c2d95d53dca08c0f74cbd332d9cf3" "checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" -"checksum proconio 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7560587d483dbb7ebdc67136ee5027fff4766b244c1ac9a76f313b4ab7be30bf" +"checksum proconio 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae2aa8062d9da9155829b247cbfdb50e8867de06d3f2fa65008067743db6a923" "checksum proconio-derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "cbe4b8993fb10674fbc95383266dbb57608642c389134495e5f485a54d19fe3f" "checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db" "checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca" diff --git a/Cargo.toml b/Cargo.toml index 8026b5e..af4cbee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,8 +14,7 @@ path = "src/main.rs" # AtCoder 2019年言語アップデート以降に使用できるクレート # 競技プログラミングの入出力サポート -proconio = "=0.2.0" -proconio-derive = "=0.1.5" +proconio = "=0.2.1" # f64のOrd/Eq実装 # ordered-float = "=1.0.2" @@ -76,7 +75,7 @@ proconio-derive = "=0.1.5" # regex = "=1.1.7" # staticアイテムの遅延初期化 -lazy_static = "=1.3.0" +# lazy_static = "=1.3.0" # 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも # jemallocator = "=0.3.2" From 696cfaefcaf2b82168aef396817669e0d06980b7 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Wed, 3 Jul 2019 18:55:00 +0800 Subject: [PATCH 16/28] Update modtype to 0.6.0. Add once_cell 0.2.1 Also fix a compile error in main.rs caused by importing proconio-derive. --- Cargo.lock | 99 ++++++++++++++++++++++++++++++++++++++++++++++++----- Cargo.toml | 3 +- src/main.rs | 3 +- 3 files changed, 93 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bb8a216..c353493 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,7 +2,7 @@ # It is not intended for manual editing. [[package]] name = "aho-corasick" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -36,8 +36,9 @@ dependencies = [ "jemalloc-ctl 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "modtype 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "modtype 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "once_cell 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "proconio 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -76,6 +77,11 @@ name = "cc" version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "cfg-if" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "cli_test_dir" version = "0.1.7" @@ -109,6 +115,14 @@ name = "hashbrown" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "heck" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "if_chain" version = "1.0.0" @@ -181,6 +195,14 @@ name = "libc" version = "0.2.58" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "lock_api" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "maplit" version = "1.0.1" @@ -193,18 +215,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "modtype" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "modtype_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "modtype_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "modtype_derive" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)", @@ -286,6 +309,15 @@ dependencies = [ "autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "once_cell" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "ordered-float" version = "1.0.2" @@ -294,6 +326,31 @@ dependencies = [ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parking_lot" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "parking_lot_core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", + "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", + "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "paste" version = "0.1.5" @@ -468,12 +525,17 @@ dependencies = [ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "redox_syscall" +version = "0.1.54" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "regex" version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)", + "aho-corasick 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)", "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -504,6 +566,11 @@ dependencies = [ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "scopeguard" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "semver" version = "0.9.0" @@ -572,6 +639,11 @@ name = "ucd-util" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "unicode-segmentation" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "unicode-xid" version = "0.1.0" @@ -602,7 +674,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" [metadata] -"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c" +"checksum aho-corasick 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "36b7aa1ccb7d7ea3f437cf025a2ab1c47cc6c1bc9fc84918ff449def12f5e282" "checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71" "checksum ascii 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5fc969a8ce2c9c0c4b0429bb8431544f6658283c8326ba5ff8c762b75369335" "checksum autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "0e49efa51329a5fd37e7c79db4621af617cd4e3e5bc224939808d076077077bf" @@ -610,12 +682,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum bitset-fixed 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a8cc868e96ba5c32ffae4d42bf2940ca7fca317dcef3f19b6d7de66b6885abff" "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "39f75544d7bbaf57560d2168f28fd649ff9c76153874db88bdbdfd839b1a7e7d" +"checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" "checksum cli_test_dir 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "2bc63338a59538d4f4b767dfb6082e4d26736aadb5100894b76039a04d6ad519" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" "checksum either 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5527cfe0d098f36e3f8839852688e63c8fff1c90b2b405aef730615f9a7bcf7b" "checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674" "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" "checksum hashbrown 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9529213c67695ca2d146e6f263b7b72df8fa973368beadf767e8ed80c03f2f36" +"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" "checksum if_chain 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c3360c7b59e5ffa2653671fb74b4741a5d343c03f331c0a4aeda42b5c2b0ec7d" "checksum im 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8db49f8bc08d5cc4e2bb0f7d25a6d1db2c79bc6f7d7c86c96c657eb3d214125f" "checksum im-rc 13.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0197597d095c0d11107975d3175173f810ee572c2501ff4de64f4f3f119806" @@ -625,10 +699,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum jemallocator 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "43ae63fcfc45e99ab3d1b29a46782ad679e98436c3169d15a167a1108a724b69" "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" "checksum libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "6281b86796ba5e4366000be6e9e18bf35580adf9e63fbe2294aadb587613a319" +"checksum lock_api 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed946d4529956a20f2d63ebe1b69996d5a2137c91913fe3ebbeff957f5bca7ff" "checksum maplit 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08cbb6b4fef96b6d77bfc40ec491b1690c779e77b05cd9f07f787ed376fd4c43" "checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39" -"checksum modtype 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5613b6032c079d0244b27f83b65613885e8afc88435897ba8553285ea3be4df7" -"checksum modtype_derive 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a6246f0f4d13f3f29acbc1af4215561daf9dc08aa771c298962e9e890ebc500f" +"checksum modtype 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7bf71f32c60f674f1b998ddb1c4cb964e868dcd38b3c404701a890fea73a8613" +"checksum modtype_derive 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75bf38a727330495bdc947e427006b448f52ec44cc85ea6ce8e09b17add0d0e9" "checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945" "checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db" "checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718" @@ -637,7 +712,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e" "checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454" "checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32" +"checksum once_cell 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c7118943e044e53fb4f0400ba153201e7b3e1ee61f137d47aa45367223caa19" "checksum ordered-float 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "18869315e81473c951eb56ad5558bbc56978562d3ecfb87abb7a1e944cea4518" +"checksum parking_lot 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fa7767817701cce701d5585b9c4db3cdd02086398322c1d7e8bf5094a96a2ce7" +"checksum parking_lot_core 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cb88cb1cb3790baa6776844f968fea3be44956cf184fa1be5a03341f5491278c" "checksum paste 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "1f4a4a1c555c6505821f9d58b8779d0f630a6b7e4e1be24ba718610acf01fa79" "checksum paste-impl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "26e796e623b8b257215f27e6c80a5478856cae305f5b59810ff9acdaa34570e6" "checksum permutohedron 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b687ff7b5da449d39e418ad391e5e08da53ec334903ddbb921db208908fc372c" @@ -657,10 +735,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44" "checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c" "checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2" +"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252" "checksum regex 1.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0b2f0808e7d7e4fb1cb07feb6ff2f4bc827938f24f8c2e6a3beb7370af544bdd" "checksum regex-syntax 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "9d76410686f9e3a17f06128962e0ecc5755870bb890c34820c7af7f1db2e1d48" "checksum rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7540fc8b0c49f096ee9c961cda096467dce8084bec6bdca2fc83895fd9b28cb8" "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" "checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" "checksum sfmt 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "917a68d1eed4c3a66f75f6374adc0a0b74fc0ffa52816a4581877762a3cd1168" @@ -671,6 +751,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86" +"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9" "checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" "checksum utf8-ranges 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9d50aa7650df78abf942826607c62468ce18d9019673d4a2ebe1865dbb96ffde" "checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770" diff --git a/Cargo.toml b/Cargo.toml index af4cbee..9b698c4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ proconio = "=0.2.1" # 剰余関連。普通の整数型などと同じ感覚で扱うだけで自動的にmodを取ってくれる # 答えの整数をMで割った余りが要求される設問で便利 -# modtype = "=0.4.0" +# modtype = "=0.6.0" # 英数字などのASCII文字専用の文字列。文字にインデックスでアクセスしたり # substringを簡単に作ったりできる @@ -76,6 +76,7 @@ proconio = "=0.2.1" # staticアイテムの遅延初期化 # lazy_static = "=1.3.0" +# once_cell = "=0.2.1" # 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも # jemallocator = "=0.3.2" diff --git a/src/main.rs b/src/main.rs index 478d593..55bcbf2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,11 @@ // -*- coding:utf-8-unix -*- use proconio::input; -use proconio_derive::fastout; // ABC086C - Traveling // https://atcoder.jp/contests/abs/fasks/arc089_a -#[fastout] +#[proconio::fastout] fn main() { input! { n: usize, From 9c3c4fa8a04adb5e2f507f68b573c867e0147fda Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Thu, 4 Jul 2019 08:45:36 +0800 Subject: [PATCH 17/28] Update README; write instructions to install cargo-generate to Linux and macOS --- README.md | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 8a25b55..ba73091 100644 --- a/README.md +++ b/README.md @@ -25,36 +25,51 @@ ### 準備:cargo-generateのインストール -cargo-generateをインストールしましょう。以下のライブラリとツールが必要です。 - -- openssl -- pkg-config - +以下のコマンドでcargo-generateをインストールします。 #### Linux (Ubuntu 18.04) ```console $ sudo apt install libssl-dev pkg-config +$ cargo install cargo-generate ``` -#### macOS +#### macOS Mojave 10.14 -**TODO** opensslとpkg-configのインストール方法を書く(Homebrew) +cargo-generateが依存しているopenss-sysクレートは、macOSに元から入っているOpenSSLライブラリのバージョンに対応していません。 +(OpenSSLのバージョンが低すぎる)  +そのOpenSSLライブラリを使おうとすると以下のようなエラーになります。 +```console +error failed to run custom build command for `openssl-sys v0.9.47` +... -#### Windows MSVC +It looks like you're compiling on macOS, where the system contains a version of +OpenSSL 0.9.8. This crate no longer supports OpenSSL 0.9.8. -**TODO** openssl(?)とcmakeのインストール方法を書く +As a consumer of this crate, you can fix this error by using Homebrew to +install the `openssl` package, ... +``` +エラーメッセージのおすすめにしたがって、[Homebrew][homebrew]で新しいバージョンのOpenSSLライブラリをインストールします。 -#### インストール +```console +$ brew install openssl +``` -以下のコマンドを実行します。 +cargo-generateをインストールします。 ``` $ cargo install cargo-generate ``` +[homebrew]: https://brew.sh/ + + +#### Windows 10 MSVC + +**TODO** openssl(?)とcmakeのインストール方法を書く + ### パッケージの生成 From 153453967de3559d3bd56bf0cf53ce33292b5415 Mon Sep 17 00:00:00 2001 From: Tatsuya Kawano Date: Thu, 4 Jul 2019 19:54:26 +0800 Subject: [PATCH 18/28] Update README; write instructions to install cargo-generate to Windows MSVC --- README.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ba73091..a7f791d 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,13 @@ ## `ja`テンプレートの内容 -**TODO** もう少し丁寧に書く - - AtCoder 2019年言語アップデート後の環境向け - Rust 1.35.0 - `rustup`でインストールされていることを前提にしている +**TODO** もう少し詳しく書く + + ## 使いかた ### 準備:cargo-generateのインストール @@ -34,6 +35,12 @@ $ sudo apt install libssl-dev pkg-config $ cargo install cargo-generate ``` +#### Windows 10 MSVC + +```console +$ cargo install cargo-generate +``` + #### macOS Mojave 10.14 cargo-generateが依存しているopenss-sysクレートは、macOSに元から入っているOpenSSLライブラリのバージョンに対応していません。 @@ -59,18 +66,13 @@ $ brew install openssl cargo-generateをインストールします。 -``` +```console $ cargo install cargo-generate ``` [homebrew]: https://brew.sh/ -#### Windows 10 MSVC - -**TODO** openssl(?)とcmakeのインストール方法を書く - - ### パッケージの生成 `cargo generate`コマンドでパッケージを生成します。 From 13ba976e5c3ac290b738fe439dd0f80dc8430b47 Mon Sep 17 00:00:00 2001 From: statiolake Date: Sat, 6 Jul 2019 18:19:17 +0900 Subject: [PATCH 19/28] Update proconio --- Cargo.toml | 3 ++- src/main.rs | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 9b698c4..ecd9dda 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,8 @@ path = "src/main.rs" # AtCoder 2019年言語アップデート以降に使用できるクレート # 競技プログラミングの入出力サポート -proconio = "=0.2.1" +proconio = "=0.3.0" +# proconio-derive = "=0.1.5" # f64のOrd/Eq実装 # ordered-float = "=1.0.2" diff --git a/src/main.rs b/src/main.rs index 55bcbf2..e7c76ee 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,6 @@ use proconio::input; // ABC086C - Traveling // https://atcoder.jp/contests/abs/fasks/arc089_a -#[proconio::fastout] fn main() { input! { n: usize, From 3a12587f55b226c7bc8c35c08fcb601c0bd8b7b1 Mon Sep 17 00:00:00 2001 From: statiolake Date: Thu, 5 Sep 2019 01:22:40 +0900 Subject: [PATCH 20/28] Update Rust to 1.36.0 --- README.md | 2 +- rust-toolchain | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a7f791d..df6692d 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ## `ja`テンプレートの内容 - AtCoder 2019年言語アップデート後の環境向け -- Rust 1.35.0 +- Rust 1.36.0 - `rustup`でインストールされていることを前提にしている **TODO** もう少し詳しく書く diff --git a/rust-toolchain b/rust-toolchain index 2aeaa11..39fc130 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -1.35.0 +1.36.0 From 962e9bedf90fe9e83e45d7123df193b85b102ed0 Mon Sep 17 00:00:00 2001 From: statiolake Date: Thu, 5 Sep 2019 01:23:22 +0900 Subject: [PATCH 21/28] Update crates --- Cargo.toml | 64 ++++++++++++++++++++++++------------------------------ 1 file changed, 28 insertions(+), 36 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ecd9dda..a8fbbdc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,78 +10,70 @@ edition = "2018" name = "main" path = "src/main.rs" -[dependencies] # AtCoder 2019年言語アップデート以降に使用できるクレート - +[dependencies.proconio] # 競技プログラミングの入出力サポート -proconio = "=0.3.0" -# proconio-derive = "=0.1.5" +version = "=0.3.4" +#features = ["derive"] +[dependencies] # f64のOrd/Eq実装 -# ordered-float = "=1.0.2" +#ordered-float = "=1.0.2" # 剰余関連。普通の整数型などと同じ感覚で扱うだけで自動的にmodを取ってくれる # 答えの整数をMで割った余りが要求される設問で便利 -# modtype = "=0.6.0" +#modtype = "=0.7.0" # 英数字などのASCII文字専用の文字列。文字にインデックスでアクセスしたり # substringを簡単に作ったりできる -# ascii = "=0.9.1" +#ascii = "=1.0.0" # BitSet。C++のbitsetに相当 -# bitset-fixed = "=0.1.0" +#bitset-fixed = "=0.1.0" # Permutation生成。C++のnext_permutationに相当する機能を提供 -# permutohedron = "=0.2.4" +#permutohedron = "=0.2.4" # スライスの強化。C++のlower_bound, upper_boundに相当する機能を提供 -# superslice = "=1.0.0" +#superslice = "=1.0.0" # イテレータの強化 -# itertools = "=0.8.0" +#itertools = "=0.8.0" # 高速なハッシュ関数 -# rustc-hash = "=1.0.1" - -# 高速なHashMap -# Rust 1.36.0からは標準ライブラリのHashMapがこれに置き換わる。(AtCoder 2019年言語 -# アップデートではそれより古い1.35.0を採用) ハッシュ関数として従来のSipHashが用いられる -# ことに注意。(SipHashは暗号強度を持つため計算量が多く低速) -# hashbrown = "=0.4.0" +#rustc-hash = "=1.0.1" # 固定配列上のベクタ。ヒープ領域でなくスタック領域にアロケートされるので高速かもしれない -# smallvec = "=0.6.10" -# arrayvec = "=0.4.10" +#smallvec = "=0.6.10" # 標準ライブラリのVecやHashMapに対応する永続データ構造 # 永続データ構造は関数型言語によく見られるデータ構造で、要素を更新しても、そのデータ構造の # 以前のバージョンにアクセスできる。(更新の度に差分が記録されていくイメージ) -# im = "=13.0.0" # スレッドセーフ -# im-rc = "=13.0.0" # スレッドセーフでないが高速 +#im-rc = "=13.0.0" # 多バイト長整数、分数、複素数など -# num = "=0.2.0" +#num = "=0.2.0" # RNG 疑似乱数生成器 (randファミリー) -# rand = "=0.6.5" -# rand_chacha = "=0.1.1" -# rand_pcg = "=0.1.2" - -# RNG 疑似乱数生成器 (SFMT) -# SIMD-oriented Fast Mersenne Twister (SFMT)のpure Rust実装 -# 高速で高品質な疑似乱数を生成。モンテカルロ・シミュレーションに適している -# sfmt = "=0.5.0" +#rand = { version = "=0.7.0", features = ["small_rng"] } +#rand_chacha = "=0.2.1" +#rand_pcg = "=0.2.0" # 正規表現 -# regex = "=1.1.7" +#regex = "=1.3.0" # staticアイテムの遅延初期化 -# lazy_static = "=1.3.0" -# once_cell = "=0.2.1" +#lazy_static = "=1.4.0" + +# 多次元配列 +#ndarray = "=0.12.1" + +# 線形代数 +#nalgebra = "=0.18.1" # 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも -# jemallocator = "=0.3.2" -# jemalloc-ctl = "=0.3.3" +#jemallocator = "=0.3.2" +#jemalloc-ctl = "=0.3.3" # --------------------------------------------------------------------- From 4438d1ae728d1e81d8f6f0d008153b945e3a1e88 Mon Sep 17 00:00:00 2001 From: statiolake Date: Thu, 10 Oct 2019 01:37:19 +0900 Subject: [PATCH 22/28] Update some crates to follow `ja-all-enabled` --- Cargo.toml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a8fbbdc..6db0636 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,13 +10,12 @@ edition = "2018" name = "main" path = "src/main.rs" +[dependencies] # AtCoder 2019年言語アップデート以降に使用できるクレート -[dependencies.proconio] + # 競技プログラミングの入出力サポート -version = "=0.3.4" -#features = ["derive"] +proconio = { version = "=0.3.4", features = ["derive"] } -[dependencies] # f64のOrd/Eq実装 #ordered-float = "=1.0.2" @@ -55,18 +54,19 @@ version = "=0.3.4" #num = "=0.2.0" # RNG 疑似乱数生成器 (randファミリー) -#rand = { version = "=0.7.0", features = ["small_rng"] } +#rand = { version = "=0.7.2", features = ["small_rng"] } #rand_chacha = "=0.2.1" #rand_pcg = "=0.2.0" +#rand_distr = "=0.2.2" # 正規表現 -#regex = "=1.3.0" +#regex = "=1.3.1" # staticアイテムの遅延初期化 #lazy_static = "=1.4.0" # 多次元配列 -#ndarray = "=0.12.1" +#ndarray = "=0.13.0" # 線形代数 #nalgebra = "=0.18.1" From 92381125ccd87089eaa0cb07bfcce921f8d531fc Mon Sep 17 00:00:00 2001 From: statiolake Date: Sat, 1 Feb 2020 10:35:56 +0900 Subject: [PATCH 23/28] Update crates --- Cargo.toml | 111 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 44 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6db0636..11c5024 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,69 +11,92 @@ name = "main" path = "src/main.rs" [dependencies] -# AtCoder 2019年言語アップデート以降に使用できるクレート +# AtCoder 2020年言語アップデート以降に使用できるクレート。 +# 次のページに各クレートについての細かい紹介があります。 +# https://github.com/rust-lang-ja/atcoder-rust-resources/wiki/2020-Update -# 競技プログラミングの入出力サポート +# 入出力改善 proconio = { version = "=0.3.4", features = ["derive"] } -# f64のOrd/Eq実装 -#ordered-float = "=1.0.2" +# 数値関連のサポート強化 +#num = "=0.2.1" +#num-bigint = "=0.2.5" +#num-complex = "=0.2.4" +#num-integer = "=0.1.42" +#num-iter = "=0.1.40" +#num-rational = "=0.2.3" +#num-traits = "=0.2.11" +#num-derive = "=0.3.0" -# 剰余関連。普通の整数型などと同じ感覚で扱うだけで自動的にmodを取ってくれる -# 答えの整数をMで割った余りが要求される設問で便利 -#modtype = "=0.7.0" +# 多次元配列 +#ndarray = "=0.13.0" -# 英数字などのASCII文字専用の文字列。文字にインデックスでアクセスしたり -# substringを簡単に作ったりできる -#ascii = "=1.0.0" +# 線形代数 +#nalgebra = "=0.19.0" +#alga = "=0.9.2" -# BitSet。C++のbitsetに相当 -#bitset-fixed = "=0.1.0" +# 数学関数 +#libm = "=0.2.1" -# Permutation生成。C++のnext_permutationに相当する機能を提供 -#permutohedron = "=0.2.4" +# 乱数 +#rand = { version = "=0.7.3", features = ["small_rng"] } +#getrandom = "=0.1.14" +#rand_chacha = "=0.2.1" +#rand_core = "=0.5.1" +#rand_hc = "=0.2.0" +#rand_pcg = "=0.2.1" +#rand_distr = "=0.2.2" -# スライスの強化。C++のlower_bound, upper_boundに相当する機能を提供 -#superslice = "=1.0.0" +# グラフ +#petgraph = "=0.5.0" -# イテレータの強化 -#itertools = "=0.8.0" +# 順序を保持する連想配列 +#indexmap = "=1.3.0" -# 高速なハッシュ関数 -#rustc-hash = "=1.0.1" +# 正規表現 +#regex = "=1.3.3" + +# 遅延初期化グローバル変数 +#lazy_static = "=1.4.0" + +# 浮動小数点数の Ord, Eq 実装 +#ordered-float = "=1.0.2" -# 固定配列上のベクタ。ヒープ領域でなくスタック領域にアロケートされるので高速かもしれない -#smallvec = "=0.6.10" +# ASCII 文字列の取り扱いの強化 +#ascii = "=1.0.0" -# 標準ライブラリのVecやHashMapに対応する永続データ構造 -# 永続データ構造は関数型言語によく見られるデータ構造で、要素を更新しても、そのデータ構造の -# 以前のバージョンにアクセスできる。(更新の度に差分が記録されていくイメージ) -#im-rc = "=13.0.0" +# 順列 +#permutohedron = "=0.2.4" -# 多バイト長整数、分数、複素数など -#num = "=0.2.0" +# スライスの強化 +#superslice = "=1.0.0" -# RNG 疑似乱数生成器 (randファミリー) -#rand = { version = "=0.7.2", features = ["small_rng"] } -#rand_chacha = "=0.2.1" -#rand_pcg = "=0.2.0" -#rand_distr = "=0.2.2" +# イテレータの強化 +#itertools = "=0.8.2" +#itertools-num = "=0.1.3" -# 正規表現 -#regex = "=1.3.1" +# コレクションを生成するマクロ +#maplit = "=1.0.2" -# staticアイテムの遅延初期化 -#lazy_static = "=1.4.0" +# インスタント enum +#either = "=1.5.3" -# 多次元配列 -#ndarray = "=0.13.0" +# 永続データ構造 +#im-rc = "=14.1.0" -# 線形代数 -#nalgebra = "=0.18.1" +# ビットで管理する集合 +#fixedbitset = "=0.2.0" +#bitset-fixed = "=0.1.0" + +# 入力ライブラリ +#text_io = "=0.1.7" +#whiteread = "=0.5.0" + +# 高速なハッシュ関数 +#rustc-hash = "=1.0.1" -# 代替ヒープアロケータ。条件によってはシステムアロケータより速いことも -#jemallocator = "=0.3.2" -#jemalloc-ctl = "=0.3.3" +# 少量向けに最適化された Vec +#smallvec = "=1.1.0" # --------------------------------------------------------------------- From 32301c2c13311c4fb12cd2b7f8969d8b98293cb7 Mon Sep 17 00:00:00 2001 From: statiolake Date: Thu, 6 Feb 2020 13:34:46 +0900 Subject: [PATCH 24/28] Update Rust version to 1.41.0 --- README.md | 2 +- rust-toolchain | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index df6692d..4410035 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ## `ja`テンプレートの内容 - AtCoder 2019年言語アップデート後の環境向け -- Rust 1.36.0 +- Rust 1.41.0 - `rustup`でインストールされていることを前提にしている **TODO** もう少し詳しく書く diff --git a/rust-toolchain b/rust-toolchain index 39fc130..7d47e59 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -1.36.0 +1.41.0 From 01742fdd8143bb7da01303d1bf3bae11bbdd9233 Mon Sep 17 00:00:00 2001 From: statiolake Date: Thu, 2 Apr 2020 16:42:37 +0900 Subject: [PATCH 25/28] Update Rust version to 1.42.0 --- README.md | 2 +- rust-toolchain | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4410035..2249515 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ## `ja`テンプレートの内容 - AtCoder 2019年言語アップデート後の環境向け -- Rust 1.41.0 +- Rust 1.42.0 - `rustup`でインストールされていることを前提にしている **TODO** もう少し詳しく書く diff --git a/rust-toolchain b/rust-toolchain index 7d47e59..a50908c 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -1.41.0 +1.42.0 From b309620f2b4d739f618722ca80a0d581bdbd6a72 Mon Sep 17 00:00:00 2001 From: statiolake Date: Thu, 2 Apr 2020 16:45:51 +0900 Subject: [PATCH 26/28] Update Cargo.toml --- Cargo.toml | 74 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 11c5024..d757de4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,88 +15,100 @@ path = "src/main.rs" # 次のページに各クレートについての細かい紹介があります。 # https://github.com/rust-lang-ja/atcoder-rust-resources/wiki/2020-Update -# 入出力改善 -proconio = { version = "=0.3.4", features = ["derive"] } - -# 数値関連のサポート強化 +# 数値型の抽象化、多倍長整数、複素数、分数、及び整数型の拡張 #num = "=0.2.1" -#num-bigint = "=0.2.5" +#num-bigint = "=0.2.6" #num-complex = "=0.2.4" #num-integer = "=0.1.42" #num-iter = "=0.1.40" -#num-rational = "=0.2.3" +#num-rational = "=0.2.4" #num-traits = "=0.2.11" + +# `num-traits`の自動実装 #num-derive = "=0.3.0" -# 多次元配列 +# NumPyの`ndarray`のような多次元配列 #ndarray = "=0.13.0" # 線形代数 -#nalgebra = "=0.19.0" -#alga = "=0.9.2" +#nalgebra = "=0.20.0" -# 数学関数 +# (線形)代数の抽象化 +#alga = "=0.9.3" + +# libmのRust実装 #libm = "=0.2.1" # 乱数 #rand = { version = "=0.7.3", features = ["small_rng"] } #getrandom = "=0.1.14" -#rand_chacha = "=0.2.1" +#rand_chacha = "=0.2.2" #rand_core = "=0.5.1" #rand_hc = "=0.2.0" #rand_pcg = "=0.2.1" + +# 乱数の分布の追加 #rand_distr = "=0.2.2" # グラフ #petgraph = "=0.5.0" -# 順序を保持する連想配列 -#indexmap = "=1.3.0" +# 挿入順を保持するhash table +#indexmap = "=1.3.2" # 正規表現 -#regex = "=1.3.3" +#regex = "=1.3.6" -# 遅延初期化グローバル変数 +# staticアイテムの遅延初期化 #lazy_static = "=1.4.0" -# 浮動小数点数の Ord, Eq 実装 +# `NotNan`, `OrderedFloat` #ordered-float = "=1.0.2" -# ASCII 文字列の取り扱いの強化 +# ASCII文字列 #ascii = "=1.0.0" -# 順列 +# permutation #permutohedron = "=0.2.4" -# スライスの強化 +# スライスの拡張 #superslice = "=1.0.0" -# イテレータの強化 -#itertools = "=0.8.2" +# イテレータの拡張 +#itertools = "=0.9.0" + +# イテレータの拡張(一次元累積和と浮動小数点数の等差数列) #itertools-num = "=0.1.3" -# コレクションを生成するマクロ +# `BTreeMap`, `BTreeSet`, `HashMap`, `HashSet`のリテラル用マクロ #maplit = "=1.0.2" -# インスタント enum +# 即席enum `Either` #either = "=1.5.3" -# 永続データ構造 -#im-rc = "=14.1.0" +# `BTreeMap`, `BTreeSet`, `HashMap`, `HashSet`, `Vec`の永続データ構造版 +#im-rc = "=14.3.0" -# ビットで管理する集合 +# 可変長bit set #fixedbitset = "=0.2.0" + +# 可変長bit set #bitset-fixed = "=0.1.0" -# 入力ライブラリ -#text_io = "=0.1.7" +# 競技プログラミングの入出力サポートその1 +proconio = { version = "=0.3.6", features = ["derive"] } + +# 競技プログラミングの入出力サポートその2 +#text_io = "=0.1.8" + +# 競技プログラミングの入出力サポートその3 #whiteread = "=0.5.0" # 高速なハッシュ関数 -#rustc-hash = "=1.0.1" +#rustc-hash = "=1.1.0" -# 少量向けに最適化された Vec -#smallvec = "=1.1.0" +# ある長さまでは要素を「直に」持つ可変長配列 +#smallvec = "=1.2.0" # --------------------------------------------------------------------- From 6bb262da857143c7205158c84b9f10936fd217f6 Mon Sep 17 00:00:00 2001 From: Nobuyasu Tomura Date: Sun, 3 Oct 2021 22:02:38 +0900 Subject: [PATCH 27/28] Fix typo. fasks -> task --- src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index e7c76ee..f016cfc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,7 @@ use proconio::input; // ABC086C - Traveling -// https://atcoder.jp/contests/abs/fasks/arc089_a +// https://atcoder.jp/contests/abs/tasks/arc089_a fn main() { input! { From 34407ee27f3b0bfc565f1b0ac7f6d91255cac386 Mon Sep 17 00:00:00 2001 From: VeyronSakai Date: Sat, 18 Dec 2021 04:26:21 +0900 Subject: [PATCH 28/28] create cargo-generate.toml --- cargo-generate.toml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 cargo-generate.toml diff --git a/cargo-generate.toml b/cargo-generate.toml new file mode 100644 index 0000000..b2073a4 --- /dev/null +++ b/cargo-generate.toml @@ -0,0 +1,2 @@ +[template] +ignore = ["README.md"] \ No newline at end of file