Skip to content
hachi-88 edited this page Jun 22, 2019 · 10 revisions

C++チートシート

最小公倍数

a * b / gcd(a, b)

最大公約数

long gcd(long a, long b)
{
    if(a < b) {
        swap(a, b);
    }

    long r = a % b;
    while(r != 0) {
        a = b;
        b = r;
        r = a % b;
    }

    return b;
}
sort(c, c + m, [](city a, city b){ return a.i < b.i; });
struct data_t {
    int num;
    string str;

    // 最後のconstを忘れると"instantiated from here"というエラーが出てコンパイルできないので注意
    bool operator<( const data_t& right ) const {
        return num == right.num ? str < right.str : num < right.num;
    }
};

配列の降順ソート

sort(a, a + N, greater<int>());
cout << setw(6) << setfill('0') << c[i].p;
    unordered_map<string, int> cards;

    for (auto card : cards) {
        max = std::max(max, card.second);
    }