検索
ホームページウェブフロントエンドhtmlチュートリアルCodeforces Round #224 (ディビジョン 2) D ブルート フォース検索と memoization_html/css_WEB-ITnose

半年くらい質問を読んでいますが、私の英語は下手すぎます 質問の意味はチェスの駒を2つ開始点としてチェス盤に置くことですが、開始点を#にすることはできません。画像の指示に従って移動を開始します。上に移動し、下に移動します。目の前に # がある場合は、その指示に従ってください。歩いている間は 2 つのチェスの駒が互いに接触することはできませんが、最終的には同じ # に到達します。ここでは問題ありません。無限のステップを実行できる場合は、たとえば


一 -1 を出力することで行き詰まり始めました。 .> に加えて円を形成することもできますが、これは判断が難しく、画像が 2000 * 2000 なので、逆 DFS は書きませんでした。このように、(i, j) を起点として取り得る最も遠いステップ数をメモリ内で検索する以外に方法はありません。ここで、画像が 2000 * 2000 であるため、2 つのチェスの場合、最大 4,000,000 ステップを実行できます。ピースが互いに続く場合、最大でも 8000000 を超えることはありませんので、最大値 MAXN = 8000000 を設定できます。通過点であるマークされたポイントに戻ると、この値が返され、それは -1 です。

開始点として各点を検索します。最大歩数を超えた後、同じ最大歩数の 2 つの点があり、歩行プロセス中にそれらが衝突しない場合、その合計が計算されます。最大ステップ数は ans + ans です。見つからない場合は、2 つのチェスの駒を順番に配置するのが最適な結果です。つまり、ans + ans - 1 です。これがディープサーチのコードの実装です。書くのは少しややこしいですが、


const int MAXN = 8000000 + 55;char aa[2000 + 55][2000 + 55];int mp[2000 + 55][2000 + 55];int xx[5] = {-1,1,0,0};int yy[5] = {0,0,-1,1};int dis[2000 + 55][2000 + 55];bool vis[2000 + 55][2000 + 55];int bb[2000 + 55][2000 + 55];int n,m;int ans;void init() {	memset(aa,0,sizeof(aa));	memset(mp,0,sizeof(mp));	memset(dis,-1,sizeof(dis));	memset(vis,0,sizeof(vis));	memset(bb,-1,sizeof(bb));}bool input() {	while(scanf("%d %d",&n,&m) == 2) {		for(int i=0;i<n scanf for j="0;j<m;j++)" if>')mp[i][j] = 3;			}		}		return false;	}	return true;}bool isok(int x,int y) {	if(x =n || y = m)return true;	return false;}int dfs1(int x,int y) {	if(isok(x,y))return 0;	if(vis[x][y])return MAXN;	if(dis[x][y] != -1) return dis[x][y];	vis[x][y] = 1;	if(mp[x][y] == -1) {		vis[x][y] = 0;		dis[x][y] = 0;		return 0;	}	else {		int tmp = dfs1(x + xx[mp[x][y]],y + yy[mp[x][y]]) + 1;		vis[x][y] = 0;		dis[x][y] = tmp;		return tmp;	}}int dfs2(int x,int y,int cnt) {	if(bb[x][y] != -1) {		if(bb[x][y] == cnt && mp[x][y] != -1)return 0;		return 1;	}	if(mp[x][y] == -1) {		bb[x][y] = cnt;		return 1;	}	else {		bb[x][y] = cnt;		return dfs2(x + xx[mp[x][y]],y + yy[mp[x][y]],cnt + 1);	}}void cal() {	ans = 0;	int mark;	for(int i=0;i<n for j="0;j<m;j++)" if int tmp="dfs1(i,j);">= MAXN){ans = MAXN;return;}			ans = max(ans,tmp);		}	}	if(ans == 0)return ;	mark = 0;	for(int i=0;i<n for j="0;j<m;j++)" if ans> 1){ans *= 2;return ;}			}		}	}	ans += (ans - 1);}void output() {	if(ans >= MAXN)puts("-1");	else cout <br> <br> <p></p> </n></n></n>
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTMLタグと属性に一貫したコーディングスタイルを使用することの重要性を説明します。HTMLタグと属性に一貫したコーディングスタイルを使用することの重要性を説明します。May 01, 2025 am 12:01 AM

コードの読みやすさ、保守性、効率を向上させるため、一貫したHTMLエンコーディングスタイルは重要です。 1)低ケースタグと属性を使用します。2)一貫したインデントを保持し、3)シングルまたはダブルの引用符を選択して固執する、4)プロジェクトのさまざまなスタイルの混合を避け、5)きれいなスタイルやEslintなどの自動化ツールを使用して、スタイルの一貫性を確保します。

ブートストラップ4にマルチプロジェクトカルーセルを実装する方法は?ブートストラップ4にマルチプロジェクトカルーセルを実装する方法は?Apr 30, 2025 pm 03:24 PM

Bootstrap4にマルチプロジェクトカルーセルを実装するソリューションBootstrap4にマルチプロジェクトカルーセルを実装するのは簡単な作業ではありません。ブートストラップですが...

DeepSeekの公式Webサイトは、マウススクロールイベントの浸透の影響をどのように達成していますか?DeepSeekの公式Webサイトは、マウススクロールイベントの浸透の影響をどのように達成していますか?Apr 30, 2025 pm 03:21 PM

マウススクロールイベントの浸透の効果を実現する方法は? Webを閲覧すると、いくつかの特別なインタラクションデザインに遭遇することがよくあります。たとえば、DeepSeekの公式ウェブサイトでは、...

HTMLビデオの再生コントロールスタイルを変更する方法HTMLビデオの再生コントロールスタイルを変更する方法Apr 30, 2025 pm 03:18 PM

HTMLビデオのデフォルトの再生コントロールスタイルは、CSSを介して直接変更することはできません。 1. JavaScriptを使用してカスタムコントロールを作成します。 2。CSSを介してこれらのコントロールを美化します。 3. video.jsやPLYRなどのライブラリを使用すると、互換性、ユーザーエクスペリエンス、パフォーマンスを検討してください。プロセスを簡素化できます。

お使いの携帯電話でネイティブセレクトを使用することにより、どのような問題が発生しますか?お使いの携帯電話でネイティブセレクトを使用することにより、どのような問題が発生しますか?Apr 30, 2025 pm 03:15 PM

携帯電話でネイティブセレクトを使用する際の潜在的な問題は、モバイルアプリケーションを開発するときに、ボックスを選択する必要があることがよくあります。通常、開発者...

お使いの携帯電話でネイティブ選択を使用することの欠点は何ですか?お使いの携帯電話でネイティブ選択を使用することの欠点は何ですか?Apr 30, 2025 pm 03:12 PM

お使いの携帯電話でネイティブ選択を使用することの欠点は何ですか?モバイルデバイスでアプリケーションを開発する場合、適切なUIコンポーネントを選択することが非常に重要です。多くの開発者...

Three.jsとOctreeを使用して部屋で3人のローミングの衝突処理を最適化する方法は?Three.jsとOctreeを使用して部屋で3人のローミングの衝突処理を最適化する方法は?Apr 30, 2025 pm 03:09 PM

Three.JSとOctreeを使用して、部屋でのサードパーソンローミングの衝突処理を最適化します。 3つのjsでoctreeを使用して、部屋でサードパーソンローミングを実装し、衝突を追加してください...

お使いの携帯電話でネイティブセレクトを使用する場合、どのような問題が発生しますか?お使いの携帯電話でネイティブセレクトを使用する場合、どのような問題が発生しますか?Apr 30, 2025 pm 03:06 PM

モバイルデバイスでアプリケーションを開発する際に携帯電話でネイティブセレクトの問題は、ユーザーが選択を行う必要があるシナリオに遭遇することがよくあります。ネイティブセル...

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。