求助!!!(如果有帮助,给关)
  • 板块题目总版
  • 楼主zhuoheng
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/25 20:47
  • 上次更新2023/11/3 07:39:38
查看原帖
求助!!!(如果有帮助,给关)
1023698
zhuoheng楼主2023/7/25 20:47

P1036

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std; 
int a[100],n,total,m,z[100]; 
bool s[5000000];
int p(int n){
	if(n==2)return 1;
	if(n<2||n%2==0)return 0;
	for(int i=3;i<=n/i;i+=2)
		if(n%i==0)
			return 0;
	return 1;
}
void dfs(int step){
	if(step==m+1){
		int x=0;
		for(int i=1;i<=m;i++)x+=a[i];
			total+=p(x);
	}
	else
		for(int i=1;i<=n;i++)
			if(s[z[i]]==0&&(z[i]>=a[step-1]||step==1)){
				a[step]=z[i];
				s[z[i]]=1;
				dfs(step+1);
				s[z[i]]=0;
			}
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)cin>>z[i];
	sort(z+1,z+n+1);
	dfs(1);
	printf("%d",total);
	return 0;
}

各位大佬,求调!!!

2023/7/25 20:47
加载中...