結果
| 問題 |
No.513 宝探し2
|
| コンテスト | |
| ユーザー |
aaa
|
| 提出日時 | 2018-09-15 14:32:01 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,960 bytes |
| コンパイル時間 | 847 ms |
| コンパイル使用メモリ | 95,248 KB |
| 実行使用メモリ | 25,844 KB |
| 平均クエリ数 | 84.75 |
| 最終ジャッジ日時 | 2024-07-16 16:07:39 |
| 合計ジャッジ時間 | 3,009 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 2 WA * 10 |
ソースコード
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <functional>
#include <map>
#include <iomanip>
#include <math.h>
#include <stack>
#include <queue>
#include <bitset>
#include <cstdlib>
#include <tuple>
#include <cctype>
#include <ctype.h>
#include <set>
using namespace std;
int main() {
int i, j, k;
int x = 50000, y = 50000;
int d;
cout << x << " " << y << endl;
cin >> d;
if (d == 0) return 0;
int add = 10000;
int xx = x + add, yy = y;
bool flag = false; //falseで多くなってる trueで少なくなってる
bool flag2 = true; //falseでマイナスしている trueでプラスしている
while (true)
{
bool first = true;
cout << xx << " " << yy << endl;
int dd;
cin >> dd;
if (dd == 0)return 0;
if (dd > d) {
if (flag2 == false) {
xx += add;
flag2 = true;
}
else if (flag2 == true) {
xx -= add;
flag2 = false;
}
flag = false;
if (first != true)add /= 2;
first = false;
}
else if(dd < d){
if (flag2 == false) {
xx -= add;
flag2 = false;
}
else if (flag2 == true) {
xx += add;
flag2 = true;
}
flag = true;
}
else if (dd == d) {
break;
}
d = dd;
}
while (true)
{
bool first = true;
cout << xx << " " << yy << endl;
int dd;
cin >> dd;
if (dd == 0) return 0;
if (dd > d) {
if (flag2 == false) {
yy += add;
flag2 = true;
}
else if (flag2 == true) {
yy -= add;
flag2 = false;
}
flag = false;
if (first != true)add /= 2;
first = false;
}
else if (dd < d) {
if (flag2 == false) {
yy -= add;
flag2 = false;
}
else if (flag2 == true) {
yy += add;
flag2 = true;
}
flag = true;
}
else if (dd == d) {
break;
}
d = dd;
}
return 0;
getchar();
getchar();
return 0;
}
aaa