THU2015 fall 1-1 Team


描述

  教练员A、B和C将要从编号为1到n的队员中挑选自己的队员。为公平起见,每个教练都根据自己的喜好程度将队员排序;你负责根据以下规则为他们分配队员。

  你拿到的数据是a、b、c三个数组,表示三个教练对队员的喜好程度排序,每个数组都是数字1到n的一个排列,下标越小表示教练越喜欢该队员。你的分组规则是,从还未被分配的队员中找一个教练A最喜欢的队员分到A组;然后,在未分配的队员中分配教练B最喜欢的队员到B组;然后是教练C;再是教练A、B......依次类推直到所有队员分配完毕。

  现在队员k希望知道自己被分配给哪位教练,请你来告诉他。

输入

  共5行。

  第1行包含一个整数n。

  第2至4行依次是数组a、b和c,每行都是整数[1, n]的一个排列。

  第5行包含一个整数k。

输出

  仅一个字符,A、B或C,表示队员k被分配给哪位教练。

输入样例1

3
1   2   3
1   2   3
1   2   3
3

输出样例1

C

输入样例2

5
1   2   3   4   5
1   3   5   4   2
5   4   3   2   1
4

输出样例2

B

限制

1 <= n <= 500,000

1 <= k <= n

时间:1 sec

空间:256 MB

提示

一级提示

  大体上,1 sec内,O(n)的算法可以通过n = 10,000,000规模的数据,O(nlogn)通过500,000规模,O(n^2)通过5,000规模。

  本题等一些复杂度是O(n)的题目受限于scanf(“%d”, ...)的读入速度,但又不希望通过读取二进制文件等不直观的方式增加同学们的负担。

代码如下:

#include <stdio.h>
#include <string.h>const int SZ = 1 << 20;  //提升IO buff
struct fastio{char inbuf[SZ];char outbuf[SZ];fastio(){setvbuf(stdin, inbuf, _IOFBF, SZ);setvbuf(stdout, outbuf, _IOFBF, SZ);}
}io;#define N 500001
int dp[4][N];
int mark[N]; // 0:未选  1:已选
char ret[N];void team(int n, int *mark)
{int a = 1, b = 1, c = 1;int t;for (int i = 0; i < n; i++){t = i % 3;switch (t){case 0:while (mark[dp[t][a]] == 1) a++;mark[dp[t][a]] = 1;ret[dp[t][a]] = 'A';break;case 1:while (mark[dp[t][b]] == 1) b++;mark[dp[t][b]] = 1;ret[dp[t][b]] = 'B';break;case 2:while (mark[dp[t][c]] == 1) c++;mark[dp[t][c]] = 1;ret[dp[t][c]] = 'C';break;}}
}int main()
{int n;int k;scanf("%d", &n);for (int i = 0; i < 3; i++){for (int j = 1; j <= n; j++)scanf("%d", &dp[i][j]);}memset(mark, 0, n);team(n, mark);scanf("%d", &k);printf("%c\n", ret[k]);return 0;
}

THU2015 fall 1-1 Team相关推荐

  1. 做一名优秀的软件开发qa_如何成为一名优秀的开发人员

    做一名优秀的软件开发qa As a PHP developer, or any kind of developer as a matter of fact, you need to constantl ...

  2. 最伟大的PlayStation游戏机

    Depending on what kind of games you enjoy, you're either nodding your head in excitement right now, ...

  3. 《Team Geek: A Software Developer's Guide to Working Well with Others》读书笔记(三)

    Chapter 3 Every Boat Needs a Captain 每艘船都需要一个船长 没有船长的船只是一个漂浮的房子,随着海浪无目的地到处漂浮. A boat without a capta ...

  4. 【水一波题解】题解 of University of Central Florida 2020 (Fall) “Practice” Local Programming Contest

    题解 of University of Central Florida 2020 (Fall) "Practice" Local Programming Contest [by_0 ...

  5. Visual Studio 2005 Team System下载地址

    注册一个msn就可以去微软下载了,关于替换序列号变成正版的方法我没有试,team suite 我在用,但Team Foundation Server 我还没有安装好 Microsoft Visual ...

  6. 高级网络配置《 bond team桥接 》的建立

    bond 资料详情 一.链路聚合:以太网链路聚合简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的.同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效 ...

  7. 安装Team Services Agent Win7

    现状:项目现时使用的是Team Services,使用Team Services可以控制其中的一台Build Server,从Github提取代码,并在Build Server进入编译打包处理(son ...

  8. 微软MSIT部门招Sr SDE for FSS team

    Job Description: Qualifications Do you want to design and build the services and solutions that are ...

  9. 报错解决:error: this statement may fall through [-Werror=implicit-fallthrough=]

    下午在编译 grpc时报错如下: utilities/blob_db/blob_log_reader.cc:74:18: error: this statement may fall through ...

最新文章

  1. 与交换机延迟相关的各种“秒”的单位
  2. from...import 和 import 的区别
  3. Linux 配置文件
  4. 08.suggester02term_suggester
  5. 关于ViewPager使用出现的图片覆盖错误问题
  6. 如果访问设备屏幕宽度小于1024,跳转到移动端
  7. HFSS19 官方中文教程系列 L04
  8. MCU最强科普总结(收藏版)
  9. bom成本分析模型_材料成本控制,从BOM表开始。
  10. 集成mybatis-generator-maven-plugin报错A required class was missing while ..org/mybatis/generator/api/dom
  11. matlab计算prc曲线auc面积,ROC曲线及其matlab实现ROC曲线的绘画
  12. 监督学习之分类学习:支持向量机
  13. Android相机开发: 触摸对焦,触摸测光,二指手势缩放
  14. 导航算法A*的简单实现
  15. 【渝粤教育】广东开放大学 古代汉语 形成性考核 (28)
  16. 推荐系统三十六式(刑无刀)学习笔记(四)
  17. macromedia dreamweaber 8 激活码
  18. [进程通信] 进程间通信 之 管道
  19. 列向量和行向量看待矩阵乘法
  20. 小程序笔记(四)发表评论或者普通发帖

热门文章

  1. java实现数据挖掘_数据挖掘Apriori算法的java实现
  2. 苏州IT/互联网交流群
  3. [BUUCTF]REVERSE解题记录 [MRCTF2020]Shit
  4. 笔试题目---描述在浏览器中敲入一个网址并按下回车后所发生的事情
  5. [真诚的思考](http://simplemind.info/blog/?p=423)
  6. 主流的Web服务器有哪些
  7. 张柠评新“三国”:“卧龙吊丧”看得人想吐(转载者痛处:历史什么时候成了中国人的信仰)...
  8. 发明专利申请的费用核流程
  9. decode_audio.c 解读/decode_video.c 解读
  10. 苹果wifi测试中文软件,苹果测试排除WiFi网络故障工具 WiFi Check 2.1.2 Mac OS X