Submission #1306498


Source Code Expand

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

typedef vector<unsigned int> vec;
typedef vector<vec> mat;

mat mul(mat a, mat b) {
	mat c(a.size(), vec(b[0].size()));

	for (int i = 0; i < a.size(); i++) {
		for (int j = 0; j < b[0].size(); j++) {
			for (int k = 0; k < a[0].size(); k++) {
				c[i][j] ^= (a[i][k] & b[k][j]);
			}
		}
	}

	return c;
}

mat pow(int x, mat a) {
	//cout << x << endl;

	if (x == 1)return a;

	mat b;
	if (x / 2 == 1)b = mul(a, a);
	else {
		b = pow(x / 2, a);
		b = mul(b, b);
	}

	if (x % 2 != 1) {
		b = mul(a, b);
	}

	return b;
}

void display(mat a) {
	for (int i = 0; i < a.size(); i++) {
		for (int j = 0; j < a[0].size(); j++) {
			cout << a[i][j] << " ";
		}
		cout << endl;
	}
}

int main() {
	int k, m;
	cin >> k >> m;

	mat a(k, vec(1));
	mat c(k, vec(k));
	for (int i = k-1; i >= 0; i--) {
		cin >> a[i][0];
	}

	for (int i = 0; i < k; i++) {
		for (int j = 0; j < k; j++) {
			if (j > 0 && j == i) {
				c[i][j - 1] = UINT32_MAX;
			}
			else {
				c[i][j] = 0;
			}
		}
		cin >> c[0][i];
	}

	/*display(a);
	cout << endl;
	display(c);*/

	if (k >= m) {
		cout << a[k - 1][0] << endl;
	}
	else {
		mat b = pow(m - k+1, c);
		mat ans = mul(b, a);
		cout << ans[0][0] << endl;
	}
}

Submission Info

Submission Time
Task D - 漸化式
User ZxFkcjgN
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1321 Byte
Status WA
Exec Time 47 ms
Memory 1664 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 4
WA × 16
Set Name Test Cases
All random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, sample_1.txt, sample_2.txt, sample_3.txt, small_1.txt, small_2.txt
Case Name Status Exec Time Memory
random_01.txt WA 1 ms 256 KB
random_02.txt WA 1 ms 256 KB
random_03.txt WA 1 ms 256 KB
random_04.txt WA 1 ms 256 KB
random_05.txt AC 1 ms 256 KB
random_06.txt WA 1 ms 256 KB
random_07.txt WA 3 ms 384 KB
random_08.txt WA 8 ms 640 KB
random_09.txt WA 44 ms 1664 KB
random_10.txt WA 45 ms 1664 KB
random_11.txt WA 45 ms 1664 KB
random_12.txt WA 45 ms 1664 KB
random_13.txt WA 45 ms 1664 KB
random_14.txt WA 45 ms 1664 KB
random_15.txt WA 47 ms 1664 KB
sample_1.txt AC 1 ms 256 KB
sample_2.txt AC 1 ms 256 KB
sample_3.txt WA 3 ms 384 KB
small_1.txt AC 1 ms 256 KB
small_2.txt WA 1 ms 256 KB