提出 #9846524


ソースコード 拡げる

#include "bits/stdc++.h"
#include<assert.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define int long long
#define MRE assert(0);
const int inf = 1e11;
const int mod = 998244353;
const int maxN = 10000003;
typedef pair<int, int> P;
typedef pair<int, P> PP;
int kj[maxN], kji[maxN];
int rwa[maxN];
int modpow(int a, int x, int mod) {
	int res = 1;
	while (x) {
		if (x & 1)res = res*a%mod;
		x >>= 1;
		a = a*a%mod;
	}
	return res;
}
void setkj(int n) {
	kj[0] = 1;
	rep(i, n)kj[i + 1] = kj[i] * (i + 1) % mod;
	rep(i, n + 1)kji[i] = modpow(kj[i], mod - 2, mod);
}
int comb(int r,int c) {
	if (c<0 || r<c)return 0;
	return kj[r] * kji[c] % mod*kji[r - c] % mod;
}
void expr(int n) {
	int sum = 0;
	rep(a1, n + 1) {
		rep(b1, n + 1) {
			rep(a2, n + 1) {
				rep(b2, n + 1) {
					if (a1 + b1 <= n&&a2 + b2 <= n&&a1 + b2 <= n&&a2 + b1 <= n) {
						int c1 = n - a1 - b1, c2 = n - a2 - b2;
						sum += kj[n] * kj[n] % mod*kji[a1] % mod*kji[a2] % mod*kji[b1] % mod*kji[b2] % mod*kji[c1] % mod*kji[c2] % mod;
						cout << a1 << b1 << a2 << b2 << endl;
					}
				}
			}
		}
	}
	cout << sum << endl;
}
signed main() {
	int n; cin >> n;
	setkj(n);
	n /= 2;
	int sum = 0;
	for (int j = 1; j <= n; j++)rwa[j] = comb(n, j)*modpow(2, mod - 1 - j, mod) % mod;
	for (int j = 0; j <= n; j++)rwa[j + 1] += rwa[j];

	for (int i = 1; i <= n; i++) {
		int lj = n + 1 - i, rj = n;
		int res1 = rwa[rj] - rwa[lj - 1] + mod;
		res1 %= mod;
		sum += comb(n, i)*modpow(2, n + n - i, mod) % mod*res1%mod;
		sum %= mod;
	}
	/*
	rep(i, n + 1) {
		rep(j, n + 1) {
			if (i + j > n) {
				sum += comb(n, i)*comb(n, j) % mod*modpow(2, n*2 - i-j, mod);
			}
		}
	}*/
	sum = modpow(3, 2 * n, mod) - sum * 2 % mod;
	sum = (sum + mod) % mod;
	cout << sum << endl; 
}

提出情報

提出日時
問題 C - Neither AB nor BA
ユーザ Rho17
言語 C++14 (GCC 5.4.1)
得点 800
コード長 1827 Byte
結果 AC
実行時間 3072 ms
メモリ 197760 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 800 / 800
結果
AC × 3
AC × 14
セット名 テストケース
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt
ケース名 結果 実行時間 メモリ
00-sample-01.txt AC 2 ms 4352 KiB
00-sample-02.txt AC 2 ms 4352 KiB
00-sample-03.txt AC 300 ms 22784 KiB
01-01.txt AC 470 ms 35072 KiB
01-02.txt AC 378 ms 28928 KiB
01-03.txt AC 322 ms 26880 KiB
01-04.txt AC 570 ms 41216 KiB
01-05.txt AC 1739 ms 114944 KiB
01-06.txt AC 3072 ms 197760 KiB
01-07.txt AC 3069 ms 197760 KiB
01-08.txt AC 3069 ms 197632 KiB
01-09.txt AC 3072 ms 197760 KiB
01-10.txt AC 3068 ms 197632 KiB
01-11.txt AC 3070 ms 197760 KiB