検索

XSS クロスサイト スクリプティング攻撃。偽のコンテンツとクリックベイトを通じて同一生成元ポリシーをバイパスします。これは大きな問題であり、攻撃者がコードの挿入に成功すると、かなりの量のユーザー データが漏洩する可能性があります。

問題の説明

特定のグラフィックス オペレーティング システムには N 個のウィンドウがあり、各ウィンドウは座標軸に平行な両側を持つ長方形の領域です。 。ウィンドウの境界上の点もウィンドウに属します。複数のウィンドウが重なっている領域では、ウィンドウ間に階層の違いがあり、最上位のウィンドウのコンテンツのみが表示されます。
画面上の点をクリックすると、クリックした位置の最上位ウィンドウが選択され、このウィンドウはすべてのウィンドウの最上位に移動されますが、残りのウィンドウの階層順序は変更されません。クリックした場所がどのウィンドウにも属していない場合、システムはクリックを無視します。
ここで、ウィンドウをクリックするプロセスをシミュレートするプログラムを作成してもらいます。

入力形式

入力の最初の行には、N と M という 2 つの正の整数が含まれています。 (1 ≤ N ≤ 10,1 ≤ M ≤ 10)
次の N 行は、N 個のウィンドウの位置を下から上に順番に示します。各行には 4 つの非負の整数 x1、y1、x2、y2 が含まれており、ウィンドウの頂点座標のペア (x1, y1) と (x2, y2) を示します。 x1 次の M 行のそれぞれには、マウス クリックの座標を表す 2 つの非負の整数 x と y が含まれています。
質問に含まれるすべての点と長方形の頂点の x 座標と y 座標は、それぞれ 2559 と 1439 を超えません。

出力形式

出力には M 行が含まれており、各行はマウスのクリックの結果を表します。このマウスクリックによりウィンドウが選択されている場合は、そのウィンドウの番号が出力されます (ウィンドウには入力順に 1 から N までの番号が付けられます)。そうでない場合は、「IGNORED」(二重引用符なし) が出力されます。

サンプル入力

3 4
0 0 4 4
1 1 5 5
2 2 6 6
1 1
0 0
4 4
0 5

サンプル出力

2
1
1
IGNORED

サンプルの説明

位置初めてクリックしたボタンは1番目と2番目のウィンドウの両方に属しますが、2番目のウィンドウが一番上にあるので選択して一番上に持ってきます。
2回目にクリックした位置は最初のウィンドウにのみ属するため、このクリックでこのウィンドウが選択され、最上部に表示されます。 3 つのウィンドウ間の階層関係は、初期状態とはまったく逆になります。
3 回目にクリックした位置は同時に 3 つのウィンドウの範囲に属しますが、最初のウィンドウが最上位にあるため、選択されます。
最後にクリックされた (0, 5) はどのウィンドウにも属しません。

分析: 非常に単純な質問ですが、順序さえ分かれば難しいことはありません。

#include <iostream>
#include<vector>
using namespace std;

int main()
{
	int N, M;
	cin >> N >> M;
	vector<int>win;
	vector<int>::iterator it;
	for (int i = N; i > 0; i--)
	{
		win.push_back(i);
	}
	int position[11][4];
	int cli[13][2];
	for (int i = 1; i <= N; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			cin >> position[i][j];
		}
	}
	for (int i = 0; i < M; i++)
	{
		for (int j = 0; j < 2; j++)//由于写这个的时候精神状态不是很好,原来写成j>2了。后来实在找不到哪里错了,只好把for循环重写了一遍。
		{
			cin >> cli[i][j];
		}
	}
	for (int i = 0; i < M; i++)
	{
		bool you = true;
		for (int j = 0; j < N; j++)
		{
			if (cli[i][0] >= position[win[j]][0] && cli[i][0] <= position[win[j]][2] && cli[i][1] >= position[win[j]][1] && cli[i][1] <= position[win[j]][3])
			{
				cout << win[j] << endl;
				you = false;
				if (j != 0)
				{
					int a = win[j];
					for (it = win.begin(); it != win.end();)
					{
						if (*it == a)
						{
							it = win.erase(it);
						//	break;
						}   //删除元素,返回值指向已删除元素的下一个位置
						else
						{
							++it;
						}    //指向下一个位置
					}
					win.insert(win.begin(), a);
				}
				break;
			}
		}
		if (you)
		{
			cout << "IGNORED" << endl;
		}
		
	}
	return 0;
}

関連する推奨事項:

HTML5 セキュリティの概要コンテンツ セキュリティ ポリシー (CSP) の概要_html5 チュートリアル スキル

html5 基本タグ (html5 ビデオタグ html5 新しいタグの使用法)_html5 チュートリアル スキル

以上がCCF CSP ウィンドウについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
H5:ウェブ上のユーザーエクスペリエンスをどのように強化するかH5:ウェブ上のユーザーエクスペリエンスをどのように強化するかApr 19, 2025 am 12:08 AM

H5は、マルチメディアサポート、オフラインストレージ、パフォーマンスの最適化により、Webユーザーエクスペリエンスを向上させます。 1)マルチメディアサポート:H5と要素は、開発を簡素化し、ユーザーエクスペリエンスを向上させます。 2)オフラインストレージ:WebStorageとIndexEdDBは、エクスペリエンスを改善するためにオフラインで使用できるようにします。 3)パフォーマンスの最適化:ウェブワーカーと要素は、パフォーマンスを最適化して帯域幅の消費を削減します。

H5コードの分解:タグ、要素、属性H5コードの分解:タグ、要素、属性Apr 18, 2025 am 12:06 AM

HTML5コードは、タグ、要素、属性で構成されています。1。タグはコンテンツタイプを定義し、などの角度ブラケットに囲まれています。 2。要素は、startタグ、内容、および内容などのエンドタグで構成されています。 3。属性は、開始タグのキー値のペアを定義し、ような関数を強化します。これらは、Web構造を構築するための基本ユニットです。

H5コードの理解:HTML5の基礎H5コードの理解:HTML5の基礎Apr 17, 2025 am 12:08 AM

HTML5は、最新のWebページを構築するための重要なテクノロジーであり、多くの新しい要素と機能を提供します。 1。HTML5は、Webページの構造とSEOを強化するなどのセマンティック要素を導入します。 2。プラグインなしのマルチメディア要素と埋め込みメディアをサポートします。 3.フォームは、新しい入力タイプと検証プロパティを強化し、検証プロセスを簡素化します。 4.オフラインおよびローカルストレージ機能を提供して、Webページのパフォーマンスとユーザーエクスペリエンスを向上させます。

H5コード:Web開発者向けのベストプラクティスH5コード:Web開発者向けのベストプラクティスApr 16, 2025 am 12:14 AM

H5コードのベストプラクティスには以下が含まれます。1。正しいDoctype宣言と文字エンコーディングを使用します。 2。セマンティックタグを使用します。 3。HTTPリクエストを削減します。 4.非同期負荷を使用します。 5。画像を最適化します。これらのプラクティスは、Webページの効率、保守性、ユーザーエクスペリエンスを向上させることができます。

H5:Web標準とテクノロジーの進化H5:Web標準とテクノロジーの進化Apr 15, 2025 am 12:12 AM

Web標準とテクノロジーは、これまでにHTML4、CSS2、および単純なJavaScriptから進化し、重要な開発を受けてきました。 1)HTML5は、CanvasやWebstorageなどのAPIを導入し、Webアプリケーションの複雑さと互換性を高めます。 2)CSS3はアニメーション関数とトランジション関数を追加して、ページをより効果的にします。 3)JavaScriptは、矢印関数やクラスなど、node.jsおよびES6の最新の構文を通じて開発効率とコードの読みやすさを向上させます。これらの変更により、パフォーマンスの最適化とWebアプリケーションのベストプラクティスの開発が促進されました。

H5はHTML5の速記ですか?詳細の調査H5はHTML5の速記ですか?詳細の調査Apr 14, 2025 am 12:05 AM

H5はHTML5の略語だけでなく、より広い最新のWeb開発テクノロジーエコシステムを表しています。1。H5にはHTML5、CSS3、JavaScript、および関連するAPIおよびテクノロジーが含まれます。 2.より豊かでインタラクティブでスムーズなユーザーエクスペリエンスを提供し、複数のデバイスでシームレスに実行できます。 3. H5テクノロジースタックを使用して、レスポンシブWebページと複雑なインタラクティブ機能を作成できます。

H5およびHTML5:Web開発で一般的に使用される用語H5およびHTML5:Web開発で一般的に使用される用語Apr 13, 2025 am 12:01 AM

H5とHTML5は、同じこと、つまりHTML5を参照します。 HTML5はHTMLの5番目のバージョンであり、セマンティックタグ、マルチメディアサポート、キャンバスとグラフィックス、オフラインストレージ、ローカルストレージなどの新しい機能をもたらし、Webページの表現力と互換性を向上させます。

H5は何を参照していますか?コンテキストの探索H5は何を参照していますか?コンテキストの探索Apr 12, 2025 am 12:03 AM

H5ReferStoHtml5、apivotaltechnologyinwebdevelopment.1)html5introduceSnewelementsandapisforrich、dynamicwebapplications.2)Itupp ortsmultimediawithoutplugins、endancingurexperiencecrossdevices.3)semanticelementsimprovecontentstructurendseo.4)H5'srespo

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

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境