結果

問題 No.183 たのしい排他的論理和(EASY)
ユーザー ssssskkkkkssssskkkkk
提出日時 2017-11-28 15:12:36
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
RE  
実行時間 -
コード長 941 bytes
コンパイル時間 685 ms
コンパイル使用メモリ 70,224 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-05-05 14:53:04
合計ジャッジ時間 5,452 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 RE -
testcase_01 RE -
testcase_02 RE -
testcase_03 RE -
testcase_04 RE -
testcase_05 RE -
testcase_06 RE -
testcase_07 RE -
testcase_08 RE -
testcase_09 RE -
testcase_10 RE -
testcase_11 RE -
testcase_12 RE -
testcase_13 RE -
testcase_14 RE -
testcase_15 RE -
testcase_16 RE -
testcase_17 RE -
testcase_18 RE -
testcase_19 RE -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdlib.h>
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#define rep(i,n)	for(int i=0;i<n;i++)
#define srep(i,a,n)	for(int i=a;i<n;i++)
#define REP(i,n)	for(int i=0;i<=n;i++)
#define SREP(i,a,n)	for(int i=a;i<=n;i++)
#define rrep(i,n)	for(int i=n-1;i>=0;i--)
#define RREP(i,n)	for(int i=n;i>=0;i--)
#define scan(x) cin >> x
#define print(x) cout << x << endl
#define fastcin {\
    cin.tie(0);\
    ios::sync_with_stdio(false);\
}
using namespace std;
typedef long long ll;
/* Coding Space */
int max_num;
int N;
int A[5001];
bool** dp;
int main(void) {
	fastcin;
	scan(N);
	SREP(n, 1, N) scan(A[n]);
	REP(n, 14) max_num += 1 << n;
	dp = new bool*[N + 1];
	REP(n, N) {
		REP(m, N) dp[n][m] = new bool[max_num];
	}
	dp[0][0] = true;
	SREP(n, 1, N) rep(a, max_num) {
		if (!dp[n - 1][a]) continue;
		dp[n][a] = true;
		dp[n][a ^ A[n]] = true;
	}
	print(count(dp[N], dp[N] + max_num, true));
	return 0;
}
0