Monday, January 8, 2018

UVa 1588 - Kickdown

Accepted date: 2018-01-08
Run Time: 0.000
Ranking (as of 2018-01-08): 658 out of 918
Language: C++11

/*
  UVa 1588 - Kickdown

  To build using Visual Studio 2015:
    cl -EHsc -O2 UVa_1588_Kickdown.cpp
*/

#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;

int stripe(const char* s, int n, const char* t, int m)
{
  int i, j, l;
  for (i = 0; i < n; i++) {
    l = min(m, n - i);
    for (j = 0; j < l; j++)
      if (s[i + j] == '2' && t[j] == '2')
        break;
    if (j == l)
      return (l == m) ? n : n + m - l;
  }
  return n + m;
}

int main()
{
  const int nr_chars_max = 100;
  char master[nr_chars_max + 1], driven[nr_chars_max + 1];
  while (scanf("%s", master) != EOF) {
    scanf("%s", driven);
    int n = strlen(master), m = strlen(driven);
    int s = 
    printf("%d\n", min(stripe(master, n, driven, m), stripe(driven, m, master, n)));
  }
  return 0;
}

No comments:

Post a Comment