社区讨论

ABC E 交互问题

学术版参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo7z3emw
此快照首次捕获于
2023/10/27 10:07
2 年前
此快照最后确认于
2023/10/27 10:07
2 年前
查看原帖
https://atcoder.jp/contests/abc269/tasks/abc269_e
我的代码样例AC了,但是交上去全部WA捏。
不知道为什么,之前还是写过交互程序的。
如果我的程序犯了错误那么我是傻逼。
如果我不会写交互题请告诉这个屑哪里写错了。
CPP
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int, int> pii;

int Row(int n) {
	int l = 1, r = n;
	while (l < r) {
		printf("? %d %d %d %d\n", l, 1, (l + r) / 2, n);
		fflush(stdout);
		int res; scanf("%d", &res);
		if (res == (l + r) / 2 - l + 1) l = (l + r) / 2 + 1;
		else r = (l + r) / 2;
	}
	return l;
}

int Col(int n) {
	int l = 1, r = n;
	while (l < r) {
		printf("? %d %d %d %d\n", 1, l, n, (l + r) / 2);
		fflush(stdout);
		int res; scanf("%d", &res);
		if (res == (l + r) / 2 - l + 1) l = (l + r) / 2 + 1;
		else r = (l + r) / 2;
	}
	return l;
}

int main() {
	int n;
	scanf("%d", &n);
	int r = Row(n);
	int c = Col(n);
	printf("! %d %d\n", r, c);
	fflush(stdout);
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...