P2550 [AHOI2001] 彩票摇奖
1.题目介绍
[AHOI2001] 彩票摇奖
题目描述
为了丰富人民群众的生活、支持某些社会公益事业,北塔市设置了一项彩票。该彩票的规则是:
- 每张彩票上印有 \(7\) 个各不相同的号码,且这些号码的取值范围为 \(1\sim33\)。
- 每次在兑奖前都会公布一个由七个各不相同的号码构成的中奖号码。
- 共设置 \(7\) 个奖项,特等奖和一等奖至六等奖。
兑奖规则如下:
- 特等奖:要求彩票上 \(7\) 个号码都出现在中奖号码中。
- 一等奖:要求彩票上有 \(6\) 个号码出现在中奖号码中。
- 二等奖:要求彩票上有 \(5\) 个号码出现在中奖号码中。
- 三等奖:要求彩票上有 \(4\) 个号码出现在中奖号码中。
- 四等奖:要求彩票上有 \(3\) 个号码出现在中奖号码中。
- 五等奖:要求彩票上有 \(2\) 个号码出现在中奖号码中。
- 六等奖:要求彩票上有 \(1\) 个号码出现在中奖号码中。
注:兑奖时并不考虑彩票上的号码和中奖号码中的各个号码出现的位置。例如,中奖号码为 \(23\ 31\ 1\ 14\ 19\ 17\ 18\),则彩票 \(12\ 8\ 9\ 23\ 1\ 16\ 7\) 由于其中有两个号码(\(23\) 和 \(1\))出现在中奖号码中,所以该彩票中了五等奖。
现已知中奖号码和小明买的若干张彩票的号码,请你写一个程序帮助小明判断他买的彩票的中奖情况。
输入格式
输入的第一行只有一个自然数 \(n\),表示小明买的彩票张数;
第二行存放了 \(7\) 个介于 \(1\) 和 \(33\) 之间的自然数,表示中奖号码;
在随后的 \(n\) 行中每行都有 \(7\) 个介于 \(1\) 和 \(33\) 之间的自然数,分别表示小明所买的 \(n\) 张彩票。
输出格式
依次输出小明所买的彩票的中奖情况(中奖的张数),首先输出特等奖的中奖张数,然后依次输出一等奖至六等奖的中奖张数。
样例 #1
样例输入 #1
2
23 31 1 14 19 17 18
12 8 9 23 1 16 7
11 7 10 21 2 9 31
样例输出 #1
0 0 0 0 0 1 1
提示
数据规模与约定
对于 \(100\%\) 的数据,保证 \(1 \leq n\lt1000\)。
2.题解
2.1 模拟
思路
这里其实没必要用哈希表的,但是如果这里的位数不是7,而是n的时候,哈希表便能将时间复杂度从O(N^2)降为O(N)
题解
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
unordered_set<int> uset(7);
for(int i = 0; i < 7; i++){
int temp;
cin >> temp;
uset.emplace(temp);
}
vector<int> ans(7);
for(int i = 0; i < n; i++){
int count = 0;
for(int j = 0; j < 7; j++){
int temp;
cin >> temp;
if(uset.count(temp)) count++;
}
if (count > 0) ans[count-1]++;
}
for(auto it = ans.rbegin(); it != ans.rend(); it++){
cout << *it << ' ';
}
}
P2550 [AHOI2001] 彩票摇奖的更多相关文章
- [AHOI2001]彩票摇奖
[AHOI2001]彩票摇奖 题目描述 为了丰富人民群众的生活.支持某些社会公益事业,北塔市设置了一 项彩票.该彩票的规则是: (1) 每张彩票上印有 7 个各不相同的号码,且这些号码的取指范围为 1 ...
- 题解 P2550 【[AHOI2001]彩票摇奖】
题目链接 大家有没有发现数据范围好小呀 我们只需要开7~8的数组就好!! 中间比较的时候懒得用for循环比较了.直接爆搜. 废话不多说,直接上代码. #include<bits/stdc++.h ...
- C语言,一个彩票摇奖程序摇出22选5的中奖号码
摇奖机摇奖,无非就是利用它的随机性,让球从摇奖机中随机地掉出,就成了中奖号码.而C语言中也同样有个rand()函数可以产生随机数,利用这个rand()函数产生的随机数,同样可以代替从摇奖机中随机摇出的 ...
- P1074 彩票摇奖
题目描述 为了丰富人民群众的生活.支持某些社会公益事业,北塔市设置了一项彩票.该彩票的规则是: (1) 每张彩票上印有 7 个各不相同的号码,且这些号码的取指范围为 1~33. (2) 每次在兑奖前都 ...
- php摇杆Tiger摇奖
先说下整体思路,代码已附下方. 1.递归产生一个非中奖数(即非连续数字:'111','222','333','444','555','666','777','888') 2.点击摇奖,把奖项通过设置的 ...
- P235 实战练习(集合类2)、摇奖程序和验证码(修改版)
1.分别向Set集合以及List集合中添加“A”.“a”.“c”.“C”.“a”5个元素,观察重复值“a”能否在List集合以及Set集合中成功添加. package org.hanqi.practi ...
- 异步委托 多线程实现摇奖器 winform版
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- JAVA小项目之摇奖机
功能: 点击”摇杆“开始: 两种结束滚动方式,A:点击”摇杆“ B:分别点击 对应结果框的按钮: 实现最后减速停下来效果,模拟真实摇奖机. 知识点:A.线程的控制,B.图片轮播原理 效果图: 窗口 ...
- jQuery刮彩票兑奖效果
效果体验:http://keleyi.com/a/bjad/uaq24pxt.htm 其中拖拽刮涂层效果使用jquery UI的draggable方法,请参考:http://keleyi.com/a/ ...
- Python实现双色球和大乐透摇奖
实现代码: # code by kadycui # 模块引用 import random def select(): print('\n') print('请选择彩票种类') print('双色球输入 ...
随机推荐
- 文心一言 VS 讯飞星火 VS chatgpt (161)-- 算法导论13.1 1题
一.用go语言,按照图 13-1(a)的方式,画出在关键字集合(1,2,-,15)上高度为 3 的完全二叉搜索树.以三种不同方式向图中加入 NIL 叶结点并对各结点着色,使所得的红黑树的黑高分别为2. ...
- Nginx服务器常用参数设置
Nginx作为一个高性能的Web服务器和反向代理,它的性能可以通过调整底层操作系统的参数来进一步优化.以下是一些常见的操作系统级别的调整,通常针对Linux系统: File Descriptors L ...
- adb shell getprop 获取系统属性
adb shell getprop 以华为p30为例: [gsm.default.apn]: [gsm.defaultpdpcontext.active]: true [gsm.dualcards.s ...
- 关于 K8s 的一些基础概念整理
〇.前言 Kubernetes,将中间八个字母用数字 8 替换掉简称 k8s,是一个开源的容器集群管理系统,由谷歌开发并维护.它为跨主机的容器化应用提供资源调度.服务发现.高可用管理和弹性伸缩等功能. ...
- 免费背景音人声分离解决方案MVSEP-MDX23,足以和Spleeter分庭抗礼
在音视频领域,把已经发布的混音歌曲或者音频文件逆向分离一直是世界性的课题.音波混合的物理特性导致在没有原始工程文件的情况下,将其还原和分离是一件很有难度的事情. 言及背景音人声分离技术,就不能不提Sp ...
- 反转数组、打印数组元素、加强(增强)for循环
package com.guoba.array; public class Demo04 { public static void main(String[] args) { int[] arr = ...
- python3发送Gratuitous ARP更新vip绑定关系
操作系统 :CentOS 7.6_x64 Python版本:3.9.12 FreeSWITCH版本 :1.10.9 高可用场景下,vip切换完成后需要发送arp广播更新ip和mac地址的绑定关系,如果 ...
- UnionFind 并查集
简介 UnionFind 主要用于解决图论中的动态联通性的问题(对于输入的一系列元素集合,判断其中的元素是否是相连通的). 以下图为例: 集合[1, 2, 3, 4] 和 [5, 6]中的每个元素之间 ...
- 【K8S系列】快速初始化⼀个最⼩集群
序言 走得最慢的人,只要不丧失目标,也比漫无目的地徘徊的人走得快. 文章标记颜色说明: 黄色:重要标题 红色:用来标记结论 绿色:用来标记一级重要 蓝色:用来标记二级重要 希望这篇文章能让你不仅有一定 ...
- 完美解决Python词云库wordcloud不显示中文问题
你的Python词云库wordcloud显示的都是方框吗?别担心,我有一个妙招让你的中文词云变得美观又清晰! 背景: wordcloud是一个基于python的词云生成库,它可以让你用简单的代码创建出 ...