結果

問題 No.1149 色塗りゲーム
ユーザー cookiedoth
提出日時 2020-08-14 00:40:33
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 134 ms / 2,000 ms
コード長 1,985 bytes
コンパイル時間 1,304 ms
コンパイル使用メモリ 125,196 KB
最終ジャッジ日時 2025-01-12 22:07:59
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 50
権限があれば一括ダウンロードができます

ソースコード

diff #

/*

Code for problem A by cookiedoth
Generated 13 Aug 2020 at 06.32 PM


______▄███████▄_______
______█▄█████▄█_______
______█▼▼▼▼▼█_______
_____██________ ██______
______█▲▲▲▲▲█_______
______█████████_______
_______██____ ██________

=_=
¯\_(ツ)_/¯
o_O

*/

#include <iostream>
#include <fstream>
#include <vector>
#include <set>
#include <map>
#include <bitset>
#include <algorithm>
#include <iomanip>
#include <cmath>
#include <ctime>
#include <functional>
#include <unordered_set>
#include <unordered_map>
#include <string>
#include <queue>
#include <deque>
#include <stack>
#include <complex>
#include <cassert>
#include <random>
#include <cstring>
#include <numeric>
#define ll long long
#define ld long double
#define null NULL
#define all(a) a.begin(), a.end()
#define rall(a) a.rbegin(), a.rend()
#define debug(a) cerr << #a << " = " << a << endl
#define forn(i, n) for (int i = 0; i < n; ++i)
#define sz(a) (int)a.size()

using namespace std;

template<class T> int chkmax(T &a, T b) {
	if (b > a) {
		a = b;
		return 1;
	}
	return 0;
}

template<class T> int chkmin(T &a, T b) {
	if (b < a) {
		a = b;
		return 1;
	}
	return 0;
}

template<class iterator> void output(iterator begin, iterator end, ostream& out = cerr) {
	while (begin != end) {
		out << (*begin) << " ";
		begin++;
	}
	out << endl;
}

template<class T> void output(T x, ostream& out = cerr) {
	output(x.begin(), x.end(), out);
}

void fast_io() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
}

void make_move(int pos, int len) {
	cout << len << " " << pos + 1 << endl;
	int t;
	cin >> t;
	if (t == 0 || t == 1) {
		exit(0);
	}
}

void read_move(int &pos, int &k) {
	cin >> k >> pos;
	pos--;
}

int n;

signed main() {
	fast_io();
	cin >> n;
	make_move((n - 1) / 2, 1 + (n % 2 == 0));
	while (true) {
		int pos, k;
		read_move(pos, k);
		pos = n - 1 - pos - (k - 1);
		make_move(pos, k);
	}
}
0