ShineEternal的小书屋

ShineEternal的小书屋

https://blog.csdn.net/kkkksc03

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

posted on 2019-10-21 18:07:06 | under 题解 |

$my blog$

solution:

其实就是一道模拟,关键就是刚开始窝一看到输入就有些不理解,于是就想复杂了,但是仔细想想看看排行榜发现还是很简单的。

也正是如此,我给大家提供一下每一个subtask的得分写法。

当然,其实 $subtask2,3$ 是可以合并一下的(显然是因为代码一样)

code:

#include<cstdio>
using namespace std;
int a[1005][1005];
int mp[1005][1005],mp1[1005];
int ans[1005];
int main()
{
    int n,m,k;
    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]);
            mp1[a[i][j]]=1;
            if(mp[a[i][j]][j]==0)
            {
                ans[a[i][j]]++;
                mp[a[i][j]][j]=1;
            }
        }
    }
    if(n==1&&m==1&&k==1)//13pts
    {
        printf("1\n");
        return 0;
    }
    if(n==1)//24pts
    {
        for(int j=1;j<=k;j++)
        {
            if(mp1[j]==1)
            {
                printf("1 ");
            }
            else
            {
                printf("0 ");
            }
        }
        return 0;
    }
    if(m==1)//24pts
    {
        for(int j=1;j<=k;j++)
        {
            if(mp1[j]==1)
            {
                printf("1 ");
            }
            else
            {
                printf("0 ");
            }
        }
        return 0;
    }
    for(int i=1;i<=k;i++)//39pts
    {
        printf("%d ",ans[i]);
    }
    return 0;
}