SMU春季2023竞赛第5轮(2023年江西省级程序设计竞赛官方赛题)
問題リンク
問題A. 木を掘って火を起こす
S * V >= n さえ満たせばよい
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
const int N = 2010,mod = 1e9 + 7;
int n,s,v;
void solve() {
cin >> n >> s >> v;
if(s * v >= n)
cout << 1 << endl;
else cout < ...
6月14日 20:52 投稿
C言語による順序表の実装:挿入、削除、検索、およびマージ
順序表の基本操作とC言語による実装
順序表(シーケンスリスト)は、メモリ上で連続したアドレス空間を使用してデータを格納する線形リストの一種です。C言語の配列を用いて、このデータ構造の基礎となる操作である位置による検索、値による検索、要素の削除、挿入、そして2つのリストの統合を実装します。
1. 指定位置による要素の取得
順序表では、物理的なメモリ配置が ...
6月13日 16:47 投稿
C++における再帰関数の実装例
コラッツ予想(角谷予想)
自然数に対して、偶数なら2で割り、奇数なら3倍して1を足す操作を繰り返すと、最終的に1に到達するという予想。再帰関数で操作回数をカウントする。
#include <iostream>
using namespace std;
int countSteps(int num) {
if (num == 1) return 0;
if (num % 2 == 0) return 1 + countSteps(num / 2);
return 1 + countSteps( ...
6月12日 20:24 投稿
鉄道の列車スケジューリング問題の効率的解法
鉄道駅の列車スケジューリングシステムでは、入口軌道と出口軌道の間にN本の平行軌道が配置されています。各列車は入口から任意の軌道を選択して進入し、最終的に出口から離脱します。例えば、入口で{8, 4, 2, 5, 3, 9, 1, 6, 7}の順番で待機している9本の列車がある場合、これらを番号の降順で出口から離脱させるために必要な最小限の平行軌道数を求める必要があります。 ...
6月12日 18:44 投稿
Pythonにおける辞書型(dict)の基本操作と活用方法
Pythonの辞書型(dict)は、キーと値をペアで保持する可変長のマッピング型データ構造です。キーは一意である必要があり、効率的なデータ検索や管理に適しています。
辞書の定義
辞書は波括弧 {} を使用して定義します。キーと値はコロン : で区切り、ペアをコンマ , で並べます。キーが重複した場合、後から定義された値で上書きされます。
# 辞書の作成例
u ...
6月12日 18:15 投稿
PythonとVBAによる相対的なランキングの実装
相対的なランキングの応用
相対的なランキングは現実世界で多くの応用があります。主なものは以下の通りです。
スポーツ競技のランキング: スポーツ競技では、相対的なランキングが選手やチームのパフォーマンスを評価するために頻繁に使用されます。例えば、サッカーのリーグ戦では、勝利数、得点、失点などの指標に基づいてチームのランキングが決定されます。
...
6月12日 17:53 投稿
Javaで学ぶリンクリストの基本操作とアルゴリズム
本日の課題
LeetCode 203. リンクリスト要素の削除
LeetCode 707. リンクリストの設計
LeetCode 206. リンクリストの反転
基本概念の整理
ノードの追加処理では、新しいノード(current.next)を先に処理し、古いノード(previous.next)を後から処理します。
ノードの削除では、現在のノードを削除するには、その前のノードを知る必要があります。そのため、currentとp ...
6月11日 21:03 投稿
Go言語のインターフェースの内部構造を理解する
インターフェースとは
Go言語では、インターフェース(interface)は抽象的な型定義として使用されます。インターフェースはメソッドのシグネチャを定義しますが、具体的な実装は含まれません。特定のインターフェースを実装した任意の型は、そのインターフェースとして扱うことができます。これにより、異なる型を統一的な方法で処理でき、コードの柔軟性、拡張性、およ ...
6月10日 21:28 投稿
C++プログラミングコンテスト問題集と解答例
L1-1 挨拶出力
解法
指定されたテキストをそのまま出力する。
実装例
#include <iostream>
using namespace std;
int main() {
cout << "ありがとう!\\(>_<)/" << endl;
return 0;
}
L1-2 平均速度計算
実装例
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int distance, time;
cin & ...
6月10日 20:29 投稿
データ構造とアルゴリズムの実装テクニック
データ構造
TreeSetで特定の値より大きい最初の要素を検索
TreeSet<Integer> treeSet = new TreeSet<>();
Integer targetValue = treeSet.higher(searchKey);
2次元配列の降順ソート
Arrays.sort(2dArray, (first, second) -> (second[0] - first[0]));
最小ヒープの実装
PriorityQueue<int[]> minHeap = new PriorityQueue<>((arr1, arr2) ...
6月10日 18:00 投稿