You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
#include<iostream>
|
|
|
|
|
#include<cstring>
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
bool isprime(int n) {
|
|
|
|
|
if (n<=1)
|
|
|
|
|
return false;
|
|
|
|
|
for (int i=2; i*i<=n; i++)
|
|
|
|
|
if (n%i==0)
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
int a[22];
|
|
|
|
|
int b[22];
|
|
|
|
|
int p[22];
|
|
|
|
|
bool vis[22];
|
|
|
|
|
int n,k,sum,ans;
|
|
|
|
|
|
|
|
|
|
void dfs(int index) {
|
|
|
|
|
if (index==k+1) {
|
|
|
|
|
if (isprime(sum))
|
|
|
|
|
ans++;//<2F><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
for (int i=1; i<=index-1; i++)
|
|
|
|
|
cout<<p[i]<<" ";
|
|
|
|
|
cout<<endl;
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (int i=1; i<=n; i++) {
|
|
|
|
|
if (vis[i]==false && i>p[index-1]) { //<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>㵼<EFBFBD>´𰸴<C2B4><F0B0B8B4><EFBFBD>
|
|
|
|
|
p[index] = i;
|
|
|
|
|
vis[i] = true;
|
|
|
|
|
sum+=a[i];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵط<C4B5><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
dfs(index+1);
|
|
|
|
|
vis[i] = false;
|
|
|
|
|
sum-=a[i];//<2F>мӾ<D0BC><D3BE>м<EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
memset(b,0,sizeof(b));
|
|
|
|
|
memset(vis,0,sizeof(vis));
|
|
|
|
|
cin>>n>>k;
|
|
|
|
|
for (int i=1; i<=n; i++)
|
|
|
|
|
cin>>a[i],p[i]=i;//һ<><D2BB>ʼҪ<CABC>ӵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ſ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>봫ͳ<EBB4AB><CDB3>dfsȫ<73><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>仯
|
|
|
|
|
|
|
|
|
|
ans=0;
|
|
|
|
|
|
|
|
|
|
dfs(1);
|
|
|
|
|
cout<<ans<<endl;
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|