プログラミングコンテスト模擬試験問題集
1. 約数の個数
2. 最大部分行列問題
総当たり法による解法
#include <iostream>
using namespace std;
// 部分行列の合計を計算
int grid[40][30];
long long maxSum;
int main() {
// 30x20のグリッドを読み込む
for(int row = 1; row <= 30; row++) {
for(int col = 1; col <= 20; col++) {
cin >> grid[row][col];
...
8月10日 22:56 投稿
Javaアルゴリズム問題解法集
1. 文字頻度解析
問題概要
小文字英字のみで構成される単語が与えられます。最も頻繁に出現する文字とその回数を求めてください。複数の文字が同じ回数出現する場合は、辞書順で最小の文字を出力します。
実装例
import java.util.Scanner;
public class CharacterFrequency {
public static void main(String[] args) {
Scanner input = new Scanner(Syste ...
8月9日 12:52 投稿
C言語における文字列処理関数とメモリ操作関数の独自実装
主要な文字列・メモリ関数の実装
C言語標準ライブラリの文字列処理およびメモリ操作関数を独自に実装する方法を示します。各関数の仕様に準拠した動作を再現します。
文字列長の取得
size_t custom_strlen(const char* s) {
const char* start = s;
while (*s) s++;
return s - start;
}
文字列コピー
char* custom_strcpy(char* dest, const char* src) {
...
8月2日 16:15 投稿
アルゴリズム学習ノート:C/C++基礎と基本的なアルゴリズム
1 C/C++の基礎知識
1.1 無限大の定義(INF)
整数型の無限大を表す定数の定義方法:
const int INF = 0x3f3f3f3f;
1.2 scanf関数の使い方
一般的なデータ型のscanfフォーマット指定子:
データ型フォーマット指定子
int%d
long long%lld
float%f
double%lf
char%c
文字列(char配列)%s
1.3 実用的な出力フォーマット
1.3.1 %md
%mdは、int型変数がm桁に満たない ...
7月30日 08:28 投稿
アルゴリズムトレーニングキャンプ第11日:有効な括弧(LeetCode 20)
20. 有効な括弧
この問題は、与えられた文字列の括弧が有効かどうかを判断する必要があります。有効な括弧の定義は、全ての開き括弧に対応する閉じ括弧があり、正しい順序と埋め込みになっていることです。
解決方法:この問題は、スタック(堆積構造)を使用して効率的に解決できます。スタックに開き括弧をプッシュし、閉じ括弧が出現した際に ...
7月23日 01:11 投稿
Javaプログラミングの基本構文と実践演習
Java言語の基本要素
1. 識別子とキーワード
識別子はクラス名、変数名、メソッド名などに使用可能。数字で始めることはできません。キーワードは特定の意味を持つ予約語で、変数名として使用不可です。
2. データ型
Javaには以下の基本データ型があります:
整数型: int, short, long, byte
浮動小数点型: float, double
文字型: char
論理型: boolean
Javaの ...
7月19日 20:42 投稿
Pythonプログラミング演習問題集
1. コンソール入力を受け取り、最終的に正の整数を返す関数を定義する
def get_positive_integer():
user_data = input('変換したい文字列を入力してください:')
if user_data.isdigit():
return int(user_data)
return False
2. ユーザー入力を受け取り、最終的に負の整数を返す関数を定義する
def get_negative_integer():
user_data = input( ...
7月19日 01:36 投稿
2023年10月25日 模擬試験の反省
時間管理
7:40 から 8:40 まで、対拍と乱数生成の準備を行い、問題を読み込み、T1 を開始しました。40分で初回の提出を完了し、対拍で小さな誤りを見つけたため修正して再提出しました。
8:40 から 10:20 まで、T2 の解決に取り組みました。以前の模擬試験の T2 と類似点がありましたが、直接的な解法が見つからなかったため、まずは暴力解法を考えました。しかし、n ≤ 6 ...
7月14日 20:38 投稿
ポインタと配列に関するC言語の実験
実験1:配列の最小値・最大値をポインタで取得
ソースコード1(アドレス経由の間接代入)
#include <stdio.h>
#define N 5
void input(int arr[], int len);
void output(int arr[], int len);
void find_min_max(int arr[], int len, int *pmin, int *pmax);
int main() {
int a[N];
int min, max;
printf("データを%d個入力:\n", N);
input(a, ...
7月12日 21:58 投稿
C言語プログラミング:フォーマット指定子、メモリ管理、およびアルゴリズムの最適化
出力フォーマットと基本的なデータ型
C言語において、printf関数のフォーマット指定子を適切に使用することは、表示制御において重要です。整数の出力幅を指定し左寄せにするには%-8dのように記述します。マイナス記号が左寄せを指示し、数字が最小フィールド幅を表します。また、浮動小数点数の精度を制御するには%.3fを使用し、小数点以下の桁数を固定します。パーセント ...
7月11日 19:02 投稿