zawatins-library

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

View the Project on GitHub zawa-tin/zawatins-library

:heavy_check_mark: test/RLE.test.cpp

Depends on

Code

#define PROBLEM "https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/1/ITP1_1_A"

#include <iostream>
// #include <algorithm>

#include "../src/algorithm/RLE.hpp"

int main() {

    // https://atcoder.jp/contests/abc259/submissions/35168404

    // std::string s, t;
    // std::cin >> s >> t;
    // auto rs = zawa::rle(s), ts = zawa::rle(t);
    // bool ans = rs.size() == ts.size();
    // for (size_t i = 0 ; i < std::min(rs.size(), ts.size()) ; i++) {
    //     if (rs[i] == ts[i]) {
    //         continue;
    //     }
    //     if (rs[i].first != ts[i].first or rs[i].second == 1 or rs[i].second > ts[i].second) {
    //         ans = false;
    //     }
    // }
    // std::cout << (ans ? "Yes" : "No") << std::endl;

    std::cout << "Hello World" << std::endl;
}
#line 1 "test/RLE.test.cpp"
#define PROBLEM "https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/1/ITP1_1_A"

#include <iostream>
// #include <algorithm>

#line 2 "src/algorithm/RLE.hpp"

#include <vector>
#include <utility>
#include <string>

namespace zawa {

template <typename T>
std::vector<std::pair<T, int>> rle(const std::vector<T>& ins) {
    std::vector<std::pair<T, int>> res;
    for (size_t i = 0 ; i < ins.size() ; i++) {
        if (res.empty() or res.back().first != ins[i]) {
            res.emplace_back(ins[i], 1);
        }
        else {
            res.back().second++;
        }
    }
    return res;
}

std::vector<std::pair<char, int>> rle(const std::string& s) {
    std::vector<char> in(s.begin(), s.end());
    return rle(in);
}

} // namespace zawa
#line 7 "test/RLE.test.cpp"

int main() {

    // https://atcoder.jp/contests/abc259/submissions/35168404

    // std::string s, t;
    // std::cin >> s >> t;
    // auto rs = zawa::rle(s), ts = zawa::rle(t);
    // bool ans = rs.size() == ts.size();
    // for (size_t i = 0 ; i < std::min(rs.size(), ts.size()) ; i++) {
    //     if (rs[i] == ts[i]) {
    //         continue;
    //     }
    //     if (rs[i].first != ts[i].first or rs[i].second == 1 or rs[i].second > ts[i].second) {
    //         ans = false;
    //     }
    // }
    // std::cout << (ans ? "Yes" : "No") << std::endl;

    std::cout << "Hello World" << std::endl;
}
Back to top page