QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#539051#8934. Challenge NPCucup-team635#AC ✓11ms6156kbRust2.7kb2024-08-31 13:52:032024-08-31 13:52:03

Judging History

你现在查看的是最新测评结果

  • [2024-08-31 13:52:03]
  • 评测
  • 测评结果:AC
  • 用时:11ms
  • 内存:6156kb
  • [2024-08-31 13:52:03]
  • 提交

answer

use std::io::Write;
use std::collections::*;

type Map<K, V> = BTreeMap<K, V>;
type Set<T> = BTreeSet<T>;
type Deque<T> = VecDeque<T>;

fn main() {
    let out = std::io::stdout();
    let mut out = std::io::BufWriter::new(out.lock());
    input!(k: usize);
    let mut e = vec![];
    let m = k + 2;
    for i in 1..m {
        for j in 0..i {
            e.push((2 * j, 2 * i + 1));
            e.push((2 * j + 1, 2 * i));
        }
    }
    writeln!(out, "{} {} {}", 2 * m, e.len(), 2).ok();
    use util::*;
    writeln!(out, "{}", (0..(2 * m)).map(|i| (i % 2) + 1).join(" ")).ok();
    for (a, b) in e {
        writeln!(out, "{} {}", a + 1, b + 1).ok();
    }
}

// ---------- begin input macro ----------
// reference: https://qiita.com/tanakh/items/0ba42c7ca36cd29d0ac8
#[macro_export]
macro_rules! input {
    (source = $s:expr, $($r:tt)*) => {
        let mut iter = $s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
    ($($r:tt)*) => {
        let s = {
            use std::io::Read;
            let mut s = String::new();
            std::io::stdin().read_to_string(&mut s).unwrap();
            s
        };
        let mut iter = s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
}

#[macro_export]
macro_rules! input_inner {
    ($iter:expr) => {};
    ($iter:expr, ) => {};
    ($iter:expr, $var:ident : $t:tt $($r:tt)*) => {
        let $var = read_value!($iter, $t);
        input_inner!{$iter $($r)*}
    };
}

#[macro_export]
macro_rules! read_value {
    ($iter:expr, ( $($t:tt),* )) => {
        ( $(read_value!($iter, $t)),* )
    };
    ($iter:expr, [ $t:tt ; $len:expr ]) => {
        (0..$len).map(|_| read_value!($iter, $t)).collect::<Vec<_>>()
    };
    ($iter:expr, chars) => {
        read_value!($iter, String).chars().collect::<Vec<char>>()
    };
    ($iter:expr, bytes) => {
        read_value!($iter, String).bytes().collect::<Vec<u8>>()
    };
    ($iter:expr, usize1) => {
        read_value!($iter, usize) - 1
    };
    ($iter:expr, $t:ty) => {
        $iter.next().unwrap().parse::<$t>().expect("Parse error")
    };
}
// ---------- end input macro ----------
mod util {
    pub trait Join {
        fn join(self, sep: &str) -> String;
    }

    impl<T, I> Join for I
    where
        I: Iterator<Item = T>,
        T: std::fmt::Display,
    {
        fn join(self, sep: &str) -> String {
            let mut s = String::new();
            use std::fmt::*;
            for (i, v) in self.enumerate() {
                if i > 0 {
                    write!(&mut s, "{}", sep).ok();
                }
                write!(&mut s, "{}", v).ok();
            }
            s
        }
    }
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 2052kb

input:

1

output:

6 6 2
1 2 1 2 1 2
1 4
2 3
1 6
2 5
3 6
4 5

result:

ok ok

Test #2:

score: 0
Accepted
time: 0ms
memory: 2128kb

input:

2

output:

8 12 2
1 2 1 2 1 2 1 2
1 4
2 3
1 6
2 5
3 6
4 5
1 8
2 7
3 8
4 7
5 8
6 7

result:

ok ok

Test #3:

score: 0
Accepted
time: 0ms
memory: 1984kb

input:

3

output:

10 20 2
1 2 1 2 1 2 1 2 1 2
1 4
2 3
1 6
2 5
3 6
4 5
1 8
2 7
3 8
4 7
5 8
6 7
1 10
2 9
3 10
4 9
5 10
6 9
7 10
8 9

result:

ok ok

Test #4:

score: 0
Accepted
time: 0ms
memory: 2140kb

input:

4

output:

12 30 2
1 2 1 2 1 2 1 2 1 2 1 2
1 4
2 3
1 6
2 5
3 6
4 5
1 8
2 7
3 8
4 7
5 8
6 7
1 10
2 9
3 10
4 9
5 10
6 9
7 10
8 9
1 12
2 11
3 12
4 11
5 12
6 11
7 12
8 11
9 12
10 11

result:

ok ok

Test #5:

score: 0
Accepted
time: 0ms
memory: 2104kb

input:

5

output:

14 42 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2
1 4
2 3
1 6
2 5
3 6
4 5
1 8
2 7
3 8
4 7
5 8
6 7
1 10
2 9
3 10
4 9
5 10
6 9
7 10
8 9
1 12
2 11
3 12
4 11
5 12
6 11
7 12
8 11
9 12
10 11
1 14
2 13
3 14
4 13
5 14
6 13
7 14
8 13
9 14
10 13
11 14
12 13

result:

ok ok

Test #6:

score: 0
Accepted
time: 4ms
memory: 5000kb

input:

433

output:

870 188790 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2...

result:

ok ok

Test #7:

score: 0
Accepted
time: 11ms
memory: 5944kb

input:

500

output:

1004 251502 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

result:

ok ok

Test #8:

score: 0
Accepted
time: 11ms
memory: 6156kb

input:

499

output:

1002 250500 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 ...

result:

ok ok

Test #9:

score: 0
Accepted
time: 3ms
memory: 5372kb

input:

457

output:

918 210222 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2...

result:

ok ok

Test #10:

score: 0
Accepted
time: 0ms
memory: 5936kb

input:

497

output:

998 248502 2
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2...

result:

ok ok

Extra Test:

score: 0
Extra Test Passed