0
0

yukicoder No.2599 Summer Project 解説

Last updated at Posted at 2024-09-20

問題文

解説

$S,T$ の文字列によって場合分けするという方法で解ける。

//初見で解いたときのコード抜粋
#include <bits/stdc++.h>
using namespace std;

int main(){
  string s,t;cin>>s>>t;
  if(s=="watermelon"&&t=="beachball")cout<<"shrinebell\n";
  else if(t=="watermelon"&&s=="beachball")cout<<"shrinebell\n";
  else if(s=="watermelon"&&t=="shrinebell")cout<<"beachball\n";
  else if(t=="watermelon"&&s=="shrinebell")cout<<"beachball\n";
  else cout<<"watermelon\n";
}

これで終わりです。
しかし、場合によってはいっぱい場合分けを書くのが面倒という人がいると思う(実際いると思ってる)。
この場合、 辞書順で $S>T$ となれば、$S$ と $T$ をswapしてしまうというすれば場合分けを $3$ つに減らすことができる。これなら、実装が少し楽になるのではないだろうか。

C++での解答例

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

int main(){
  string s,t;cin>>s>>t;
  if(s>t)swap(s,t);
  if(s=="beachball"&&t=="watermelon")cout<<"shrinebell\n";
  else if(s=="shrinebell"&&t=="watermelon")cout<<"beachball\n";
  else cout<<"watermelon\n";
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0