Submission #229322

#TimeUsernameProblemLanguageResultExecution timeMemory
229322quocnguyen1012Cluedo (IOI10_cluedo)C++14
100 / 100
17 ms384 KiB
#ifndef LOCAL
#include "grader.h"
#include "cluedo.h"
#endif // LOCAL

#include <bits/stdc++.h>

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define ar array

using namespace std;
typedef long long ll;
typedef pair<int, int> ii;

#ifdef LOCAL
static int M,L,W,gotit,cnt,maxcnt;
int Theory(int m, int l, int w) {
   ++cnt;
   if (m < 1 || m > 6 || l < 1 || l > 10 || w < 1 || w > 6) exit(92);
   if (rand()%2 && m != M) return 1;
   else if (rand()%2 && l != L) return 2;
   else if (rand()%2 && w != W) return 3;
   else if (m != M) return 1;
   else if (l != L) return 2;
   else if (w != W) return 3;
   gotit = 1;
   return 0;
}
#endif // LOCAL


void Solve(void)
{
  int i[] = {1, 1, 1};
  while(true){
    int r = Theory(i[0], i[1], i[2]);
    if(r == 0) return;
    i[r - 1]++;
  }
}

#ifdef LOCAL

int main(){
  #ifdef LOCAL
    freopen("A.INP", "r", stdin);
    freopen("A.OUT", "w", stdout);
  #endif // LOCAL
   scanf("%d%d%d",&M,&L,&W);
  cnt = gotit = 0;
  Solve();
  if (cnt > maxcnt) maxcnt = cnt;
  if (!gotit) {
     printf("NO\n");
     return 91;
  }
   printf("OK %d\n",maxcnt);
   return 0;
}
#endif // LOCAL

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...