zoukankan      html  css  js  c++  java
  • ZOJ4090 Thanks To Simple(思维)

    题意:

    给出男生的人数,女生的人数,和每个人的身高和喜好。

    有些男生喜欢高的女生,有些男生喜欢矮的女生,女生也一样。

    只能在异性之间进行配对,询问最多能配对几对。

    题解:

    开四个数组分别存储四种人,只能喜好不同的异性才能配对,用双下标法配对两次即可。

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1e6+15;
    int a[maxn];
    int b[maxn];
    vector<int> v1;//喜欢比自己矮的女生 
    vector<int> v2;//喜欢比自己高的女生 
    vector<int> v3;//喜欢比自己矮的男生 
    vector<int> v4;//喜欢比自己高的男生 
    int T;
    int N,M;
    int p[maxn];
    int main () {
        scanf("%d",&T);
        while (T--) {
            scanf("%d%d",&N,&M);
            for (int i=1;i<=N;i++) 
                scanf("%d",&a[i]);
            for (int i=1;i<=M;i++)
                scanf("%d",&b[i]);
            v1.clear();
            v2.clear();
            v3.clear();
            v4.clear();
            for (int i=1;i<=N;i++) {
                scanf("%d",&p[i]);
                if (p[i]==0) 
                    v1.push_back(a[i]);
                else 
                    v2.push_back(a[i]); 
            }
            for (int i=1;i<=M;i++) {
                scanf("%d",&p[i]);
                if (p[i]==0)
                    v3.push_back(b[i]);
                else 
                    v4.push_back(b[i]);
            }
            int ans=0;
            sort(v1.begin(),v1.end());
            sort(v4.begin(),v4.end());
            for (int i=0,j=0;i<v1.size()&&j<v4.size();) {
                if (v1[i]>v4[j]) {
                    ans++;
                    i++,j++;
                }
                else i++;
            }
            sort(v2.begin(),v2.end());
            sort(v3.begin(),v3.end());
            for (int i=0,j=0;i<v2.size()&&j<v3.size();) {
                if (v3[j]>v2[i]) {
                    ans++;
                    i++,j++;
                }
                else j++;
            }
            printf ("%d
    ",ans);
        }
        return 0;
    } 
  • 相关阅读:
    生成一个签章(用java.awt画一个签章) 并添加到pdf 公章处
    数字转字符串的处理
    Mybatis .xml编译常识
    聚合查询|F查询Q查询
    表查询
    FBV与CBV
    伪静态|虚拟环境|form表单
    数据增删改查|路由层
    django基础 链接数据库|静态文件配置
    WEB框架初学
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/12506120.html
Copyright © 2011-2022 走看看