QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#289006 | #7863. Parity Game | ucup-team635# | RE | 3ms | 2296kb | Rust | 10.1kb | 2023-12-23 14:42:59 | 2023-12-23 14:42:59 |
Judging History
answer
// 隣接2項について
// and, xor
// のどちらかをやる
// 最終的にtを残すとAlicdの勝ち、そうでないならbobの価値
// これをインタラクティブとしてジャッジと勝負
//
// 00 -> 0
// それ以外はand, xor で01好きな方を作れる
// T=0の時
// 最後に操作するのがAliceなら勝ち
// bobなら 00以外を残せばbobの勝ち
// N が偶数ならAliceが勝つ
// 奇数の場合、bobは00ができないように動く
// Aliceは00ができるように動く
// 0が入力にあればAliceが勝つっぽい?
// そうでもない
// 00 があったら勝てる
// それ以外で勝てるパターンは?
// 常に0を生成できる
// 0が存在すればいい...というわけでもない
// bobは00ができないように動くのが大前提
// 端に0があるなら両端0でbobに回せるので勝てる
// それ以外
//
// A_i = 0 (i % 2 == 0) なるiがあればAliceの勝ち
//
//
// T=1 の時
// 最後に操作するのがbobなら何残ってても勝ち
// Aliceなら00以外を残せばいい
use std::collections::*;
use std::io::Write;
type Map<K, V> = BTreeMap<K, V>;
type Set<T> = BTreeSet<T>;
type Deque<T> = VecDeque<T>;
fn main() {
// test();
let (n, t) = {
let a = read();
(a[0].parse::<usize>().unwrap(), a[1].parse::<u32>().unwrap())
};
let mut a = {
let a = read();
a.into_iter()
.map(|a| a.parse::<u32>().unwrap())
.collect::<Vec<_>>()
};
/*
if n == 1 {
if a[0] == t {
println!("Alice");
} else {
println!("Bob");
}
return;
}
*/
let operation = |a: &mut Vec<u32>, p: usize, c: &str| {
assert!(0 < p && p < a.len());
let v = a.remove(p);
if c == "+" {
a[p - 1] ^= v;
} else {
a[p - 1] &= v;
}
};
let opposite = |a: &mut Vec<u32>| {
let (p, c) = {
let a = read();
(a[0].parse::<usize>().unwrap(), a[1].clone())
};
assert!(p > 0);
operation(a, p, &c);
};
let mine = |a: &mut Vec<u32>, x: usize, c: &str| {
println!("{} {}", x, c);
operation(a, x, c);
};
if t == 0 {
if n % 2 == 0 || a.iter().step_by(2).any(|a| *a == 0) {
println!("Alice");
while a.len() > 1 {
if a[0] != 0 {
let x = a[0];
let y = a[1];
if (x, y) == (1, 1) {
mine(&mut a, 1, "+");
} else {
mine(&mut a, 1, "*");
}
} else {
let n = a.len();
let x = a[n - 2];
let y = a[n - 1];
if (x, y) == (1, 1) {
mine(&mut a, n - 1, "+");
} else {
mine(&mut a, n - 1, "*");
}
}
if a.len() > 1 {
opposite(&mut a);
}
}
} else {
println!("Bob");
while a.len() > 1 {
opposite(&mut a);
if a.len() > 1 {
let n = a.len();
for i in 1..n {
let mut b = a.clone();
let v = b.remove(i);
let u = b[i - 1];
b[i - 1] |= v;
if b.iter().step_by(2).all(|b| *b == 1) {
if (v, u) == (1, 1) {
mine(&mut a, i, "*");
} else {
mine(&mut a, i, "+");
}
break;
}
}
assert!(a.len() < n);
}
}
}
} else {
let mut alice = false;
alice |= (1..a.len()).any(|x| {
let mut a = a.clone();
let v = a.remove(x);
a[x - 1] |= v;
a.iter().step_by(2).all(|a| *a == 1)
});
if n % 2 == 1 {
alice = false;
}
if alice {
println!("Alice");
while a.len() > 1 {
let x = (1..a.len()).find(|&x| {
let mut a = a.clone();
let v = a.remove(x);
a[x - 1] |= v;
a.iter().step_by(2).all(|a| *a == 1)
}).unwrap();
let (v, u) = (a[x], a[x - 1]);
if (v, u) == (1, 1) {
mine(&mut a, x, "*");
} else {
mine(&mut a, x, "+");
}
if a.len() > 1 {
opposite(&mut a);
}
}
} else {
println!("Bob");
while a.len() > 1 {
opposite(&mut a);
if a.len() > 1 {
let n = a.len();
for i in 1..n {
let mut b = a.clone();
let v = b.remove(i);
let u = b[i - 1];
b[i - 1] |= v;
if n % 2 == 0 || b.iter().step_by(2).all(|b| *b == 1) {
if (v, u) == (1, 1) {
mine(&mut a, i, "+");
} else {
mine(&mut a, i, "*");
}
break;
}
}
assert!(a.len() < n);
}
}
}
}
}
fn read() -> Vec<String> {
let mut s = String::new();
std::io::stdin().read_line(&mut s).unwrap();
s.trim()
.split_whitespace()
.map(|s| String::from(s))
.collect()
}
fn test() {
let mut memo = Map::new();
let mut used = Set::new();
for _ in 0..1000000 {
let n = rand() % 16 + 1;
let t = (rand() % 2) as u8;
let a = (0..n)
.map(|_| (rand() % 100 < 50) as u8)
.collect::<Vec<_>>();
if !used.insert((a.clone(), t)) {
continue;
}
let win = dfs(a.clone(), t as u8, &mut memo);
let predict = if t == 0 {
if n % 2 == 0 {
true
} else {
a.iter().step_by(2).any(|a| *a == 0)
}
} else {
if n == 1 {
a[0] == t
} else if n % 2 == 1 {
false
} else {
(1..a.len()).any(|x| {
let mut a = a.clone();
let v = a.remove(x);
a[x - 1] |= v;
a.iter().step_by(2).all(|a| *a == 1)
})
}
};
if predict != win {
println!("{:?} {}: {}", a, t, win);
}
}
}
// Aliceが勝つか
fn dfs(a: Vec<u8>, t: u8, memo: &mut Map<(Vec<u8>, u8), bool>) -> bool {
if let Some(&v) = memo.get(&(a.clone(), t)) {
return v;
}
if a.len() == 1 {
return a[0] == t;
}
if a.len() == 2 {
let (x, y) = (a[0], a[1]);
return x & y == t || x ^ y == t;
}
let win = (1..a.len()).any(|x| {
let mut a = a.clone();
let v = a.remove(x);
let val = [a[x - 1] & v, a[x - 1] ^ v];
for v in val {
a[x - 1] = v;
if (1..a.len()).all(|x| {
let mut a = a.clone();
let v = a.remove(x);
let val = [a[x - 1] & v, a[x - 1] ^ v];
!val.iter().any(|&v| {
let mut a = a.clone();
a[x - 1] = v;
!dfs(a, t, memo)
})
}) {
return true;
}
}
false
});
memo.insert((a, t), win);
win
}
// ---------- 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 ----------
fn rand_memory() -> usize {
Box::into_raw(Box::new("I hope this is a random number")) as usize
}
fn rand() -> usize {
static mut X: usize = 0;
unsafe {
if X == 0 {
X = rand_memory();
}
X ^= X << 13;
X ^= X >> 17;
X ^= X << 5;
X
}
}
fn shuffle<T>(a: &mut [T]) {
for i in 1..a.len() {
let p = rand() % (i + 1);
a.swap(i, p);
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 2052kb
input:
4 1 0 1 0 1 1 * 1
output:
Alice 1 + 1 +
result:
ok The player wins!
Test #2:
score: 0
Accepted
time: 0ms
memory: 2196kb
input:
4 0 1 0 1 0 1 + 1
output:
Alice 1 * 1 *
result:
ok The player wins!
Test #3:
score: 0
Accepted
time: 0ms
memory: 2196kb
input:
5 1 1 1 1 0 0 4 + 1 + 1
output:
Bob 1 + 1 *
result:
ok The player wins!
Test #4:
score: 0
Accepted
time: 0ms
memory: 2132kb
input:
3 0 1 1 1 1 + 1
output:
Bob 1 +
result:
ok The player wins!
Test #5:
score: 0
Accepted
time: 0ms
memory: 2136kb
input:
3 1 1 0 1 1 * 1
output:
Bob 1 *
result:
ok The player wins!
Test #6:
score: 0
Accepted
time: 0ms
memory: 2076kb
input:
3 0 1 0 1 1 * 1
output:
Bob 1 +
result:
ok The player wins!
Test #7:
score: 0
Accepted
time: 0ms
memory: 2040kb
input:
2 1 0 1 1
output:
Alice 1 +
result:
ok The player wins!
Test #8:
score: 0
Accepted
time: 2ms
memory: 2088kb
input:
499 0 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 ...
output:
Alice 498 * 496 * 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 * 1 * 1 * 1 + 1 + 1 + 1 + 1 + 1 * 1 * 1 + 1 * 1 + 1 + 1 ...
result:
ok The player wins!
Test #9:
score: 0
Accepted
time: 3ms
memory: 2176kb
input:
499 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 ...
output:
Bob 1 + 1 + 1 + 1 + 3 + 5 + 5 + 7 + 9 + 11 + 11 + 13 + 13 + 17 + 17 + 17 + 17 + 17 + 19 + 21 + 23 + 23 + 23 + 25 + 25 + 29 + 31 + 33 + 33 + 33 + 33 + 35 + 37 + 43 + 45 + 47 + 47 + 49 + 49 + 51 + 51 + 53 + 57 + 59 + 59 + 61 + 63 + 63 + 65 + 65 + 69 + 69 + 71 + 73 + 75 + 75 + 77 + 77 + 83 + 85 + 85 + ...
result:
ok The player wins!
Test #10:
score: 0
Accepted
time: 0ms
memory: 2296kb
input:
500 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 ...
output:
Alice 499 + 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 * 1 * 1 * 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 * ...
result:
ok The player wins!
Test #11:
score: 0
Accepted
time: 0ms
memory: 2224kb
input:
499 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 ...
output:
Bob 1 + 1 + 1 + 1 * 1 * 1 * 1 * 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 * 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 * 1 * 1 + 1 + 1 + 1 + 1 + 1 * 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 * 1 * 1 * 1 + ...
result:
ok The player wins!
Test #12:
score: 0
Accepted
time: 2ms
memory: 2092kb
input:
499 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 ...
output:
Bob 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 * 1 + 1 + 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 + 1 + 1 + 1 * 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 * 1 + 1 + 1 * 1 * 1 + 1 + 1 + 1 * ...
result:
ok The player wins!
Test #13:
score: 0
Accepted
time: 3ms
memory: 2116kb
input:
500 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 ...
output:
Alice 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 3 + 3 + 5 + 11 + 11 + 13 + 13 + 13 + 15 + 15 + 15 + 19 + 21 + 21 + 23 + 23 + 25 + 25 + 25 + 27 + 27 + 27 + 33 + 35 + 35 + 35 + 37 + 37 + 39 + 41 + 41 + 43 + 45 + 45 + 45 + 45 + 49 + 51 + 51 + 57 + 57 + 59 + 61 + 63 + 65 + 71 + 71 + 73 + 73 + 73 + 75 + 77 + 77 + ...
result:
ok The player wins!
Test #14:
score: 0
Accepted
time: 2ms
memory: 2112kb
input:
500 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
output:
Alice 499 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * ...
result:
ok The player wins!
Test #15:
score: 0
Accepted
time: 2ms
memory: 2164kb
input:
499 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
output:
Alice 498 * 496 * 494 * 492 * 490 * 488 * 486 * 484 * 482 * 480 * 478 * 476 * 474 * 472 * 470 * 468 * 466 * 464 * 462 * 460 * 458 * 456 * 454 * 452 * 450 * 448 * 446 * 444 * 442 * 440 * 438 * 436 * 434 * 432 * 430 * 428 * 426 * 424 * 422 * 420 * 418 * 416 * 414 * 412 * 410 * 408 * 406 * 404 * 402 * ...
result:
ok The player wins!
Test #16:
score: 0
Accepted
time: 2ms
memory: 2104kb
input:
499 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
output:
Bob 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + ...
result:
ok The player wins!
Test #17:
score: 0
Accepted
time: 1ms
memory: 2084kb
input:
500 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
output:
Alice 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 ...
result:
ok The player wins!
Test #18:
score: 0
Accepted
time: 1ms
memory: 2232kb
input:
499 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
output:
Bob 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * ...
result:
ok The player wins!
Test #19:
score: 0
Accepted
time: 1ms
memory: 2088kb
input:
499 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
output:
Bob 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * ...
result:
ok The player wins!
Test #20:
score: 0
Accepted
time: 1ms
memory: 2100kb
input:
500 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
output:
Alice 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 ...
result:
ok The player wins!
Test #21:
score: 0
Accepted
time: 1ms
memory: 2172kb
input:
500 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ...
output:
Alice 499 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + ...
result:
ok The player wins!
Test #22:
score: 0
Accepted
time: 0ms
memory: 2064kb
input:
500 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 ...
output:
Alice 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 + 1 * 1 * 1 * 1 * 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 ...
result:
ok The player wins!
Test #23:
score: 0
Accepted
time: 2ms
memory: 2076kb
input:
500 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 ...
output:
Alice 499 + 1 + 1 + 1 + 3 + 3 + 3 + 3 + 5 + 5 + 5 + 11 + 13 + 13 + 13 + 15 + 15 + 15 + 17 + 19 + 21 + 23 + 23 + 25 + 25 + 25 + 27 + 27 + 27 + 27 + 35 + 35 + 35 + 37 + 37 + 39 + 39 + 41 + 43 + 43 + 45 + 47 + 47 + 47 + 49 + 53 + 53 + 59 + 59 + 61 + 61 + 65 + 65 + 71 + 71 + 73 + 73 + 75 + 77 + 79 + 79 ...
result:
ok The player wins!
Test #24:
score: 0
Accepted
time: 1ms
memory: 2096kb
input:
500 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 ...
output:
Alice 1 + 497 * 1 * 1 * 1 * 1 + 1 * 1 * 1 + 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 + 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 * 1 * 1 + 1 + 1 * 1 * 1 + 1 * 1 + 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 + 1 * 1 * 1 + 1 * 1 * 1 * 1 * 1 * 1 + 1 * 1 * 1 * 1 + 1 * 1 * 1 * ...
result:
ok The player wins!
Test #25:
score: 0
Accepted
time: 0ms
memory: 2088kb
input:
500 1 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 ...
output:
Alice 251 + 3 + 5 + 11 + 27 + 37 + 41 + 45 + 53 + 61 + 65 + 67 + 91 + 107 + 109 + 111 + 113 + 115 + 119 + 125 + 133 + 135 + 139 + 155 + 155 + 179 + 185 + 201 + 221 + 235 + 243 + 247 + 269 + 269 + 275 + 277 + 289 + 317 + 327 + 341 + 343 + 347 + 357 + 359 + 369 + 369 + 373 + 381 + 387 + 391 + 391 + 1 ...
result:
ok The player wins!
Test #26:
score: 0
Accepted
time: 1ms
memory: 2060kb
input:
500 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
output:
Alice 1 * 497 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * 1 * ...
result:
ok The player wins!
Test #27:
score: 0
Accepted
time: 1ms
memory: 2108kb
input:
500 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 ...
output:
Alice 99 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1...
result:
ok The player wins!
Test #28:
score: 0
Accepted
time: 0ms
memory: 2100kb
input:
500 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 ...
output:
Alice 1 * 1 + 1 * 1 * 1 * 1 * 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 * 1 + 1 + 1 * 1 + 1 * 1 * 1 * 1 + 1 * 1 + 1 * 1 * 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 * 1 * 1 * 1 * 1 + 1 * 1 * 1 + 1 * 1 * 1 + 1 * 1 * 1 * 1 + 1 * 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 ...
result:
ok The player wins!
Test #29:
score: 0
Accepted
time: 2ms
memory: 2172kb
input:
500 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 ...
output:
Alice 323 + 5 + 13 + 15 + 17 + 17 + 21 + 21 + 21 + 21 + 23 + 25 + 25 + 31 + 35 + 37 + 39 + 45 + 47 + 49 + 51 + 55 + 59 + 77 + 77 + 79 + 81 + 81 + 83 + 85 + 93 + 93 + 95 + 99 + 105 + 111 + 111 + 111 + 113 + 119 + 125 + 125 + 129 + 135 + 135 + 135 + 139 + 149 + 153 + 159 + 161 + 161 + 165 + 169 + 169 ...
result:
ok The player wins!
Test #30:
score: 0
Accepted
time: 1ms
memory: 2080kb
input:
350 0 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 ...
output:
Alice 1 + 347 + 1 * 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 + 1 * 1 + 1 + 1 * 1 * 1 + 1 + 1 + 1 + 1 + 1 * 1 + 1 + 1 + ...
result:
ok The player wins!
Test #31:
score: 0
Accepted
time: 1ms
memory: 2072kb
input:
350 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
output:
Alice 181 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 3 + 3 + 5 + 5 + 5 + 5 + 7 + 7 + 9 + 9 + 9 + 9 + 11 + 11 + 11 + 11 + 11 + 13 + 13 + 13 + 15 + 15 + 15 + 15 + 17 + 17 + 19 + 19 + 21 + 21 + 23 + 25 + 25 + 27 + 27 + 29 + 31 + 33 + 33 + 35 + 35 + 35 + 35 + 35 + 35 + 35 + 37 + 37 + 37 + 41 + 43 + 45 + 45 +...
result:
ok The player wins!
Test #32:
score: 0
Accepted
time: 1ms
memory: 2068kb
input:
500 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 ...
output:
Alice 1 * 497 + 495 * 493 * 491 * 489 * 487 * 485 * 483 * 481 * 479 * 477 * 475 * 473 * 471 * 469 * 467 * 465 * 463 * 461 * 459 * 457 * 455 * 453 * 451 * 449 * 447 * 445 * 443 * 441 * 439 * 437 * 435 * 433 * 431 * 429 * 427 * 425 * 423 * 421 * 419 * 417 * 415 * 413 * 411 * 409 * 407 * 405 * 403 * 40...
result:
ok The player wins!
Test #33:
score: -100
Runtime Error
input:
500 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 1 ...
output:
Bob