Submission #1793286
Source Code Expand
fn main() { let n = get::val::<usize>(); let xys = get::tuples::<isize,isize>(n); let mut ans = 0; for i in 0 .. n-2 { for j in i+1 .. n-1 { for k in j+1 .. n { let (xi,yi) = xys[i]; let (xj,yj) = xys[j]; let (xk,yk) = xys[k]; let (xi,yi) = (xi-xk, yi-yk); let (xj,yj) = (xj-xk, yj-yk); let s = xi*yj - xj*yi; if s != 0 && s%2 == 0 {ans += 1} } } } println!("{}", ans) } #[allow(dead_code)] mod get { use std::io::*; use std::str::*; pub fn val<T: FromStr>() -> T { let mut buf = String::new(); let s = stdin(); s.lock().read_line(&mut buf).ok(); buf.trim_right().parse::<T>().ok().unwrap() } pub fn vals<T: FromStr>(n: usize) -> Vec<T> { let mut vec: Vec<T> = vec![]; for _ in 0 .. n { vec.push(val()); } vec } pub fn tuple<T1: FromStr, T2: FromStr>() -> (T1, T2) { let mut buf = String::new(); let s = stdin(); s.lock().read_line(&mut buf).ok(); let mut it = buf.trim_right().split_whitespace(); let x = it.next().unwrap().parse::<T1>().ok().unwrap(); let y = it.next().unwrap().parse::<T2>().ok().unwrap(); (x, y) } pub fn tuples<T1: FromStr, T2: FromStr>(n: usize) -> Vec<(T1, T2)> { let mut vec: Vec<(T1, T2)> = vec![]; for _ in 0 .. n { vec.push(tuple()); } vec } pub fn tuple3<T1: FromStr, T2: FromStr, T3: FromStr>() -> (T1, T2, T3) { let mut buf = String::new(); let s = stdin(); s.lock().read_line(&mut buf).ok(); let mut it = buf.trim_right().split_whitespace(); let x = it.next().unwrap().parse::<T1>().ok().unwrap(); let y = it.next().unwrap().parse::<T2>().ok().unwrap(); let z = it.next().unwrap().parse::<T3>().ok().unwrap(); (x, y, z) } pub fn tuple3s<T1: FromStr, T2: FromStr, T3: FromStr>(n: usize) -> Vec<(T1, T2, T3)> { let mut vec: Vec<(T1, T2, T3)> = vec![]; for _ in 0 .. n { vec.push(tuple3()); } vec } pub fn list<T: FromStr>() -> Vec<T> { let mut buf = String::new(); let s = stdin(); s.lock().read_line(&mut buf).ok(); buf.trim_right().split_whitespace().map(|t| t.parse::<T>().ok().unwrap()).collect() } pub fn lists<T: FromStr + Ord>(h: usize) -> Vec<Vec<T>> { let mut mat: Vec<Vec<T>> = vec![]; for _ in 0 .. h { let mut list = list(); list.sort(); mat.push(list); } mat } pub fn chars() -> Vec<char> { let mut buf = String::new(); let s = stdin(); s.lock().read_line(&mut buf).ok(); buf.trim_right().chars().collect() } }
Submission Info
Submission Time | |
---|---|
Task | B - 格子点と整数 |
User | aimy |
Language | Rust (1.15.1) |
Score | 100 |
Code Size | 2707 Byte |
Status | AC |
Exec Time | 3 ms |
Memory | 4352 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, case_26.txt, case_27.txt, case_28.txt, case_29.txt, case_30.txt, case_31.txt, case_32.txt, case_33.txt, case_34.txt, case_35.txt, case_36.txt, case_37.txt, case_38.txt, case_39.txt, case_40.txt, case_41.txt, case_42.txt, case_43.txt, case_44.txt, case_45.txt, case_46.txt, case_47.txt, case_48.txt, case_49.txt, case_50.txt, case_51.txt, case_52.txt, case_53.txt, case_54.txt, case_55.txt, case_56.txt, case_57.txt, case_58.txt, case_59.txt, case_60.txt, case_61.txt, case_62.txt, case_63.txt, case_64.txt, case_65.txt, case_66.txt, case_67.txt, case_68.txt, case_69.txt, case_70.txt, case_71.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
case_01.txt | AC | 2 ms | 4352 KB |
case_02.txt | AC | 3 ms | 4352 KB |
case_03.txt | AC | 2 ms | 4352 KB |
case_04.txt | AC | 2 ms | 4352 KB |
case_05.txt | AC | 2 ms | 4352 KB |
case_06.txt | AC | 3 ms | 4352 KB |
case_07.txt | AC | 2 ms | 4352 KB |
case_08.txt | AC | 2 ms | 4352 KB |
case_09.txt | AC | 3 ms | 4352 KB |
case_10.txt | AC | 2 ms | 4352 KB |
case_11.txt | AC | 2 ms | 4352 KB |
case_12.txt | AC | 2 ms | 4352 KB |
case_13.txt | AC | 2 ms | 4352 KB |
case_14.txt | AC | 2 ms | 4352 KB |
case_15.txt | AC | 2 ms | 4352 KB |
case_16.txt | AC | 2 ms | 4352 KB |
case_17.txt | AC | 2 ms | 4352 KB |
case_18.txt | AC | 2 ms | 4352 KB |
case_19.txt | AC | 2 ms | 4352 KB |
case_20.txt | AC | 2 ms | 4352 KB |
case_21.txt | AC | 3 ms | 4352 KB |
case_22.txt | AC | 2 ms | 4352 KB |
case_23.txt | AC | 2 ms | 4352 KB |
case_24.txt | AC | 2 ms | 4352 KB |
case_25.txt | AC | 2 ms | 4352 KB |
case_26.txt | AC | 2 ms | 4352 KB |
case_27.txt | AC | 2 ms | 4352 KB |
case_28.txt | AC | 2 ms | 4352 KB |
case_29.txt | AC | 2 ms | 4352 KB |
case_30.txt | AC | 2 ms | 4352 KB |
case_31.txt | AC | 2 ms | 4352 KB |
case_32.txt | AC | 2 ms | 4352 KB |
case_33.txt | AC | 2 ms | 4352 KB |
case_34.txt | AC | 2 ms | 4352 KB |
case_35.txt | AC | 2 ms | 4352 KB |
case_36.txt | AC | 2 ms | 4352 KB |
case_37.txt | AC | 2 ms | 4352 KB |
case_38.txt | AC | 2 ms | 4352 KB |
case_39.txt | AC | 2 ms | 4352 KB |
case_40.txt | AC | 2 ms | 4352 KB |
case_41.txt | AC | 2 ms | 4352 KB |
case_42.txt | AC | 2 ms | 4352 KB |
case_43.txt | AC | 2 ms | 4352 KB |
case_44.txt | AC | 2 ms | 4352 KB |
case_45.txt | AC | 2 ms | 4352 KB |
case_46.txt | AC | 2 ms | 4352 KB |
case_47.txt | AC | 2 ms | 4352 KB |
case_48.txt | AC | 2 ms | 4352 KB |
case_49.txt | AC | 2 ms | 4352 KB |
case_50.txt | AC | 3 ms | 4352 KB |
case_51.txt | AC | 3 ms | 4352 KB |
case_52.txt | AC | 3 ms | 4352 KB |
case_53.txt | AC | 3 ms | 4352 KB |
case_54.txt | AC | 3 ms | 4352 KB |
case_55.txt | AC | 3 ms | 4352 KB |
case_56.txt | AC | 3 ms | 4352 KB |
case_57.txt | AC | 3 ms | 4352 KB |
case_58.txt | AC | 3 ms | 4352 KB |
case_59.txt | AC | 3 ms | 4352 KB |
case_60.txt | AC | 3 ms | 4352 KB |
case_61.txt | AC | 3 ms | 4352 KB |
case_62.txt | AC | 3 ms | 4352 KB |
case_63.txt | AC | 3 ms | 4352 KB |
case_64.txt | AC | 3 ms | 4352 KB |
case_65.txt | AC | 3 ms | 4352 KB |
case_66.txt | AC | 3 ms | 4352 KB |
case_67.txt | AC | 3 ms | 4352 KB |
case_68.txt | AC | 3 ms | 4352 KB |
case_69.txt | AC | 3 ms | 4352 KB |
case_70.txt | AC | 2 ms | 4352 KB |
case_71.txt | AC | 2 ms | 4352 KB |
sample_1.txt | AC | 2 ms | 4352 KB |
sample_2.txt | AC | 2 ms | 4352 KB |
sample_3.txt | AC | 2 ms | 4352 KB |
sample_4.txt | AC | 2 ms | 4352 KB |