提出 #8369728


ソースコード 拡げる

#include<iostream>
#include<map>
#include<string.h>
#include<queue>
#include<algorithm>
#include<vector>
#include<string>
#include<utility>
#include<cstdlib>
#include<math.h>
#include<set>
#include<array>
using namespace std;

template<class T>inline bool chmax(T&a, T b) { if (a < b) { a = b; return 1; }return 0; }
template<class T>inline bool chmin(T&a, T b) { if (a > b) { a = b; return 1; }return 0; }



#define rep(n) for(int i=0;i<n;i++)
typedef pair<int, int> pii;

typedef long long ll;
typedef pair<ll, ll>pll;
const int MOD = 1000000007;
const int INF = 1 << 29;

long long modpow(long long a, long long n, long long mod) {
	long long res = 1;
	while (n > 0) {
		if (n & 1) res = res * a % mod;
		a = a * a % mod;
		n >>= 1;
	}
	return res;
}

int main() {
	ll ans = 1;
	ll n, d[100001];
	cin >> n;
	rep(n) {
		cin >> d[i];
		if (d[i] == 0 && i != 0)ans = 0;
	}
	if (d[0] != 0)ans = 0;
	sort(d, d + n);
	ll cnt = 1, cnt1 = 1;
	if (d[0] != 0)ans = 0;
	for (ll i = 1; i<n; i++) {

		if (d[i] == 0)ans = 0;
		if (d[i] == d[i - 1] + 1) {
			ans *= modpow(cnt, cnt1, 998244353);
			ans %= 998244353;
			cnt = cnt1;
			cnt1 = 1;
		}
		else if (d[i] == d[i - 1]) {
			cnt1++;
		}
		else ans = 0;
	}
	ans *= modpow(cnt, cnt1, 998244353);
	cout << ans % 998244353 << endl;

	return 0;

}

提出情報

提出日時
問題 B - Counting of Trees
ユーザ ranchan
言語 C++14 (GCC 5.4.1)
得点 300
コード長 1360 Byte
結果 AC
実行時間 35 ms
メモリ 1024 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 27
セット名 テストケース
Sample sample01.txt, sample02.txt, sample03.txt
All sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, sample01.txt, sample02.txt, sample03.txt
ケース名 結果 実行時間 メモリ
in01.txt AC 33 ms 1024 KiB
in02.txt AC 32 ms 896 KiB
in03.txt AC 32 ms 896 KiB
in04.txt AC 31 ms 1024 KiB
in05.txt AC 32 ms 1024 KiB
in06.txt AC 34 ms 1024 KiB
in07.txt AC 34 ms 1024 KiB
in08.txt AC 34 ms 1024 KiB
in09.txt AC 32 ms 1024 KiB
in10.txt AC 7 ms 384 KiB
in11.txt AC 3 ms 256 KiB
in12.txt AC 29 ms 1024 KiB
in13.txt AC 3 ms 256 KiB
in14.txt AC 35 ms 1024 KiB
in15.txt AC 35 ms 1024 KiB
in16.txt AC 26 ms 1024 KiB
in17.txt AC 23 ms 1024 KiB
in18.txt AC 19 ms 1024 KiB
in19.txt AC 18 ms 1024 KiB
in20.txt AC 35 ms 1024 KiB
in21.txt AC 1 ms 256 KiB
sample01.txt AC 1 ms 256 KiB
sample02.txt AC 1 ms 256 KiB
sample03.txt AC 1 ms 256 KiB