目次
問題カテゴリ
手順
Example
入力
出力
ホームページ バックエンド開発 C++ グリッドにパターンが存在するかどうかを調べる C++ プログラム

グリッドにパターンが存在するかどうかを調べる C++ プログラム

Sep 05, 2023 pm 06:05 PM
モデル 探す グリッド

グリッドにパターンが存在するかどうかを調べる C++ プログラム

n * n グリッドがあると仮定します。以下に示すように、グリッドに十字のパターンがあるかどうかを検出する必要があります。-

#...#
.#.#.
..#..
.#.#.
#...#
ログイン後にコピー

グリッドには「#」と「.」のみを含めることができます。パターンを検出し、そのパターンがいくつあるかを調べる必要があります。 グリッドのパターン。グリッドと寸法が入力として与えられます。

問題カテゴリ

プログラミングにおけるさまざまな問題は、さまざまな手法で解決できます。問題を解決するには、まずアルゴリズムを設計し、特定の問題を詳細に研究する必要があります。同じ問題が繰り返し発生する場合は、再帰的手法を使用することも、反復構造を使用することもできます。 if-else や switch case などの制御ステートメントを使用して、プログラムの論理フローを制御できます。変数とデータ構造を効果的に使用すると、よりシンプルなソリューションと、軽量でメモリ要件の低いプログラムが提供されます。私たちは、分割統治、貪欲プログラミング、動的プログラミングなどの既存のプログラミング手法を研究し、それらが使用できるかどうかを確認する必要があります。この問題は、いくつかの基本的なロジックまたは強引な方法で解決できます。この方法をよりよく理解するには、以下に従ってください。

したがって、問題の入力が n = 5 でグリッドが

#...#
.#.#.
..#..
.#.#.
#...#,
ログイン後にコピー

の場合、出力は 1 になります。

手順

この問題を解決するには、次の手順に従います。

count := 0
for initialize i := 1, when i < n - 1, update (increase i by 1), do:
   for initialize j := 1, when j < n - 1, update (increase j by 1), do:
      if grid[i, j] is same as &#39;#&#39; and grid[i - 1, j - 1] is same as &#39;#&#39; and grid[i - 1, j + 1] is same as &#39;#&#39; and grid[i + 1, j - 1] is same as &#39;#&#39; and grid[i + 1, j + 1] is same as &#39;#&#39;, then:
         (increase count by 1)
print(count)
ログイン後にコピー

Example

理解を深めるために、以下の実装を見てみましょう -

#include<bits/stdc++.h>
using namespace std;
void solve(int n, vector<string> grid) {
   int count = 0;
   for(int i = 1; i < n - 1; i++){
      for(int j = 1; j < n - 1; j++){
         if(grid[i][j] == &#39;#&#39; && grid[i - 1][j - 1] == &#39;#&#39; && grid[i - 1][j + 1] == &#39;#&#39; && grid[i + 1][j - 1] == &#39;#&#39; && grid[i + 1][j + 1] == &#39;#&#39;)
            count++;
      }
   }
   cout<< count;
}
int main() {
   int n = 5;
   vector<string> grid = {"#...#", ".#.#.", "..#..", ".#.#.", "#...#"};
   solve(n, grid);
   return 0;
}
ログイン後にコピー

入力

5, {"#...#", ".#.#.", "..#..", ".#.#.", "#...#"}
ログイン後にコピー

出力

1
ログイン後にコピー

以上がグリッドにパターンが存在するかどうかを調べる C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WeChat の「おやすみモード」は何をするのですか? WeChat の「おやすみモード」は何をするのですか? Feb 23, 2024 pm 10:48 PM

WeChat のサイレント モードとはどういう意味ですか? 現在、スマートフォンの人気とモバイル インターネットの急速な発展により、ソーシャル メディア プラットフォームは人々の日常生活に欠かせないものとなっています。 WeChat は中国で最も人気のあるソーシャル メディア プラットフォームの 1 つであり、ほとんどの人が WeChat アカウントを持っています。私たちは WeChat を通じて友人、家族、同僚とリアルタイムでコミュニケーションを取り、生活の瞬間を共有し、お互いの現在の状況を理解することができます。しかし、この時代では、特に集中力や集中力が必要な人々にとって、情報過多やプライバシー漏洩の問題にも必然的に直面します。

iPhoneのスリープモードは何に使用されますか? iPhoneのスリープモードは何に使用されますか? Nov 04, 2023 am 11:13 AM

iOS デバイスでは、ヘルスケア アプリを使用して睡眠パターンなどを追跡できるようになってきました。でも、寝ているときに通知が来ると煩わしくありませんか?これらの通知は無関係である可能性があるため、その過程で睡眠パターンが混乱します。おやすみモードは、睡眠中に気を散らすのを避けるための優れた方法ですが、夜間に受信する重要な電話やメッセージを見逃す可能性があります。ありがたいことに、ここでスリープモードが登場します。それについてさらに詳しく、そしてiPhoneでそれを使用する方法を学びましょう。 iPhone ではスリープ モードはどのような役割を果たしますか? スリープ モードは iOS 専用のフォーカス モードで、「ヘルスケア」アプリの睡眠スケジュールに基づいて自動的に有効になります。アラームを設定するのに役立ちます。

「iPhoneを探す」をオフにする方法 「iPhoneを探す」をオフにする方法 Nov 09, 2023 pm 02:21 PM

iPhone で「探す」をオフにするとどうなりますか? 「iPhone を探す」は、紛失または盗難に遭ったデバイスを見つけるのに役立ちます。 「iPhone を探す」を有効にすると、地図上でデバイスの位置を追跡したり、サウンドを鳴らしたり、デバイスを見つけやすくしたりできます。 Find My には、他人が iPhone を使用できないようにするためのアクティベーション ロックも含まれています。 「iPhone を探す」をオフにすると、これらの機能がすべて失われるため、紛失した Apple デバイスの回復が困難になる場合があります。 「iPhone を探す」は非常に便利ですが、携帯電話を販売、寄付、下取りに出したり、バッテリー交換やその他のサービスに送ったりする場合は、この機能を無効にする必要があります。これにより、誰もあなたに関する情報にアクセスできなくなります

C# の Array.IndexOf 関数を使用して、配列内の要素のインデックスを検索します。 C# の Array.IndexOf 関数を使用して、配列内の要素のインデックスを検索します。 Nov 18, 2023 am 09:59 AM

C# で Array.IndexOf 関数を使用して、配列内の要素のインデックスを検索します。C# プログラムでは、配列内の要素のインデックスを検索する必要がある場合、Array.IndexOf 関数を使用できます。 Array.IndexOf 関数は、指定された配列範囲内で指定された要素を検索し、最初に出現した要素のインデックスを返します。要素が見つからない場合は、-1 が返されます。以下は、Array.IndexOf 関数を使用して配列内の要素を検索する方法を示すサンプル コードです。

iPhoneで「探す」をオフにする4つの方法 iPhoneで「探す」をオフにする4つの方法 Feb 02, 2024 pm 04:15 PM

Apple の Find My アプリを使用すると、iPhone またはその他のデバイスの位置を特定して、紛失したり忘れられたりするのを防ぐことができます。 Find My はデバイスを追跡するのに便利なツールですが、プライバシーの問題が心配な場合、バッテリーを消耗したくない場合、またはその他の理由で無効にすることもできます。幸いなことに、iPhone で「探す」をオフにする方法はいくつかあり、この記事ですべて説明します。 iPhoneで「探す」をオフにする方法【4つの方法】 iPhoneで「探す」をオフにする方法は4つあります。方法 1 を使用して検索をオフにした場合は、検索を無効にするデバイスからこれを行うことができます。方法 2、3、4 を続行するには、「電話を探す」をオフにする iPhone の電源をオフにするか、

正確なオブジェクト検出のためのマルチグリッド冗長境界ボックス注釈 正確なオブジェクト検出のためのマルチグリッド冗長境界ボックス注釈 Jun 01, 2024 pm 09:46 PM

1. はじめに 現在、主要なオブジェクト検出器は、深層 CNN のバックボーン分類器ネットワークを再利用した 2 段階または 1 段階のネットワークです。 YOLOv3 は、入力画像を受け取り、それを等しいサイズのグリッド マトリックスに分割する、よく知られた最先端の 1 段階検出器の 1 つです。ターゲット中心を持つグリッド セルは、特定のターゲットの検出を担当します。今日私が共有するのは、各ターゲットに複数のグリッドを割り当てて正確なタイトフィット境界ボックス予測を実現する新しい数学的手法です。研究者らはまた、ターゲット検出のための効果的なオフラインのコピー&ペーストデータの強化も提案しました。新しく提案された方法は、現在の最先端の物体検出器の一部よりも大幅に性能が優れており、より優れたパフォーマンスが期待されます。 2. バックグラウンドターゲット検出ネットワークは、次のように設計されています。

ハードディスクのシリアル番号とMACアドレスを確認する方法 ハードディスクのシリアル番号とMACアドレスを確認する方法 Feb 18, 2024 pm 07:45 PM

ハードドライブのシリアル番号と MAC アドレスは、コンピュータ ハードウェアの重要な識別子であり、コンピュータ システムの管理と保守に非常に役立ちます。この記事では、ハードディスクのシリアル番号とMACアドレスを確認する方法を紹介します。 1. ハードドライブのシリアル番号を見つける ハードドライブのシリアル番号は、ハードドライブの製造元がハードドライブを識別および追跡するために使用する一意の識別子です。オペレーティング システムが異なると、ハード ドライブのシリアル番号を見つける方法が若干異なります。 Windows: コマンド プロンプトを開き (スタート メニューで「cmd」を検索)、次のコマンドを入力して Enter キーを押します: wmicdisk

iPhoneでサイレントモードが機能しない:修正 iPhoneでサイレントモードが機能しない:修正 Apr 24, 2024 pm 04:50 PM

おやすみモードで電話に応答することさえ、非常に煩わしい経験になる可能性があります。名前が示すように、おやすみモードでは、すべての着信通知と電子メール、メッセージなどからの警告がオフになります。これらのソリューション セットに従って問題を修正できます。解決策 1 – フォーカス モードを有効にする 携帯電話でフォーカス モードを有効にします。ステップ 1 – 上から下にスワイプしてコントロール センターにアクセスします。ステップ 2 – 次に、携​​帯電話の「フォーカスモード」を有効にします。フォーカス モードでは、電話機のサイレント モードが有効になります。携帯電話に着信通知が表示されることはありません。解決策 2 – フォーカス モード設定を変更する フォーカス モード設定に問題がある場合は、修正する必要があります。ステップ 1 – iPhone の設定ウィンドウを開きます。ステップ 2 – 次に、フォーカス モード設定をオンにします

See all articles