稻花香里说丰年,听取WA声一片, 求调.
查看原帖
稻花香里说丰年,听取WA声一片, 求调.
783810
furina_yyds楼主2023/8/25 14:57
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int ans[1005], a[1005], n, j[1005];
void s2BIG(string s, int a[]){
	int al = s.size();
	for(int i = 1; i <= al; i++){
		a[i] = a[al - i] - '0';
	}
	a[0] = al;
}
int statistics(int a[], int b){
	int al = a[0], ans = 0;
	for(int i = 1;i <= al;i++){
		if(a[i] == b){
			ans++;
		}
	}
	return ans;
}
void printBIG(int a[]){
	int al = a[0];
	for(int i = al; i >= 1; i--){
		printf("%d", a[i]);
	}
}
void mulBIG(int a[], int b, int c[]){
	int al = a[0];
	int bl = al;
	int u = 0;
	for(int i = 1; i <= bl; i++){
		int t = a[i] * b + u;
		c[i] = t % 10;
		u = t / 10;
	}
	while(u > 0){
		bl++;
		c[bl] = u % 10;
		u /= 10;
	}
	c[0] = bl;
}
void addBIG(int a[], int b[], int c[]){
	int al = a[0], bl = b[0];
	int cl = max(al, bl);
	int u = 0;
	for(int i = 1; i <= cl; i++){
		int t = u;
		if(i <= al)t += a[i];
		if(i <= bl)t += b[i];
		c[i] = t % 10;
		u = t / 10;
	}
	if(u > 0){
		cl++;
		c[cl] = u;
	}
	c[0] = cl;
}
int main() {
	int t;
	scanf("%d", &t);
	for(int i = 1; i <= t; i++)
	{
		int b, x, cnt;
		memset(a, 0, sizeof(a));
		a[0] = 1;
		a[1] = 1;
		scanf("%d%d", &b, &x);
		for(int i = 1; i <= b; i++){
			mulBIG(a, i, j);
			memcpy(a, j, sizeof(j));
		}
		printf("%d\n", statistics(a, x));
	}
    return 0;
}
2023/8/25 14:57
加载中...