| Task: | Peli |
| Sender: | vulpesomnia |
| Submission time: | 2026-01-17 14:50:08 +0200 |
| Language: | Rust (2021) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | 1, 2, 3 | details |
| #2 | WRONG ANSWER | 0.02 s | 1, 2, 3 | details |
| #3 | WRONG ANSWER | 0.02 s | 2, 3 | details |
| #4 | RUNTIME ERROR | 0.02 s | 3 | details |
| #5 | WRONG ANSWER | 0.02 s | 2, 3 | details |
| #6 | RUNTIME ERROR | 0.02 s | 3 | details |
Code
use std::io;
fn main() {
let mut input: String = String::new();
io::stdin().read_line(&mut input).expect("gg");
let t: usize = input.trim().parse().unwrap();
let mut games: Vec<Vec<bool>> = vec![vec![false; 2000]; 2000];
let mut calculated: Vec<Vec<bool>> = vec![vec![false; 2000]; 2000];
// Index = row/column -> output first column/row when you loose
let mut rc_lose: Vec<usize> = vec![0; 2000];
let mut d_lose: Vec<usize> = vec![0; 2000];
for i in 0..2000 {
for j in i..2000 {
// SHOULD WORK LIKE THIS; TRY 0...2000 IF NOT
if calculated[i][j] == false {
calculated[i][j] = true;
if i == 0 || j == 0 {
games[i][j] = true;
} else {
if (rc_lose[i] != 0 || rc_lose[j] != 0) || (d_lose[i - j + 1] != 0) {
games[i][j] = true;
} else {
games[i][j] = false;
rc_lose[i] = j;
rc_lose[j] = i;
d_lose[i - j] = j;
}
}
}
}
}
for _ in 0..t {
let mut input: String = String::new();
io::stdin().read_line(&mut input).expect("gg");
let mut iter = input.split_whitespace();
let (a, b): (usize, usize) = (
iter.next().unwrap().trim().parse().unwrap(),
iter.next().unwrap().trim().parse().unwrap(),
);
if !games[a][b] {
println!("first");
} else {
println!("second");
}
}
}
Test details
Test 1 (public)
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 5 2 2 1 2 3 2 4 3 ... |
| correct output |
|---|
| first second first first second |
| user output |
|---|
| first second first first second |
Test 2
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 1 1 1 2 1 3 1 4 ... |
| correct output |
|---|
| first second first first first ... |
| user output |
|---|
| first second second second second ... |
Feedback: Incorrect character on line 3 col 1: expected "first", got "second"
Test 3
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 1000 82 14 91 84 13 97 92 23 ... |
| correct output |
|---|
| first first first first first ... |
| user output |
|---|
| first first second first first ... |
Feedback: Incorrect character on line 3 col 1: expected "first", got "second"
Test 4
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 1000 1630 271 1812 1671 254 1938 1827 443 ... |
| correct output |
|---|
| first first first first first ... |
| user output |
|---|
| first first second first first ... |
Error:
thread 'main' panicked at input/code.rs:42:21: index out of bounds: the len is 2000 but the index is 2000 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Test 5
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 1000 36 14 79 81 93 82 32 1 ... |
| correct output |
|---|
| first first first first first ... |
| user output |
|---|
| first second first first second ... |
Feedback: Incorrect character on line 2 col 1: expected "first", got "second"
Test 6
Group: 3
Verdict: RUNTIME ERROR
| input |
|---|
| 1000 486 300 899 1455 879 543 40 65 ... |
| correct output |
|---|
| second second second second second ... |
| user output |
|---|
| first second first second first ... |
Error:
thread 'main' panicked at input/code.rs:42:21: index out of bounds: the len is 2000 but the index is 2000 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
