結果
| 問題 | 
                            No.2766 Delicious Multiply Spice
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2024-05-31 21:42:20 | 
| 言語 | Rust  (1.83.0 + proconio)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 1 ms / 2,000 ms | 
| コード長 | 910 bytes | 
| コンパイル時間 | 13,928 ms | 
| コンパイル使用メモリ | 385,420 KB | 
| 実行使用メモリ | 6,820 KB | 
| 最終ジャッジ日時 | 2024-12-20 22:57:21 | 
| 合計ジャッジ時間 | 15,406 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 8 | 
| other | AC * 31 | 
コンパイルメッセージ
warning: unused import: `std::cmp::max`
 --> src/main.rs:1:5
  |
1 | use std::cmp::max;
  |     ^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default
warning: unused variable: `test_cases`
  --> src/main.rs:27:9
   |
27 |     let test_cases:u32;
   |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_cases`
   |
   = note: `#[warn(unused_variables)]` on by default
warning: variable `INPUT` should have a snake case name
  --> src/main.rs:29:13
   |
29 |     let mut INPUT = io::BufReader::new(stdin.lock()).lines().map(Result::unwrap);
   |             ^^^^^ help: convert the identifier to snake case: `input`
   |
   = note: `#[warn(non_snake_case)]` on by default
warning: variable `OUTPUT` should have a snake case name
  --> src/main.rs:30:13
   |
30 |     let mut OUTPUT = io::BufWriter::new(io::stdout().lock());
   |             ^^^^^^ help: convert the identifier to snake case: `output`
warning: unused `Result` that must be used
  --> src/main.rs:37:5
   |
37 |     writeln!(OUTPUT, "{}", solve(n).unwrap());
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: this `Result` may be an `Err` variant, which should be handled
   = note: `#[warn(unused_must_use)]` on by default
   = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info)
            
            ソースコード
use std::cmp::max;
use std::io;
use std::io::{Write, BufRead};
fn solve(n:u64) -> Option<String>{
    if n == 1{return Some(String::new());}
    let n = n-1;
    if n %2 ==0 {
        if let Some(mut s) = solve(n/2){
            s.push('A');
            return Some(s);
        }
    }
    if n %3 ==0 {
        if let Some(mut s) = solve(n/3){
            s.push('B');
            return Some(s);
        }
    }
    None
}
pub fn main(){
    let test_cases:u32;
    let stdin = io::stdin();
    let mut INPUT = io::BufReader::new(stdin.lock()).lines().map(Result::unwrap);
    let mut OUTPUT = io::BufWriter::new(io::stdout().lock());
    
    // test_cases = INPUT.next().unwrap().parse().unwrap();
    let n = INPUT.next().unwrap().parse::<u64>().unwrap();
    
    writeln!(OUTPUT, "{}", solve(n).unwrap());
//    for _ in 0..test_cases{
//    }
}