Submission #3771280


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define FOR(i, a, b) for(int i=(a);i<(b);i++)
#define REP(i, n) FOR(i, 0, n)
#define RFOR(i, a, b) for(int i=(a);i>=(b);i--)
#define RREP(i, n) RFOR(i, n, 0)
#define MFOR(i, m) for(auto i=(m).begin();i!=(m).end();i++)
#define ALL(a) (a).begin(), (a).end()
#define SZ(x) ((int)(x).size())

typedef long long int ll;
typedef pair<int, int> P;
typedef pair<ll, ll> Pll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vll;
typedef vector<vll> vvll;

const double eps = 1e-10;
const int MOD = 1000000007;
const int INF = 1000000000;
const ll LINF = 1 << 30;

template<typename T>
void printv(vector<T> const& s) {
  REP(i, SZ(s)) {
    cout << s[i] << " ";
  }
  cout << endl;
}

int main () {
  cin.tie(0);
  cout << setprecision(10);

  string s; cin >> s;
  bool kihbr = false;
  int p = 0;
  bool a = false;
  bool result = true;
  REP(i, SZ(s)) {
    switch(p) {
    case 0:
      if(s[i] == 'K') {
        a = false;
        p = 1;
      } else if(s[i] == 'A') {
        if(a) result = false;
        else  a = true;
      } else {
        result = false;
      }
      break;
    case 1:
      if(s[i] == 'I') p = 2;
      else result = false;
      break;
    case 2:
      if(s[i] == 'H') p = 3;
      else result = false;
      break;
    case 3:
      if(s[i] == 'B') {
        a = false;
        p = 4;
      } else if(s[i] == 'A') {
        if(a) result = false;
        else a = true;
      } else {
        result = false;
      }
      break;
    case 4:
      if(s[i] == 'R') {
        kihbr = true;
        a = false;
        p = 5;
      } else if(s[i] == 'A') {
        if(a) result = false;
        else a = true;
      } else {
        result = false;
      }
      break;
    case 5:
      if(s[i] == 'A') {
        if(a) result = false;
        else a = true;
      } else {
        result = false;
      }
      break;
    }
  }
  if(result && kihbr) cout << "YES" << endl;
  else cout << "NO" << endl;
}

Submission Info

Submission Time
Task A - AKIBA
User kanra824
Language C++14 (GCC 5.4.1)
Score 300
Code Size 2173 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 24
Set Name Test Cases
sample sample-01.txt, sample-02.txt, sample-03.txt
All sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, sample-01.txt, sample-02.txt, sample-03.txt
Case Name Status Exec Time Memory
01-01.txt AC 1 ms 256 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 1 ms 256 KB
01-04.txt AC 1 ms 256 KB
01-05.txt AC 1 ms 256 KB
01-06.txt AC 1 ms 256 KB
01-07.txt AC 1 ms 256 KB
01-08.txt AC 1 ms 256 KB
01-09.txt AC 1 ms 256 KB
01-10.txt AC 1 ms 256 KB
01-11.txt AC 1 ms 256 KB
01-12.txt AC 1 ms 256 KB
01-13.txt AC 1 ms 256 KB
01-14.txt AC 1 ms 256 KB
01-15.txt AC 1 ms 256 KB
01-16.txt AC 1 ms 256 KB
01-17.txt AC 1 ms 256 KB
01-18.txt AC 1 ms 256 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB
sample-03.txt AC 1 ms 256 KB