文系ギャルが0から始める競技プログラミング#8
Intro
この記事は不定期連載です。
↓最初の一本はこちら↓
文系ギャルが0から始める競技プログラミング#0
↓直前の記事はこちら↓
文系ギャルが0から始める競技プログラミング#7
・AtCoder Beginners Selection
引き続き問題をばしばし解いていきます。
ある程度理解して解けるようになってきたっぽいので、
やっと手を付けることにしました!
順番に解いていきます。
・ABC086A
問題文
シカのAtCoDeerくんは二つの正整数a,bを見つけました。
aとbの積が偶数か奇数か判定してください。
制約
1≤a,b≤10000
a,bは整数
入力
入力は以下の形式で標準入力から与えられる。
a b
出力
積が奇数なら Odd と、 偶数なら Even と出力せよ。
― ABC086A - Product
シカのAtCoDeerくんw
ていうか積ってなに!??!??(これでも天才です)
ぐぐったら掛け算の答えのことですね、それなら簡単です。
掛けて2で割り切れたら(あまりが0だったら)"Even"、そうじゃなかったら"Odd”を出力して優勝です。
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin >> a >> b;
if((a*b) % 2 == 0){
cout << "Even" << endl;
}else{
cout << "Odd" << endl;
}
return 0;
}
天才なのでサクッといけました。
次いきましょう次。
・ABC081A
問題文
すぬけ君は1,2,3の番号がついた3つのマスからなるマス目を持っています。 各マスには 0 か 1 が書かれており、マスiにはsiが書かれています。
すぬけ君は1が書かれたマスにビー玉を置きます。 ビー玉が置かれるマスがいくつあるか求めてください。
制約
s1,s2,s3は1あるいは0
入力
入力は以下の形式で標準入力から与えられる。
s1s2s3
出力
答えを出力せよ。
― ABC081A - Placing Marbles
すぬけくんの謎ムーブを、まずintでまとめて持ってくることにしました。
int S;
cin >> S;
幸い3つしかないので、配列で1,10,100とおいて、2で割れるかどうか調べます!
int型なので小数点以下が切り捨てられて、判別がつくはずです…。
割れなかったら1が入ってるので、それの数を数えて出力します。
int a[3] = {1 ,10, 100};
int ans = 0;
int i;
for(i=0;i<3;i++){
if((S/a[i]) % 2 != 0){
ans ++;
}
}
cout << ans << endl;
天才なのでACでした。サクッと優勝確定です。
もっといい方法があったら、Twitterやコメントで教えてください。
(DMも全開放しています。Twitterの先輩リストが100人超えました!感謝!!!!)
#include <iostream>
using namespace std;
int main()
{
int S;
cin >> S;
int a[3] = {1 ,10, 100};
int ans = 0;
int i;
for(i=0;i<3;i++){
if((S/a[i]) % 2 != 0){
ans ++;
}
}
cout << ans << endl;
return 0;
}
B問題にも手を付けたのですが、それはまた次回!
↑喜びのツイート
Outro
#9に続く!(不定期連載です。)
これは成功と挫折を繰り返し、
タピオカ片手に難問を解く、
ギャルプログラマが生まれるまでの物語である…。
この記事が気に入ったらサポートをしてみませんか?