QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#21511#2850. 蛋糕hy_zheng_zai_nei_juan#AC ✓89ms3556kbC++20790b2022-03-07 14:19:192022-05-08 03:35:14

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-05-08 03:35:14]
  • 评测
  • 测评结果:AC
  • 用时:89ms
  • 内存:3556kb
  • [2022-03-07 14:19:19]
  • 提交

answer

#include <bits/stdc++.h>

long long mod = 2148473648ll;

int main() {
	std::ios::sync_with_stdio(false);
	//std::cin.tie(nullptr);
	//std::cout.tie(nullptr);
	int T;
	std::cin >> T;
	static long long f[4], tot[10];
	auto dfs = [&](auto &self, long long cur, int k, int cnt) -> void {
		if (k == 4) {
			tot[cnt] += cur;
			tot[cnt] %= mod;
		}
		else {
			if (f[k] == 1) {
				self(self, cur, k + 1, cnt + 2);
			}
			else {
				self(self, cur * (f[k] - 2) % mod, k + 1, cnt);
				self(self, cur * 2 % mod, k + 1, cnt + 1);
			}
		}
	};	
	while (T--) {
		for (int i = 0; i < 4; ++i)
			std::cin >> f[i];
		memset(tot, 0, sizeof tot);
		dfs(dfs, 1, 0, 0);
		for (int i = 0; i < 9; ++i)
			std::cout << tot[i] << " ";
		std::cout << '\n';
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 89ms
memory: 3556kb

input:

9999
18429 66560 1 13694
48994 1 16287 10018
26028 52162 14916 1
30285 52396 33384 55269
65461 96967 74820 73364
55054 70162 1 1
97285 88897 39444 35439
61069 20048 35664 1
21838 22945 6244 79240
46316 82624 33318 31522
90387 93765 7568 97379
22273 74037 1255 91257
67961 28295 1 36263
20958 87638 59...

output:

0 0 278697304 483210476 394708 8 0 0 0 
0 0 939058608 754824656 301172 8 0 0 0 
0 0 928825136 750217032 372400 8 0 0 0 
1239780156 506705424 73742516 1370608 16 0 0 0 0 
1867092428 2145345144 1816812716 2484832 16 0 0 0 0 
0 0 0 0 1713974672 250424 4 0 0 
1222501394 1134629934 1413163092 2088456 16 ...

result:

ok 9999 lines