スクリーンショット_2019-04-04_23

文系ギャルが0から始める競技プログラミング#12

Intro


この記事は不定期連載です。
↓最初の一本はこちら↓
文系ギャルが0から始める競技プログラミング#0

↓直前の記事はこちら↓
文系ギャルが0から始める競技プログラミング#11

・Tenka1 Programmer Beginner Contest 2019


やっと念願コンテストに出れました!
やっと競プロギャルに進化!!!!!!

早速記事にしていきます。
目指せ天下一ギャル〜〜〜〜☆

・A問題

6:34で通過したみたいです。

問題文
数直線上家 1,2,3があり、それぞれのある座標はA,B,Cです。
家1から家2まで寄り道をせずにまっすぐ向かう途中で家3のある座標を通る場合は Yes を、そうでない場合は No を出力してください。

制約
0≤A,B,C≤100
A,B,Cは相異なる整数である

入力
入力は以下の形式で標準入力から与えられる。
A B C

出力
家1から家2まで寄り道をせずにまっすぐ向かう途中で家3のある座標を通る場合は Yes を、そうでない場合は No を出力せよ。
― A - On the Way

まずパターンを2つに分けます。

その通り分岐させて書けば優勝です!
焦ってパターン2を先に書いて、それ以外って感じにしちゃったけど動けばオールOK〜〜!

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main(){
   int A,B,C;
   cin >> A >> B >> C;
   
   if(A>C){
       if(B<C){
           cout << "Yes" << endl;
       }else{
           cout << "No" << endl;
       }
   }else{
       if(B>C){
           cout << "Yes" << endl;
       }else{
           cout << "No" << endl;
       }
   }
   
   return 0;
}

・B問題


問題文
英小文字からなる長さNの文字列S整数Kが与えられます。
SK番目の文字と異なる文字全てを '*' で置き換えてできる文字列を出力してください。

制約
1≤K≤N≤10
Sは英小文字からなる長さNの文字列である
N,Kは整数である

入力
入力は以下の形式で標準入力から与えられる。
N
S
K

出力
SのK番目の文字と異なる文字全てを '*' で置き換えてできる文字列を出力せよ。
― B - *e**** ********e* *e****e* ****e**

直前に文字列の扱いかたをたまたま練習していて優勝


11:59で通過したみたいです。

K番目の文字と一緒だったら何もしない、
そうでなければ*置き換える処理をループさせればいいと思ったんですが、
それでよかったみたいです。

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main(){
   int N,K;
   string S;
   cin >> N >> S >> K;
   
   for(int i=0;i<N;i++){
       if(S[K-1] == S[i]){
       }else{
           S[i] = '*';
       }
   }
   cout << S << endl;
   
   return 0;
}

またもや一発AC!!!優勝(天才)!!!!!
いままで解く時間を全く気にせずググったり紙に書いたりしながらまったり解いていたんですが焦るとこんな感じか…といい経験になりました。

・C問題


後ろから見て、白に置き換えるパターン黒に置き換えるパターンを見て少ない方を出力する…と考えたんですがWAで挫折…。
公式の解説等々読んでまた再チャレンジします!

たのしかった!
継続して参加していこうと思っています!!!!!

また次回からは過去問解き放題解説になります。
Twitterでアドバイス頂いたのでそれも紹介したいと思います〜〜!
もっといい方法・アドバイスなどありましたらTwitterコメントでお待ちしています!

Outro


#13に続く!(不定期連載です。)

これは成功と挫折を繰り返し、
タピオカ片手に難問を解く、
ギャルプログラマが生まれるまでの物語である…。

この記事が気に入ったらサポートをしてみませんか?