AquaRio 的博客

AquaRio 的博客

题解 P5594 【【XR-4】模拟赛】

posted on 2019-10-20 22:45:08 | under 题解 |

题目传送门:[XR-4] 模拟赛

Description

$n$ 个人要打 $m$ 场模拟赛,每个人列出自己第 $i$ 按照顺序打模拟赛,求每天要举行多少模拟赛。

Solution

这题比较简单,是签到题。

根据题意,我们读入后竖着扫,扫 $m$ 遍,每一列出现的数字就会对对应的天数有一次贡献,并且在每一列最多只有一次贡献。

Code

/*
    Name: [XR-4] 模拟赛 
    Author: Lovely_XianShen
    Date: 20/10/19 19:18
*/

#include<bits/stdc++.h>
using namespace std;

int n,m,k;

int ans[1005];
int a[1005][1005];
bool used[1005];

int main(){
    scanf("%d%d%d",&n,&m,&k);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            scanf("%d",&a[i][j]);
    for(int i=1;i<=m;i++){
        memset(used,0,sizeof used);
        for(int j=1;j<=n;j++){
            if(!used[a[j][i]]){
                used[a[j][i]]=1;
                ans[a[j][i]]++;
            }
        }
    }
    for(int i=1;i<=k;i++)
        cout<<ans[i]<<" ";
    return 0; 
}