noip2014day1問題解説

説明 石切りバサミは一般的なジャンケンゲームです:石はハサミを勝ち、ハサミは布を勝ち、布は石を勝ちます。二人が同じ手を出した場合、勝敗はありません。『ライフ・オブ・ザ・ビーチ』第2シーズン第8話で登場したアップグレード版のジャンケンゲームでは、この伝統的なジャンケンゲームに二つの新しいジェスチャーが追加されました: スポック:『スターゲート・ドライ ...

7月3日 19:26 投稿

C言語における基本的な配列操作とアルゴリズムの実装

本記事では、C言語における配列の基本的なメモリ構造、各種の配列操作、そしていくつかのデータ処理アルゴリズムについて、具体的なコード例を交えながら解説します。一次元配列から多次元配列まで、またデータの入出力、変換、ソートといった基礎的ながらも重要なテクニックを習得することを目的とします。 配列のメモリ配置の確認 C言語において、配列の要素はメモリ上 ...

7月2日 23:10 投稿

オンラインジャッジ向けGo言語構文ガイド

Javaとの主な構文の違い: 1) ++iは存在せず、i++のみ使用可能。whileループはなく、「for 条件」で代替。未使用の変数は定義不可。 整数型のmax、min、abs関数は標準で提供されていない。 2) 配列のサイズが定数でない場合、makeキーワードを使用してsliceを定義する必要がある。 クラスはなく、funcのみ存在。クラスに相当するものはstructキーワードで定義する。 ...

7月2日 18:47 投稿

LeetCode: 重複しない文字を含まない最長部分文字列の長さを求める

3. 重複しない文字を含まない最長部分文字列 文字列 s が与えられた場合、重複しない文字を含む最長の部分文字列の長さを見つけてください。 例 1: <strong>入力:</strong> s = "abcabcbb" <strong>出力:</strong> 3 <strong>説明:</strong> 重複しない文字を含む最長部分文字列は "abc" であるため、その長さ ...

7月2日 18:02 投稿

C++による基本プログラミング問題の解法

問題 1000: 2つの整数の合計 問題概要 2つの整数 a と b を読み込み、それらの合計を出力してください。 C++ コード例 #include <iostream> // 標準入出力ライブラリをインクルード int main() { int value1, value2; // 2つの整数値を格納する変数を宣言 // 標準入力から2つの整数値を読み込む std::cin >> value1 >> value2; // 読み込んだ2つ ...

7月2日 17:38 投稿

C言語による循環キューの実装

循環キューとは 循環キューは線形データ構造の一種で、FIFO(先入れ先出し)原則に基づく操作を提供します。通常のキューと異なり、末尾要素が先頭要素に接続されて環状構造を形成するため、リングバッファとも呼ばれます。 循環キューの利点 従来のキューでは領域が満杯になると追加操作が不可能でしたが、循環キューでは先頭側の未使用領域を再利用できるため、メモリ効 ...

7月1日 00:16 投稿

牛客週間コンテスト 第5回

牛客週間コンテスト 第5回 A-游游の文字変換 #include <iostream> #include <string> using namespace std; int main() { string input; cin >> input; for (size_t i = 0; i < input.length(); ++i) { char current = input[i]; if (current >= 'A' && current < 'Z') { input[i] = cu ...

7月1日 00:04 投稿

最小サイズの連続部分配列の探索

問題定義 n個の正の整数からなる配列と正の整数sが与えられたとき、要素の合計がs以上となる連続する部分配列のうち最小の長さを求める。条件を満たす部分配列が存在しない場合は0を返す。 例: 入力: s = 7, nums = [2,3,1,2,4,3] 出力: 2 説明: 部分配列[4,3]が条件を満たす最小長の連続部分配列 解法アプローチ 総当たり法 最も単純な方法は二重ループを用いた総当 ...

6月30日 23:57 投稿

C言語におけるポインタと配列の高度な操作

タスク1: 配列の最小値と最大値の検索 #include #define ARRAY_SIZE 5 void inputData(int data[], int size); void displayData(int data[], int size); void findMinMax(int data[], int size, int *minPtr, int *maxPtr); int main() { int numbers[ARRAY_SIZE]; int minValue, maxValue; printf("%d個のデータを入力してください:\n", ARRAY_SIZE); ...

6月29日 22:38 投稿

C言語におけるポインタ操作と文字列処理の実践

配列とポインタによるデータ処理 C言語において、ポインタを利用することで配列のデータを効率的に操作できます。以下の例では、整数配列を受け取り、その最小値と最大値をポインタ経由で書き換える関数を定義します。また、2次元配列を異なる種類のポインタ(要素へのポインタと配列へのポインタ)を用いて走査する方法を示します。 #include <stdio.h> void anal ...

6月29日 17:20 投稿