みんなのプロコン2019 A,B
みんなのプロコン2019参戦記です。
A Anti-Adjacency
問題
問題概要
1以上 以下の整数を 個選んだ時, 選んだ整数の任意の つの数の差が 以上になる選び方が存在するか。
考察
のように間を つ以上開けて選べば良いので, が より小さいかどうかで判定すれば良いです。
提出コード
#include <bits/stdc++.h> using namespace std; int main() { int n,k; cin >> n >> k; int tt; if (n % 2 == 1) { tt = n / 2 + 1; } else { tt = n / 2; } if (k <= tt) cout << "YES" << endl; else cout << "NO" << endl; }
B Path
問題
問題概要
本の道と つの街がある。全ての道を一回だけ使うことで つの街を訪れることが可能か。
考察
道が3本しかないので条件を満たす道のパターンは
1 ---- 2 ---- 3 ---- 4
のみです。
したがって、各街に接続している道の本数が 本以上かつ 本以下なら条件を満たします。
提出コード
#include <bits/stdc++.h> using namespace std; int main() { map<int,int> mp; for (int i = 1; i <= 4; ++i) { mp[i] = 0; } for (int i = 0; i < 3; ++i) { int a,b; cin >> a >> b; mp[a] += 1; mp[b] += 1; } for (auto itr : mp) { if (itr.second == 0 or itr.second > 2) { cout << "NO" << endl; return 0; } } cout << "YES" << endl; }