两个WA 求大佬找找问题
查看原帖
两个WA 求大佬找找问题
370102
njz1234楼主2020/8/11 21:29
#include<bits/stdc++.h>
using namespace std;
int a[21],b[21],c[21],n,r,ans;
int zs(int n)
{
	int i;
	for(i=2;i*i<=n;i++)
	{
		if(n%i==0)
			return 0;
	}
	return 1;
}
int lj()
{
	int s=0,i;
	for(i=1;i<=r;i++)
		s+=c[i];
	return s;
 } 
void dfs(int k)
{
	int i,t;
	for(i=1;i<=n;i++)
	{
		if(b[i]==0&&c[k-1]<=a[i])
		{
			b[i]=1;
			c[k]=a[i];
			if(k==r)
			{
				t=lj();
				if(zs(t)==1)
					ans++;
			}
			else dfs(k+1);
			b[i]=0;
		}
	}
}
int main()
{
	int i;
	cin>>n>>r;
	for(i=1;i<=n;i++)
		cin>>a[i];
	dfs(1);
	cout<<ans; 
 } 
2020/8/11 21:29
加载中...