80pts求助!!!
查看原帖
80pts求助!!!
1354765
smzxyyc楼主2025/8/29 11:36
#include<bits/stdc++.h>
using namespace std;
int n;
int p[15]={2,3,5,7,11,13,17,19,23,29},mark[1030],cnt,ans;
int f[15]={1,2,4,8,16,32,64,128,256,512,1024};
int main(){
    mark[0]=1;
    cin>>n;
	for(int i=1;i<=n;i++){
        int x;
        cin>>x;
		for(int j=0;j<10;j++){
            while(x%p[j]==0){
                x/=p[j];
                cnt^=f[j];
            }
        }
		ans+=mark[cnt];
		mark[cnt]++;
	}
    cout<<ans;
    return 0;
}
2025/8/29 11:36
加载中...