提出 #4939562
ソースコード 拡げる
Copy
//! ----------------------------------------------//! Framework <https://github.com/vain0x/procon>//!//! See the bottom of file for solution.//! ----------------------------------------------#![allow(unused_imports)]#![allow(non_snake_case)]use std::cell::RefCell;use std::cmp::{max, min, Ordering};use std::collections::*;use std::fmt::{Debug, Display, Formatter, Write as FmtWrite};use std::io::{stderr, stdin, BufRead, Write};use std::mem::{replace, swap};use std::ops::*;use std::rc::Rc;/// Print values to standard error if debug mode.#[allow(unused_macros)]macro_rules! debug {
//! ---------------------------------------------- //! Framework <https://github.com/vain0x/procon> //! //! See the bottom of file for solution. //! ---------------------------------------------- #![allow(unused_imports)] #![allow(non_snake_case)] use std::cell::RefCell; use std::cmp::{max, min, Ordering}; use std::collections::*; use std::fmt::{Debug, Display, Formatter, Write as FmtWrite}; use std::io::{stderr, stdin, BufRead, Write}; use std::mem::{replace, swap}; use std::ops::*; use std::rc::Rc; /// Print values to standard error if debug mode. #[allow(unused_macros)] macro_rules! debug { ($($e:expr),*) => { #[cfg(debug_assertions)] $({ let (e, mut err) = (stringify!($e), stderr()); writeln!(err, "\x1B[33m{}\x1B[0m = {:?}", e, $e).unwrap() })* }; } /// Read from standard input and parse each word. /// - `read!(T, U, ..)` parses a line as a tuple of words. /// - `read![[T]]` parses a line as an array of words. /// - `read![..; N]` parses `N` lines, using `read!(..)` repeatedly. #[allow(unused_macros)] macro_rules! read { ([$t:ty] ; $n:expr) => ((0..$n).map(|_| read!([$t])).collect::<Vec<_>>()); ($($t:ty),+ ; $n:expr) => ((0..$n).map(|_| read!($($t),+)).collect::<Vec<_>>()); ([$t:ty]) => (rl().split_whitespace().map(|w| w.parse().unwrap()).collect::<Vec<$t>>()); ($($t:ty),*) => {{ let buf = rl(); let mut w = buf.split_whitespace(); ($(w.next().unwrap().parse::<$t>().unwrap()),*) }}; } /// Read a line from standard input. #[allow(dead_code)] fn rl() -> String { let mut buf = String::new(); stdin().read_line(&mut buf).unwrap(); #[allow(deprecated)] buf.trim_right().to_owned() } // ----------------------------------------------- // Solution // ----------------------------------------------- fn paint(S: &[char], mut c: char) -> usize { let mut count = 0; for i in 0..S.len() { if S[i] != c { count += 1; } c = if c == '0' { '1' } else { '0' }; } count } fn main() { let S = rl().chars().collect::<Vec<_>>(); println!("{}", min(paint(&S, '0'), paint(&S, '1'))); }
提出情報
提出日時 | |
---|---|
問題 | C - Coloring Colorfully |
ユーザ | vain0 |
言語 | Rust (1.15.1) |
得点 | 300 |
コード長 | 2287 Byte |
結果 | AC |
実行時間 | 2 ms |
メモリ | 4352 KB |
ジャッジ結果
セット名 | All | Sample | ||||
---|---|---|---|---|---|---|
得点 / 配点 | 300 / 300 | 0 / 0 | ||||
結果 |
|
|
セット名 | テストケース |
---|---|
All | sample_01, sample_02, sample_03, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15, testcase_16, testcase_17 |
Sample | sample_01, sample_02, sample_03 |
ケース名 | 結果 | 実行時間 | メモリ |
---|---|---|---|
sample_01 | AC | 2 ms | 4352 KB |
sample_02 | AC | 2 ms | 4352 KB |
sample_03 | AC | 2 ms | 4352 KB |
testcase_01 | AC | 2 ms | 4352 KB |
testcase_02 | AC | 2 ms | 4352 KB |
testcase_03 | AC | 2 ms | 4352 KB |
testcase_04 | AC | 2 ms | 4352 KB |
testcase_05 | AC | 2 ms | 4352 KB |
testcase_06 | AC | 2 ms | 4352 KB |
testcase_07 | AC | 2 ms | 4352 KB |
testcase_08 | AC | 2 ms | 4352 KB |
testcase_09 | AC | 2 ms | 4352 KB |
testcase_10 | AC | 2 ms | 4352 KB |
testcase_11 | AC | 2 ms | 4352 KB |
testcase_12 | AC | 2 ms | 4352 KB |
testcase_13 | AC | 2 ms | 4352 KB |
testcase_14 | AC | 2 ms | 4352 KB |
testcase_15 | AC | 2 ms | 4352 KB |
testcase_16 | AC | 2 ms | 4352 KB |
testcase_17 | AC | 2 ms | 4352 KB |