rcpl

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub ruthen71/rcpl

:warning: I/O
(misc/io.hpp)

入出力用の関数です。

scan

void scan(T a, U b, ...)

変数 a, b, … に対して入力を読み取り、値を格納します。

制約

print

void print(T a, U b, ...)

変数 a, b, … の値をスペース区切りで出力し、最後に改行します。

制約

printi

void printi(T a, U b, ...)

変数 a, b, … の値をスペース区切りで出力し、最後に改行し、フラッシュします(std::endl に相当します)。

主にインタラクティブ問題のために利用します。

制約

参考文献

Required by

Code

#pragma once

#include <iostream>

// I/O
// input
template <class... T> void in(T&... a) { (std::cin >> ... >> a); }
void scan() {}
template <class Head, class... Tail> void scan(Head& head, Tail&... tail) {
    in(head);
    scan(tail...);
}
// output
template <class... T> void out(const T&... a) { (std::cout << ... << a); }
void print() { out('\n'); }
template <class Head, class... Tail> void print(Head&& head, Tail&&... tail) {
    out(head);
    if (sizeof...(Tail)) out(' ');
    print(tail...);
}
// output for interactive problems
void printi() { std::cout << std::endl; }
template <class Head, class... Tail> void printi(Head&& head, Tail&&... tail) {
    out(head);
    if (sizeof...(Tail)) out(' ');
    printi(tail...);
}
#line 2 "misc/io.hpp"

#include <iostream>

// I/O
// input
template <class... T> void in(T&... a) { (std::cin >> ... >> a); }
void scan() {}
template <class Head, class... Tail> void scan(Head& head, Tail&... tail) {
    in(head);
    scan(tail...);
}
// output
template <class... T> void out(const T&... a) { (std::cout << ... << a); }
void print() { out('\n'); }
template <class Head, class... Tail> void print(Head&& head, Tail&&... tail) {
    out(head);
    if (sizeof...(Tail)) out(' ');
    print(tail...);
}
// output for interactive problems
void printi() { std::cout << std::endl; }
template <class Head, class... Tail> void printi(Head&& head, Tail&&... tail) {
    out(head);
    if (sizeof...(Tail)) out(' ');
    printi(tail...);
}
Back to top page