結果
問題 | No.5007 Steiner Space Travel |
ユーザー |
![]() |
提出日時 | 2022-07-30 14:43:28 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 6,779 bytes |
コンパイル時間 | 1,027 ms |
実行使用メモリ | 3,580 KB |
スコア | 1,221,702 |
最終ジャッジ日時 | 2022-07-30 14:43:35 |
合計ジャッジ時間 | 2,583 ms |
ジャッジサーバーID (参考情報) |
judge12 / judge15 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 30 |
ソースコード
#pragma GCC optimize("O3")#pragma GCC optimize("unroll-loops")#pragma GCC optimize("inline")#include <cmath>#include <string>#include <array>#include <vector>#include <cstdlib>#include <sstream>#include <iostream>#include <algorithm>#include <limits>#include <queue>#include <set>#include <unordered_set>#include <map>#include <unordered_map>#include <bitset>#include <chrono>using namespace std;template<class F, class S> string in_v_to_str (const pair<F, S> v);template<class F, class S> string v_to_str (const pair<F, S> v);string in_v_to_str (const char v) { return "'" + string{v} + "'"; }string in_v_to_str (const char* v) { return "\"" + string(v) + "\""; }string in_v_to_str (const string v) { return "\"" + v + "\""; }template<class T> string in_v_to_str (const T v) { stringstream ss; ss << v; return ss.str(); }template<class T> string v_to_str (const T v) { stringstream ss; ss << v; return ss.str(); }template<class T, size_t N> string v_to_str (const array<T, N>& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (size_t i = 0; i < v.size()- 1; ++i) { ss << in_v_to_str(v[i]) << ", "; } ss << in_v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[]"; } return ss.str(); }template<class T, size_t N> string v_to_str (const array< array<T, N>, N >& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (size_t i = 0; i< v.size() - 1; ++i) { ss << v_to_str(v[i]) << ", "; } ss << v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[-]"; } return ss.str(); }template<class T> string v_to_str (const vector<T>& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (size_t i = 0; i < v.size() - 1; ++i) {ss << in_v_to_str(v[i]) << ", "; } ss << in_v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[]"; } return ss.str(); }template<class T> string v_to_str (const vector< vector<T> >& v) { stringstream ss; if (v.size() > 0) { ss << "["; for (size_t i = 0; i < v.size() -1; ++i) { ss << v_to_str(v[i]) << ", "; } ss << v_to_str(v[v.size() - 1]) << "]"; } else { ss << "[-]"; } return ss.str(); }template<class T> string v_to_str (const set<T>& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}"); for (auto& i : v) { ss<< in_v_to_str(i) << (len-- > 1 ? ", " : "}"); } return ss.str(); }template<class K, class V> string v_to_str (const map<K, V>& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}"); for (auto&i : v) { ss << in_v_to_str(i.first) << " : " << in_v_to_str(i.second) << (len-- > 1 ? ", " : "}"); } return ss.str(); }template<class T> string v_to_str (const unordered_set<T>& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}"); for (auto& i: v) { ss << in_v_to_str(i) << (len-- > 1 ? ", " : "}"); } return ss.str(); }template<class K, class V> string v_to_str (const unordered_map<K, V>& v) { stringstream ss; int len = v.size(); ss << (v.size() > 0 ? "{" : "{}");for (auto& i : v) { ss << in_v_to_str(i.first) << " : " << in_v_to_str(i.second) << (len-- > 1 ? ", " : "}"); } return ss.str(); }template<class F, class S> string in_v_to_str (const pair<F, S> v) { stringstream ss; ss << "<" << v_to_str(v.first) << ", " << v_to_str(v.second) <<">"; return ss.str(); }template<class F, class S> string v_to_str (const pair<F, S> v) { stringstream ss; ss << "<" << v_to_str(v.first) << ", " << v_to_str(v.second) << ">"; return ss.str(); }string print () { return ""; }template<typename F, typename... R> string print (const F& f, const R& ...r) { stringstream ss; ss << v_to_str(f); if (sizeof...(r) > 0) { ss << " "<< print(r...); } return ss.str(); }template<typename F, typename... R> void pdebug (const F& f, const R& ...r) {stringstream ss;ss << v_to_str(f); if (sizeof...(r) > 0) { ss << " " << print(r...); }cerr << "<cerr>" << ss.str() << "</cerr>" << endl;}template<typename F, typename... R> void fdebug (const F& f, const R& ...r) {stringstream ss;ss << v_to_str(f); if (sizeof...(r) > 0) { ss << " " << print(r...); }cerr << "<cerrfile>" << ss.str() << "</cerrfile>" << endl;}template<typename F, typename... R> void tdebug (const F& f, const R& ...r) {stringstream ss;ss << v_to_str(f); if (sizeof...(r) > 0) { ss << " " << print(r...); }cerr << "<cerr>[time]" << ss.str() << "</cerr>" << endl;}struct e512pos {public:int x;int y;e512pos () { this->x = 0; this->y = 0; }e512pos (int x, int y) {this->x = x;this->y = y;}e512pos operator + (const e512pos& t) { return e512pos(this->x + t.x, this->y + t.y); }e512pos operator - (const e512pos& t) { return e512pos(this->x - t.x, this->y - t.y); }bool operator == (const e512pos& t) const { return this->x == t.x && this->y == t.y; }};namespace std {template <> class hash<e512pos> {public:size_t operator()(const e512pos& t) const{ return t.x<<16 | t.y; }};}ostream& operator << (ostream& os, const e512pos& p) {os << "(" << p.x << ", " << p.y << ")";return os;};class StopWatch {public:std::chrono::system_clock::time_point start, tstart, end;StopWatch () {this->start = std::chrono::system_clock::now();}inline void stop () {this->tstart = std::chrono::system_clock::now();}inline void resume () {this->start += std::chrono::system_clock::now() - this->tstart;}inline uint64_t get_milli_time () {this->end = std::chrono::system_clock::now();return std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count();}};inline uint32_t xrnd() {static uint32_t y = 2463534242;y = y ^ (y << 13);y = y ^ (y >> 17);return y = y ^ (y << 5);}inline double distance (const double& ax, const double& ay, const double& bx, const double& by) {return sqrt((ax - bx) * (ax - bx) + (ay - by) * (ay - by));}class MM {public:StopWatch sw;int N, M;vector<e512pos> v;MM () { this->sw = StopWatch(); }void input () {cin >> this->N >> this->M;for (int i = 0; i < this->N; ++i) {int x, y;cin >> x >> y;this->v.emplace_back(x, y);}}void output () {for (int i = 0; i < this->M; ++i) {cout << print(0, i+1) << endl;}cout << this->N + 1 << endl;for (int i = 0; i < this->N; ++i) {cout << print(1, i + 1) << endl;}cout << print(1, 1) << endl;}void solve () {}};int main () {cin.tie(0);ios::sync_with_stdio(false);MM mm;mm.input();mm.solve();mm.output();cout.flush();return 0;}