| Task: | Peli |
| Sender: | vulpesomnia |
| Submission time: | 2026-01-17 15:25:08 +0200 |
| Language: | Rust (2021) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 17 |
| #2 | ACCEPTED | 38 |
| #3 | ACCEPTED | 45 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #3 | ACCEPTED | 0.01 s | 2, 3 | details |
| #4 | ACCEPTED | 0.01 s | 3 | details |
| #5 | ACCEPTED | 0.01 s | 2, 3 | details |
| #6 | ACCEPTED | 0.01 s | 3 | details |
Code
use std::io;
use std::cmp::{min, max};
fn main() {
let mut input: String = String::new();
io::stdin().read_line(&mut input).expect("gg");
let t: usize = input.trim().parse().unwrap();
let limit = 2001;
let mut games: Vec<Vec<bool>> = vec![vec![false; limit]; limit];
// Index = row/column -> output first column/row when you loose
let mut rc_lose: Vec<usize> = vec![0; limit];
let mut d_lose: Vec<usize> = vec![0; limit];
for i in 0..limit {
for j in i..limit {
// SHOULD WORK LIKE THIS; TRY 0...2000 IF NOT
if (i == 0 || j == 0) || i == j {
games[i][j] = true;
} else {
if (rc_lose[i] == 0 && rc_lose[j] == 0) && (d_lose[j - i] == 0) {
games[i][j] = false;
rc_lose[i] = j;
rc_lose[j] = i;
d_lose[j - i] = j;
} else {
games[i][j] = true;
}
}
}
}
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(),
);
let i = min(a, b);
let j = max(a, b);
if games[i][j] {
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: ACCEPTED
| input |
|---|
| 100 1 1 1 2 1 3 1 4 ... |
| correct output |
|---|
| first second first first first ... |
| user output |
|---|
| first second first first first ... |
Test 3
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 1000 82 14 91 84 13 97 92 23 ... |
| correct output |
|---|
| first first first first first ... |
| user output |
|---|
| first first first first first ... |
Test 4
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 1630 271 1812 1671 254 1938 1827 443 ... |
| correct output |
|---|
| first first first first first ... |
| user output |
|---|
| first first first first first ... |
Test 5
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 1000 36 14 79 81 93 82 32 1 ... |
| correct output |
|---|
| first first first first first ... |
| user output |
|---|
| first first first first first ... |
Test 6
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 486 300 899 1455 879 543 40 65 ... |
| correct output |
|---|
| second second second second second ... |
| user output |
|---|
| second second second second second ... |
