제출 #332041

#제출 시각아이디문제언어결과실행 시간메모리
332041shrek12357동굴 (IOI13_cave)C++14
21 / 100
3 ms364 KiB
#include <iostream> #include <vector> #include <algorithm> #include <string> #include <map> #include <set> #include <climits> #include <cmath> #include <fstream> #include <queue> #include <stack> #include <bitset> #include "cave.h" using namespace std; #define ll long long //cin.tie(0);ios_base::sync_with_stdio(0); const int MAXN = 5005; int N; /*void exploreCave(int n) { int pos[MAXN]; int ans[MAXN]; for (int i = 0; i < n; i++) { pos[i] = 0; ans[i] = i; } int cnt = 0; while (true) { int num = tryCombination(pos); if (num == -1) { break; } cnt = num; pos[num] = (pos[num] + 1) % 2; } answer(pos, ans); }*/ /*void exploreCave(int n) { int pos[MAXN]; int ans[MAXN]; for (int i = 0; i < n; i++) { ans[i] = -1; pos[i] = 0; } for (int i = 0; i < n; i++) { pos[i] = 1; ans[i] = tryCombination(pos); pos[i] = 0; } answer(pos, ans); }*/ /*int tryCombination(int s[]) { for (int i = 0; i < N; i++) { cout << s[i] << endl; } int temp; cin >> temp; return temp; } void answer(int s[], int a[]) { for (int i = 0; i < N; i++) { cout << s[i] << endl; } for (int i = 0; i < N; i++) { cout << a[i] << endl; } }*/ void exploreCave(int n) { N = n; int pos[MAXN]; int ans[MAXN]; for (int i = 0; i < n; i++) { pos[i] = 0; ans[i] = -1; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (ans[j] != -1) { continue; } pos[j] = 0; int n1 = tryCombination(pos); pos[j] = 1; int n2 = tryCombination(pos); if ((n1 == i && n2 != i) || (n1 != i && n2 == i)) { ans[j] = i; if (n1 == i) { pos[j] = 1; } else { pos[j] = 0; } } } } answer(pos, ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...