ホームページ  >  記事  >  ウェブフロントエンド  >  Codeforces ラウンド #267 (ディビジョン 2) B. ヒョードルと New Game_html/css_WEB-ITnose

Codeforces ラウンド #267 (ディビジョン 2) B. ヒョードルと New Game_html/css_WEB-ITnose

WBOY
WBOYオリジナル
2016-06-24 11:57:381154ブラウズ

あなたがジョージとアレックスの寮への引っ越しを手伝った後、彼らは友人のヒョードルが新しいコンピューター ゲーム「Call of Soldiers 3」をプレイするのを手伝いに行きました。

このゲームには (m?+?1) 人のプレイヤーと n 人がいます。合計の兵士の種類。プレイヤー「Call of Soldiers 3」には、1 から (m?+?1) までの番号が付けられます。兵士の種類には 0 から n?-?1 までの番号が付けられます。各プレイヤーは軍隊を持っています。 i 番目のプレイヤーの軍隊は、非負の整数 xi で表すことができます。 xi の 2 進表現を考えてみましょう。数値 xi の j 番目のビットが 1 に等しい場合、i 番目のプレイヤーの軍隊には j 番目のタイプの兵士がいます。

ヒョードルはゲームの (m?+?1) 番目のプレーヤーです。彼は、2 人のプレイヤーが軍隊の兵士の種類が最大で k 種類だけ異なっていれば、友人になれると仮定しています (つまり、対応する数値のバイナリ表現が最大で k ビットで異なっている)。ヒョードルを助けて、何人の選手が彼の友達になれるかを数えてください。

入力

最初の行には、3 つの整数 n、m、k (1?≤?k?≤?n?≤?20; 1?≤?m) が含まれています。 ?≤?1000).

次の (m?+?1) 行の i 番目には、i 番目の整数 xi (1?≤?xi?≤?2n?-?1) が含まれます。プレイヤーの軍隊。ヒョードルが (m?+?1) 番目のプレーヤーであることを思い出してください。

出力

単一の整数を出力します ?ヒョードルの潜在的な友人の数。

サンプル テスト

入力

7 3 18511117

出力

入力

3 3 31234

出力

3题意:给你m+1个数让你判断所给的数的二进制形式与第m+1个数不想同的位数是否小于等于k,累计答案思路:题意题<pre name="code" class="n">#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1010;int num[maxn], cnt;int main() {	int n, m, k;	scanf("%d%d%d", &n, &m, &k);	for (int i = 0; i < m; i++)		scanf("%d", &num[i]);	scanf("%d", &cnt);	int ans = 0;	for (int i = 0; i < m; i++) {		int cur = 0;		for (int j = 0; j < n; j++)			if (((1<<j)&num[i]) != ((1<<j)&cnt))				cur++;		if (cur <= k)			ans++;	}	printf("%d\n", ans);	return 0;}


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