AtCoder Beginner Contest 366 の問題解説と実装
はじめに
今回のコンテストでは問題Eに大部分の時間を費やすことになり、残り15分でようやく正解にたどり着くという危ない場面でした。緑色レベルの問題にも苦戦するようでは、まだまだ実力不足を感じます。
A - Election 2
高橋君と青木君のどちらかが過半数の票を獲得したかどうかを判定するシンプルな問題です。
#include <iostream>
using namespace std; ...
6月4日 17:22 投稿
AtCoder初心者コンテスト443 解説
D - パンライン問題
この問題は数学的に抽象化することで簡単に解くことができます。
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ll t;
cin >> t;
while (t--) {
ll n, sum = 0;
cin >> n;
vector<ll> arr(n);
for (auto &x : arr) {
cin >> x;
sum += x; ...
6月1日 19:15 投稿
AtCoder Beginner Contest 387 参加記録と解法まとめ
A - Happy New Year 2025
2つの整数 $A$ と $B$ が与えられます。$(A + B)^2$ を出力するだけの問題です。計算結果が整数型の範囲に収まるか注意が必要ですが、今回の制約では問題ありません。
#include <iostream>
using namespace std;
void solve() {
long long val1, val2;
if (cin >> val1 >> val2) {
long long combined = val ...
5月30日 22:13 投稿
AtCoder Beginner Contest 389 解法解説
A - 9x9
問題概要
1桁の数字同士の乗算結果を求める。
解法
入力文字列から数値を抽出して掛け算する実装を行えばよい。
実装コード
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int, int> pii;
const int mxn = 1e6 + 5;
void solve() {
string input;
cin >> input;
int a = input[0] - '0';
...
5月28日 14:34 投稿
AtCoder Beginner Contest 310 各問題のアルゴリズム解説とC++実装例
A: 別の注文方法
料理とセットで購入する場合、特定のドリンクが定価 \(P\) から割引価格 \(Q\) へ変更される。セット購入しない場合は、別のドリンクリストから任意の価格のものを選ぶことができる。支払い額を最小化する問題である。
実装方針は単純である。セット割引適用時の支払い額 \(Q + \min(A)\) と、割引なしの定価 \(P\) を比較し、小さい方を出力すればよい。\ ...
5月22日 01:48 投稿
ABC347 プログラミングコンテスト問題解説
A
link
很简单
配列を順にアクセスし、\(k\)で割った余りが\(0\)かどうか判定する。余りが\(0\)の場合、\(a_i/k\)を出力する。
クリックしてコードを表示```
#include<bits/stdc++.h>
using namespace std;
int n, k;
int data[105];
int main() {
cin >> n >> k;
for(int i = 1; i <= n; ++i) {
cin >> data[i];
if(data[i] % k == 0) ...
5月19日 18:09 投稿
AtCoder Beginner Contest 358 全問題アプローチと実装例
A - Welcome to AtCoder Land
この問題では、入力された二つの文字列が特定の値と完全に一致するかを確認する基本的な処理が必要です。
実装ロジック
標準入力で受け取ったストリングスを入力変数へ保存し、固定されたターゲット文字列と比較します。両方が一致した場合のみ「Yes」を出力し、それ以外の場合は「No」を返却します。
#include <iostream>
#include & ...
5月17日 12:18 投稿
競技プログラミングの復習と解法まとめ
7月は主に学校の夏期個人戦に参加し、その他の時間は主に学習やゲームに費やした。
上海大学プログラミングコンテスト 2024
上海地区のコンテストで、結果は芳しくなかった。主に実力不足が原因。
問題E - 無線ソフトウェア日
文字の出現頻度をカウントし、必要な文字数の最小値を求める問題。
#include <bits/stdc++.h>
using namespace std;
int main() {
int ...
5月15日 21:11 投稿
AtCoder Beginner Contest 318 問題分析とC++解法
A - Full Moon (満月)
この問題は、N日目までの期間において、最初の満月がM日目に見え、その後P日ごとに満月が見える場合に、合計何回満月が見えるかを数えるものです。つまり、M, M+P, M+2P, ...という等差数列の項がN以下になるものがいくつあるかを求めます。
まず、N日目がM日目よりも前であれば、満月は一度も見えません。この場合、回数は0です。
N日目がM日目以降 ...
5月13日 23:06 投稿
AtCoder Beginner Contest 363 解説:アルゴリズム設計と実装
問題A:数値間隔の算出
入力値 $R$ が属する百の位区間を特定し、その区間の上限値との差分を出力する問題です。条件分岐を用いる代わりに、整数除算による切り上げ演算の特性を活用することで、簡潔な式に変換可能です。
#include <iostream>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int current_rat ...
5月13日 15:46 投稿