結果
| 問題 |
No.355 数当てゲーム(2)
|
| コンテスト | |
| ユーザー |
megumish
|
| 提出日時 | 2016-04-02 15:29:18 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 2,088 bytes |
| コンパイル時間 | 1,650 ms |
| コンパイル使用メモリ | 134,008 KB |
| 実行使用メモリ | 174,424 KB |
| 最終ジャッジ日時 | 2024-07-16 23:26:54 |
| 合計ジャッジ時間 | 8,036 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | TLE * 1 -- * 51 |
ソースコード
#define _USE_MATH_DEFINES
#include<iostream>
#include<vector>
#include<cstdio>
#include<string>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<numeric>
#include<map>
#include<stack>
#include<regex>
#include<set>
#include<initializer_list>
#include<tuple>
#include<queue>
#include<functional>
#include<random>
using namespace std;
#define FOR(i,a,b) for (int i=(a);i<(b);i++)
#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)
#define REP(i,n) for (int i=0;i<(n);i++)
#define RREP(i,n) for (int i=(n)-1;i>=0;i--)
#define all(a) (a).begin(),(a).end()
const int INFTY = 100000000;
typedef long long ll;
typedef vector<int> vi;
typedef vector<double> vd;
int main()
{
random_device seed_gen;
mt19937 engine(seed_gen());
uniform_int_distribution<int> disti(0, 3);
uniform_int_distribution<int> distv(0, 9);
set<int> s = { 0,1,2,3 };
vector<bool> unUsing(10, false);
int evaluate = 0;
int a, b;
while (evaluate != 4)
{
auto next_s = s;
auto it = next_s.begin();
auto pos = disti(engine);
for (int i = 0; i < pos; i++) it++;
next_s.erase(it);
int newVal = distv(engine);
if (unUsing[newVal]) continue;
next_s.insert(newVal);
if (s == next_s) continue;
if (next_s.size() == 3) continue;
bool init = true;
for (auto& i : next_s)
{
if (!init) cout << " ";
init = false;
cout << i;
}
cout << endl;
cin >> a >> b;
if (evaluate > b)
{
unUsing[newVal] = true;
}
if (evaluate < b)
{
evaluate = b;
s = next_s;
}
}
vector<int> v;
for (auto& i : s)
{
v.push_back(i);
}
sort(v.begin(), v.end());
evaluate = a;
while (evaluate != 4)
{
for (int i = 0; i < v.size(); i++)
{
if (i != 0) cout << " ";
cout << v[i];
}
cin >> evaluate >> b;
next_permutation(v.begin(), v.end());
}
return 0;
}
megumish