当前位置: 首页 > article >正文

pta 乐子人游戏

题解:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int N=2010,M=2000000;
int etop=0;
vector<int> match(N,0);
struct EDGE{
    int u,v;
    EDGE* next;
}edge[M];
struct NODE{
    EDGE* fir;
}node[N];
void add_edge(int a,int b){
    edge[etop]={a,b,node[a].fir};
    node[a].fir=&edge[etop];
    etop++;
}
bool find(int x,vector<bool>& vis){
    EDGE* e=node[x].fir;
    while(e!=nullptr){
        int j=(e->v);
        if(!vis[j]){
            vis[j]=true;
            if(!match[j]||find(match[j],vis)){
                match[j]=x;
                return true;
            }
        }
        e=e->next;
    }
    return false;
}
int main(){
    vector<int> prim;
    vector<int> prime(N,0);
    vector<int> notp(N,0);
    notp[1]=1;
    int n,maxi=-1,score1=0,score2=0;
    cin>>n;
    vector<int> a(n,0),b(n,0),c;
    for(int i=0;i!=n;++i){
        cin>>a[i];
        maxi=max(a[i],maxi);
    }
    for(int i=0;i!=n;++i){
        cin>>b[i];
        maxi=max(b[i],maxi);
    }
    for(int i=1;i<=2*maxi;++i){
        if(!notp[i]){
            prime[i]=1;
            prim.push_back(i);
        }
        for(int q=0;q!=prim.size();++q){
            if(prim[q]*i>2*maxi) break;
            notp[prim[q]*i]=1;
            if(i%prim[q]==0) break;
        }
    }
    for(int i=0;i!=n;++i){
        for(int j=0;j!=n;++j){
            if(prime[a[i]+b[j]]) add_edge(i+1,j+1);
        }
    }
    int ans=0;
    for(int i=1;i<=n;++i){
        vector<bool> vis(N,false);
        if(find(i,vis)) ans++;
    }
    cout<<ans<<endl;
    return 0;
}

原文地址:https://blog.csdn.net/2401_83605866/article/details/146424146
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/599104.html

相关文章:

  • 意法半导体 (ST) 推出的短距离无线 MCU STM32WBA6----可用于连接工业设备的
  • 练习用Jupyter使用selenium【疑问未解决版】
  • 机器臂运动控制算法工程师面试
  • matrix-breakout-2-morpheus靶机攻略
  • 使用Python将视频转化为gif
  • AI 如何重塑数据湖的未来
  • android 接入google 登录
  • 事务的四大特性(ACID)详解
  • 同旺科技USB to SPI 适配器 ---- 多适配器、多从机混合调试
  • AI安全 | 利用链式思维推理劫持 LRM
  • Vue3中SuspensedefineAsyncComponent异步组件的应用场景。
  • 深度学习优化技术教程
  • CSRF SSRF RCE
  • 卷积神经网络 - 参数学习
  • 服务器中防火墙的重要性
  • 【QA】Qt中直接渲染和离屏渲染有什么区别
  • 爬虫入门re+bs4
  • 构建高效的LinkedIn图像爬取工具
  • 《Operating System Concepts》阅读笔记:p460-p4470
  • stc8g1k08a+cd4017红绿灯