Submission #44451463


Source Code Expand

Copy
use proconio::{input, source::line::LineSource};
use std::{
io::{stdin, BufReader},
process::exit,
};
fn main() {
let stdin = stdin();
let mut source = LineSource::new(BufReader::new(stdin.lock()));
input! {
from &mut source,
grid_size: u32,
num_exit: usize,
stdev: u32,
exit_cells: [(u32, u32); num_exit]
};
let max_temp = 1000;
for i in 0..grid_size {
for j in 0..grid_size {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
use proconio::{input, source::line::LineSource};
use std::{
    io::{stdin, BufReader},
    process::exit,
};

fn main() {
    let stdin = stdin();
    let mut source = LineSource::new(BufReader::new(stdin.lock()));

    input! {
        from &mut source,
        grid_size: u32,
        num_exit: usize,
        stdev: u32,
        exit_cells: [(u32, u32); num_exit]
    };
    let max_temp = 1000;

    for i in 0..grid_size {
        for j in 0..grid_size {
            let mut output = false;
            for x in 0..num_exit {
                if exit_cells[x] == (i, j) {
                    print!("{} ", max_temp * (x + 1) / num_exit);
                    output = true;
                    break;
                }
            }
            if !output {
                print!("0 ");
            }
        }
        println!("");
    }

    // measure
    let mut ans = vec![(0, 0); num_exit];
    let max_measure = 10000;
    for turn in 0..max_measure {
        println!("{} {} {}", turn % num_exit, 0, 0);
        input! {
            from &mut source,
            measure_result: i32
        };
        if measure_result == -1 {
            exit(0);
        }
        ans[turn % num_exit].0 += measure_result;
        ans[turn % num_exit].1 += 1;
    }

    // output
    println!("-1 -1 -1");
    for i in 0..num_exit {
        let measure = ans[i].0 as f64 / ans[i].1 as f64;
        let mut minim = (1e9, 0);
        for x in 0..num_exit {
            let temp = max_temp * (x + 1) / num_exit;
            let diff = (measure - temp as f64).abs();
            if minim.0 > diff {
                minim = (diff, x);
            }
        }
        println!("{}", minim.1);
    }
}

Submission Info

Submission Time
Task A - Exploring Another Space
User a01sa01to
Language Rust (1.42.0)
Score 5151128
Code Size 1762 Byte
Status AC
Exec Time 88 ms
Memory 4184 KB

Compile Error

warning: unused variable: `stdev`
  --> src/main.rs:15:9
   |
15 |         stdev: u32,
   |         ^^^^^ help: consider prefixing with an underscore: `_stdev`
   |
   = note: `#[warn(unused_variables)]` on by default

Judge Result

Set Name test_ALL
Score / Max Score 5151128 / 50000000000
Status
AC × 50
Set Name Test Cases
test_ALL test_0000.txt, test_0001.txt, test_0002.txt, test_0003.txt, test_0004.txt, test_0005.txt, test_0006.txt, test_0007.txt, test_0008.txt, test_0009.txt, test_0010.txt, test_0011.txt, test_0012.txt, test_0013.txt, test_0014.txt, test_0015.txt, test_0016.txt, test_0017.txt, test_0018.txt, test_0019.txt, test_0020.txt, test_0021.txt, test_0022.txt, test_0023.txt, test_0024.txt, test_0025.txt, test_0026.txt, test_0027.txt, test_0028.txt, test_0029.txt, test_0030.txt, test_0031.txt, test_0032.txt, test_0033.txt, test_0034.txt, test_0035.txt, test_0036.txt, test_0037.txt, test_0038.txt, test_0039.txt, test_0040.txt, test_0041.txt, test_0042.txt, test_0043.txt, test_0044.txt, test_0045.txt, test_0046.txt, test_0047.txt, test_0048.txt, test_0049.txt
Case Name Status Exec Time Memory
test_0000.txt AC 86 ms 4180 KB
test_0001.txt AC 84 ms 4004 KB
test_0002.txt AC 84 ms 3908 KB
test_0003.txt AC 80 ms 3972 KB
test_0004.txt AC 80 ms 4076 KB
test_0005.txt AC 83 ms 3900 KB
test_0006.txt AC 86 ms 4012 KB
test_0007.txt AC 84 ms 3896 KB
test_0008.txt AC 82 ms 4080 KB
test_0009.txt AC 82 ms 3912 KB
test_0010.txt AC 88 ms 4052 KB
test_0011.txt AC 81 ms 4012 KB
test_0012.txt AC 82 ms 3816 KB
test_0013.txt AC 83 ms 3904 KB
test_0014.txt AC 81 ms 3892 KB
test_0015.txt AC 84 ms 3896 KB
test_0016.txt AC 87 ms 4084 KB
test_0017.txt AC 83 ms 3808 KB
test_0018.txt AC 80 ms 4184 KB
test_0019.txt AC 83 ms 4020 KB
test_0020.txt AC 78 ms 3904 KB
test_0021.txt AC 82 ms 3972 KB
test_0022.txt AC 83 ms 4184 KB
test_0023.txt AC 82 ms 3892 KB
test_0024.txt AC 86 ms 3988 KB
test_0025.txt AC 81 ms 3904 KB
test_0026.txt AC 81 ms 4012 KB
test_0027.txt AC 83 ms 3900 KB
test_0028.txt AC 88 ms 4180 KB
test_0029.txt AC 83 ms 4020 KB
test_0030.txt AC 84 ms 3964 KB
test_0031.txt AC 83 ms 3900 KB
test_0032.txt AC 83 ms 3960 KB
test_0033.txt AC 85 ms 4076 KB
test_0034.txt AC 82 ms 3904 KB
test_0035.txt AC 86 ms 4012 KB
test_0036.txt AC 82 ms 4044 KB
test_0037.txt AC 83 ms 4024 KB
test_0038.txt AC 87 ms 3896 KB
test_0039.txt AC 83 ms 3972 KB
test_0040.txt AC 82 ms 3976 KB
test_0041.txt AC 85 ms 3972 KB
test_0042.txt AC 85 ms 3760 KB
test_0043.txt AC 84 ms 3884 KB
test_0044.txt AC 83 ms 3700 KB
test_0045.txt AC 83 ms 3984 KB
test_0046.txt AC 83 ms 4176 KB
test_0047.txt AC 82 ms 3900 KB
test_0048.txt AC 86 ms 3908 KB
test_0049.txt AC 83 ms 3900 KB


2025-04-06 (Sun)
11:35:17 +00:00