| Task: | Peli |
| Sender: | asonnine |
| Submission time: | 2026-01-17 16:23:22 +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.05 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.05 s | 1, 2, 3 | details |
| #3 | ACCEPTED | 0.05 s | 2, 3 | details |
| #4 | ACCEPTED | 0.05 s | 3 | details |
| #5 | ACCEPTED | 0.05 s | 2, 3 | details |
| #6 | ACCEPTED | 0.05 s | 3 | details |
Code
use std::collections::HashSet;
fn main() {
let mut used_rows: HashSet<isize> = HashSet::new();
let mut used_diagonals: HashSet<isize> = HashSet::new();
let mut arr: Vec<isize> = Vec::new();
for i in 0..2001 {
let mut pushed = false;
for test in 0..2001 {
if used_rows.contains(&test) {
continue;
}
if used_diagonals.contains(&(i - test)) {
continue;
}
arr.push(test);
used_rows.insert(test);
used_diagonals.insert(i - test);
pushed= true;
break;
}
if !pushed {
arr.push(-1);
}
}
let mut input = String::new();
std::io::stdin().read_line(&mut input).unwrap();
let n: usize = input.trim().parse().unwrap();
let mut tests: Vec<(isize, isize)> = Vec::new();
for _ in 0..n {
let mut input = String::new();
std::io::stdin().read_line(&mut input).unwrap();
let mut iter = input.split_whitespace().map(|x| x.parse().unwrap());
tests.push((iter.next().unwrap(), iter.next().unwrap()));
}
/*
let mut arr = vec![vec![1; 1000]; 1000];
'asd: for i in 0..1000 {
for j in 0..1000 {
if i == j {
continue;
}
arr[i][j] = 2;
for x in 0..i {
if arr[x][j] == 2 {
arr[i][j] = 1;
}
}
for x in 0..j {
if arr[i][x] == 2 {
arr[i][j] = 1;
}
}
for x in 0..i.min(j) {
if arr[i - x - 1][j - x - 1] == 2 {
arr[i][j] = 1;
}
}
if arr[i][j] == 2 {
continue 'asd;
}
}
}
dbg!(&arr);
*/
for test in tests {
if arr[test.0 as usize] == test.1 {
println!("second");
} else {
println!("first");
}
}
}
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 ... |
