TB椰程 TypeBuddy 打字搭子

彩票摇奖

洛谷·深入浅出 · 代码 · cpp · 难度 4/5 · 共 794 字

统计各奖项中奖张数(特等奖到六等奖)

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1400
// 题意:给定 7 个中奖号码与 n 张彩票,统计各奖项中奖张数(特等~六等,按与中奖号重合个数 7..1)。
// 思路:对每张彩票统计与中奖号重合个数,重合 k 个对应第 (7-k) 个奖级计数;末尾按序空格输出 7 个计数。
// 复杂度:O(n)。
// 易错点:特等奖=7 个全中对应第 0 位;输出为同一行空格隔开,而非每行一个。
#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    int win[7];
    for(int i = 0; i < 7; i++) cin >> win[i];
    int cnt[7] = {0};
    for(int t = 0; t < n; t++){
        int ticket[7];
        for(int i = 0; i < 7; i++) cin >> ticket[i];
        int match = 0;
        for(int i = 0; i < 7; i++)
            for(int j = 0; j < 7; j++)
                if(ticket[i] == win[j]) match++;
        if(match >= 1) cnt[7 - match]++;
    }
    for(int i = 0; i < 7; i++){
        if(i) cout << ' ';
        cout << cnt[i];
    }
    cout << endl;
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK