Official

B - Doors in the Center Editorial by kyopro_friends


初心者の方へ

\(N\) が偶数のとき

答えとなる文字列は ----==---- のように = を中央に \(2\) 個、- をその左右に合わせて \(N-2\) 個含みます。-= の左右に均等に分け、

  • -\(\frac{N-2}{2}\)
  • =\(2\)
  • -\(\frac{N-2}{2}\)

をこの順につなげた文字列が答えとなります。

\(N\) が奇数のとき

答えとなる文字列は ----=---- のように = を中央に \(1\) 個、- をその左右に合わせて \(N-1\) 個含みます。-= の左右に均等に分け、

  • -\(\frac{N-1}{2}\)
  • =\(1\)
  • -\(\frac{N-1}{2}\)

をこの順につなげた文字列が答えとなります。

実装

実装例(Python)

N=int(input())

if N%2==0:
  c = (N-2)//2
  print('-'*c + '='*2 + '-'*c)
else:
  c = (N-1)//2
  print('-'*c + '=' + '-'*c)

実装例(C++)

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

int main(){
  int n;
  cin >> n;

  if(n%2 == 0){
    int c = (n-2)/2;
    cout << string(c,'-') + "==" + string(c,'-') << endl;
  }else{
    int c = (n-1)/2;
    cout << string(c,'-') + "=" + string(c,'-') << endl;
  }
}

posted:
last update: