THU2015 fall 1-1 Team
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相关推荐
- 做一名优秀的软件开发qa_如何成为一名优秀的开发人员
做一名优秀的软件开发qa As a PHP developer, or any kind of developer as a matter of fact, you need to constantl ...
- 最伟大的PlayStation游戏机
Depending on what kind of games you enjoy, you're either nodding your head in excitement right now, ...
- 《Team Geek: A Software Developer's Guide to Working Well with Others》读书笔记(三)
Chapter 3 Every Boat Needs a Captain 每艘船都需要一个船长 没有船长的船只是一个漂浮的房子,随着海浪无目的地到处漂浮. A boat without a capta ...
- 【水一波题解】题解 of University of Central Florida 2020 (Fall) “Practice” Local Programming Contest
题解 of University of Central Florida 2020 (Fall) "Practice" Local Programming Contest [by_0 ...
- Visual Studio 2005 Team System下载地址
注册一个msn就可以去微软下载了,关于替换序列号变成正版的方法我没有试,team suite 我在用,但Team Foundation Server 我还没有安装好 Microsoft Visual ...
- 高级网络配置《 bond team桥接 》的建立
bond 资料详情 一.链路聚合:以太网链路聚合简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的.同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效 ...
- 安装Team Services Agent Win7
现状:项目现时使用的是Team Services,使用Team Services可以控制其中的一台Build Server,从Github提取代码,并在Build Server进入编译打包处理(son ...
- 微软MSIT部门招Sr SDE for FSS team
Job Description: Qualifications Do you want to design and build the services and solutions that are ...
- 报错解决: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 ...
最新文章
- 与交换机延迟相关的各种“秒”的单位
- from...import 和 import 的区别
- Linux 配置文件
- 08.suggester02term_suggester
- 关于ViewPager使用出现的图片覆盖错误问题
- 如果访问设备屏幕宽度小于1024,跳转到移动端
- HFSS19 官方中文教程系列 L04
- MCU最强科普总结(收藏版)
- bom成本分析模型_材料成本控制,从BOM表开始。
- 集成mybatis-generator-maven-plugin报错A required class was missing while ..org/mybatis/generator/api/dom
- matlab计算prc曲线auc面积,ROC曲线及其matlab实现ROC曲线的绘画
- 监督学习之分类学习:支持向量机
- Android相机开发: 触摸对焦,触摸测光,二指手势缩放
- 导航算法A*的简单实现
- 【渝粤教育】广东开放大学 古代汉语 形成性考核 (28)
- 推荐系统三十六式(刑无刀)学习笔记(四)
- macromedia dreamweaber 8 激活码
- [进程通信] 进程间通信 之 管道
- 列向量和行向量看待矩阵乘法
- 小程序笔记(四)发表评论或者普通发帖
热门文章
- java实现数据挖掘_数据挖掘Apriori算法的java实现
- 苏州IT/互联网交流群
- [BUUCTF]REVERSE解题记录 [MRCTF2020]Shit
- 笔试题目---描述在浏览器中敲入一个网址并按下回车后所发生的事情
- [真诚的思考](http://simplemind.info/blog/?p=423)
- 主流的Web服务器有哪些
- 张柠评新“三国”:“卧龙吊丧”看得人想吐(转载者痛处:历史什么时候成了中国人的信仰)...
- 发明专利申请的费用核流程
- decode_audio.c 解读/decode_video.c 解读
- 苹果wifi测试中文软件,苹果测试排除WiFi网络故障工具 WiFi Check 2.1.2 Mac OS X