【模拟】天梯赛 - 帅到没朋友 (20分)

题目

帅 到 没 朋 友

题目链接

帅到没朋友

题解

模拟类型题目,按题意进行判断操作,其中c++容器能够很好进行数据处理和判断。
map、list、vector、set都可以,以下代码使用的是map

题目要求(即为得分点

  • 例:在告诉你朋友圈的人的时候,每个人的朋友圈中00000朋友只能出现一次,第二次出现的时候不作数
  • 当你用数字存储数据的时候要记得输出的时候的输出格式,id是五位数的,所以要用
printf("%05d", x);
  • 当题目中的k为1的时候,这时候这个人的朋友圈只有一个人是自恋狂,因为他不满足题目中的k,但是也要用一个cin,将这个多余输入处理了
变量名解释
bool v[N];用于判断某个数字是否是输出过
map<int, int> wechat;用于判断朋友圈有几个人,每有一个人就+1
bool vis[N];用于判断当前人的朋友圈一个朋友只出现一次
bool hprint用于判断帅到没朋友的人是否已经出现了
fprint用于处理输出格式,确保行末没有多余空格

代码

const int N = 2e6 + 50;
bool v[N]; 
map<int, int> wechat;
bool vis[N];
int main(){
	memset(v, false, sizeof v);
	int n; cin >> n;
	rep(i, 1, n) {
		int x; cin >> x;
		if (x == 1) {int t; cin >> t; continue; }
		memset(vis, false, sizeof vis);
		rep(j, 1, x) {
			int t; cin >> t;
			if (!vis[t]) wechat[t]++, vis[t] = true;
		}
	}
	bool hprint = true;
	bool fprint = true;
	int m; cin >> m;
	while(m--){
		int inp; cin >> inp;
		if (wechat[inp] < 1){
			hprint = false;
			if (v[inp]) continue;
			else v[inp] = true;
			if (fprint) { printf("%05d", inp); fprint = false;}
			else printf(" %05d", inp);
		}
	}
	if (hprint) printf("No one is handsome");
	puts("");
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值