結果

問題 No.204 ゴールデン・ウィーク(2)
ユーザー 0w1
提出日時 2016-11-21 02:18:58
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 3 ms / 1,000 ms
コード長 726 bytes
コンパイル時間 2,114 ms
コンパイル使用メモリ 167,956 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-24 11:57:13
合計ジャッジ時間 3,601 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 46
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int ok( string s, int d ){
  for( int i = 0; i < s.size(); ++i )
    if( s[ i ] == 'x' ){
      int j;
      for( j = i + 1; j < s.size(); ++j )
        if( s[ j ] == 'o' )
          break;
      if( j - i > d )
        return 0;
      for( int k = j + 1; k < s.size(); ++k )
        if( s[ k ] == 'x' )
          return 0;
    }
  return 1;
}

signed main(){
  int D; cin >> D;
  string A, B; cin >> A >> B;
  string w = "xxxxxxxxxxxxxx" + A + B + "xxxxxxxxxxxxxx";
  int ans = 0;
  for( int i = 0; i < w.size(); ++i )
    for( int j = i; j < w.size(); ++j )
      if( ok( w.substr( i, j - i + 1 ), D ) )
        ans = max( ans, j - i + 1 );
  cout << ans << endl;
  return 0;
}
0