玄关求调
查看原帖
玄关求调
1003116
Lazy_Sinner楼主2024/10/5 17:21
#include<bits/stdc++.h>
using namespace std;
int x[7],p[7],k[7];
int ans;
int fs(int x,int y)
{
	int ans=x;
	for(int i=1;i<=y;i++)
	{
		ans*=ans;
	}
	return ans;
}
int n,m;
int cnt;
void dfs(int s)
{
	if(s<=n)
	{
		for(int i=1;i<=m;i++)
		{
			x[s]=i;
			dfs(s+1);
		}
	}
	else{
		for(int i=1;i<=n;i++)
		cnt+=k[i]*fs(x[i],p[i]);
		if(cnt==0)
		ans++;
		else cnt=0;
		return;
	}
	return;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	cin>>k[i]>>p[i];
	dfs(1);
	cout<<ans;
  	return 0;
}

Orz

2024/10/5 17:21
加载中...