AtCoderで入茶を目指して勉強しています。
勉強を継続するために投稿を始めました。
もともとアカウントを作成していましたが、今年の4月から本格的に勉強を始めました。
一応自分用に解法を書いていますが雑です、自分で読み返して困ったら修正します。
私のアカウント
解いた問題
本日解いた問題
A - Jiro
A - Jiro
解答
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using vec = vector<ll>;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define mod 998244353
int main() {
char sab, sac, sbc;
cin >> sab >> sac >> sbc;
int a=0, b=0, c=0;
if(sab == '<') b++;
else a++;
if(sac == '<') c++;
else a++;
if(sbc == '<') c++;
else b++;
if(a==1) cout << "A" << endl;
else if(b==1) cout << "B" << endl;
else cout << "C" << endl;
}
解法
A,B,C
それぞれが年上である回数の変数を用意する。A,B
、A,C
、B,C
のそれぞれで年上である回数を数えると長男から三男までの順番を求めることができる。
B - Taro
B - Taro
解答
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using vec = vector<ll>;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define mod 998244353
int main() {
set<int> home;
int n, m;
cin >> n >> m;
for(int i = 0; i < m; i++){
int a;
char b;
cin >> a >> b;
if(b == 'M') {
if(!home.count(a)) {
cout << "Yes" << endl;
home.insert(a);
}
else {
cout << "No" << endl;
}
} else {
cout << "No" << endl;
}
}
}
解法
子供が生まれた家を格納しておくset型home
を用意する。生まれた子供が男の子であった場合、home
に家Ai
が格納されていない場合はAi
を格納し、Yes
、格納されている場合はNo
を出力する。また、生まれた子供が女の子であった場合もNo
を出力する。