湖南大学 实验八 看电影

本文涉及的产品
简介: 湖南大学 实验八 看电影

【问题描述】


      湖南大学正在举办一场重要的国际学术会议,出席会议的 n 位科学家来自不同的国家,每位科学家都只熟悉一种语言,为方便起见,世界上所有的语言用1~1000的数字编号来列出。


      晚上,主办方安排所有科学家去看电影,电影院里有 m 部电影,每部电影可以用两个不同的整数来描述,即音频语言和字幕语言的编号。看电影的科学家,如果他熟悉电影的音频语言,他会非常高兴,如果他熟悉字幕的语言,他基本上满意,如果他两种都不熟悉,他会感到不满意(请注意,每部电影的音频语言和字幕语言总是不同的)。


      科学家们决定一起去看同一部电影。你必须帮助他们选择电影,使得非常高兴的科学家的数量是最大的,如果有多部这样的电影,在其中选择能使基本满意的科学家的数量最大,如果还有多部,则全部输出。如果没有这样的电影,则输出"unsatisfied"。


【输入形式】


      输入的第一行为一个正整数 n (1 ≤ n ≤ 200000)  ,表示科学家的数量。


      第二行为 n 个正整数a1、a2、...、an (1 ≤ ai ≤ 1000),其中ai 表示第 i 位科学家熟悉的语言编号。


      第三行包含一个正整数m(1 ≤ m ≤ 200000),表示电影院里的电影数量,编号从1~m。


      第四行包含 m 个正整数 b1, b2, ..., bm (1 ≤ bj ≤ 1000),其中 bj 表示第  j 部电影的音频语言。


       第五行包含 m 个正整数 c1, c2, ..., cm (1 ≤ cj ≤ 1000),其中 cj 表示第  j 部电影的字幕语言。


        输入保证 bj ≠ cj  。


【输出形式】


      输出为若干整数,从小到大,表示科学家们可以去选择去看的电影的编号。如果没有这样的电影,则输出"unsatisfied"。


【样例输入】

#include <iostream>
using namespace std;
class sci {
public:
  int lan;
};
class moive {
public:
  int hao;
  int fc = 0;
  int bj = 0;
  int sound=0;
  int eye=0;
  int  b(int kxj) {
    {
      if (sound == kxj) {
        return 2;
      }if (eye == kxj)
        return 1;
      else
        return 0;
    }
  }
};
int main() {
  int n;
  cin >> n;
  sci* a = new sci[n];
  for (int i = 0; i < n; i++) {
    cin >> a[i].lan;
  }
  int m;
  cin >> m;
  moive* b = new moive[m];
  for (int i = 0; i < m; i++) {
    cin >> b[i].sound;
    b[i].hao = i + 1;
  }
  for (int i = 0; i < m; i++) {
    cin >> b[i].eye;
  }
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      if (b[i].b(a[j].lan) == 2)
        b[i].fc++;
      if (b[i].b(a[j].lan) == 1)
        b[i].bj++;
    }
  }
  int zuida = 1;
  for (int i = 1; i < m; i++) {
    if (b[i].fc > b[zuida - 1].fc)
      zuida = b[i].hao;
    if (b[i].fc == b[zuida-1].fc) {
      if (b[i].bj >= b[zuida-1].bj && b[i].bj!=0)
        zuida = b[i].hao;
      if (b[i].bj < b[zuida-1].bj)
        zuida = b[zuida-1].hao;
    }
  }
  if (zuida == 0||(b[zuida-1].fc==0&&b[zuida-1].bj==0)) {
    cout << "unsatisfied" << endl;
    return 0;
  }
  int* c = new int[m];
  c[0] = zuida;
  int u = 0;
  int uuu=0;
  for (int i = 0; i < m; i++) {
    if (i != zuida - 1)
    {
      if (b[zuida - 1].fc==b[i].fc && b[zuida - 1].bj == b[i].bj) {
        u++;
        c[u] = i + 1;
      }
    }
  }
  for (int i = 0; i <= u; i++) {
    cout << c[i] << " ";
  }
  delete[]b;
  delete[]a;
  delete[]c;
  return 0;
}
相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
机器学习/深度学习 算法 数据挖掘
阿里音乐流行趋势预测—冠军答辩(一)|学习笔记
快速学习阿里音乐流行趋势预测—冠军答辩(一)
635 0
|
数据采集 机器学习/深度学习 算法
阿里音乐流行趋势预测—冠军答辩(二)|学习笔记
快速学习阿里音乐流行趋势预测—冠军答辩(二)
382 0
湖南大学 实验八 招聘
湖南大学 实验八 招聘
|
8月前
|
Web App开发 自然语言处理 JavaScript
一键创建和部署高分电影推荐语音技能
本场景使用天猫精灵技能应用平台提供的技能模板,在2-5分钟内,创建一个好玩的高分电影推荐技能,使用模板后无须代码开发,系统自动配置意图、实体等,新手0基础也可体验创建技能的乐趣。
58 0
|
数据采集 SQL 算法
阿里音乐流行趋势预测—亚军答辩(一)|学习笔记
快速学习阿里音乐流行趋势预测—亚军答辩(一)
346 0
|
12月前
|
人工智能 搜索推荐 iOS开发
ChatGPT还在2G冲浪?新模型「youChat」:我已能够解说2022世界杯(2)
ChatGPT还在2G冲浪?新模型「youChat」:我已能够解说2022世界杯
ChatGPT还在2G冲浪?新模型「youChat」:我已能够解说2022世界杯(2)
|
12月前
|
人工智能 搜索推荐 区块链
ChatGPT还在2G冲浪?新模型「youChat」:我已能够解说2022世界杯(1)
ChatGPT还在2G冲浪?新模型「youChat」:我已能够解说2022世界杯
|
12月前
|
机器学习/深度学习 Shell 图形学
3张图片生成一个手办3D模型!南加州大学华人博士提出新模型NeROIC,更真实!
3张图片生成一个手办3D模型!南加州大学华人博士提出新模型NeROIC,更真实!
154 0
|
机器学习/深度学习 前端开发 数据挖掘
西瓜书南瓜书都是好书【绪论】【模型评估与选择】读书笔记
西瓜书南瓜书都是好书【绪论】【模型评估与选择】读书笔记
69 0
西瓜书南瓜书都是好书【绪论】【模型评估与选择】读书笔记
|
算法 大数据 开发者
阿里音乐流行趋势预测—亚军答辩(二)|学习笔记
快速学习阿里音乐流行趋势预测—亚军答辩(二)
207 0