题解:P14574 批话哥

· · 题解

题意较为简单,不多赘述。注意到数据范围较小,因此可以直接开二维数组记录每人每题得分,并按题意更新分数。最终输出时对每个人每道题得分求和并输出即可其实就是按题意模拟

代码如下:

#include<bits/stdc++.h>
#define int long long

using namespace std;
const int N=1e3+10;
int n,m,k,l,r;
int x,y,v;
int ans[N][N];

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin>>n>>m>>k>>l>>r;
    while(k--)
    {
        cin>>x>>y>>v;
        if(v<=l)ans[x][y]=100;
        else if(v>=r)ans[x][y]=0;
        else ans[x][y]=v;
    }
    for(int i=1;i<=n;i++)
    {
        int res=0;
        for(int j=1;j<=m;j++)
        res+=ans[i][j];
        cout<<res<<' ';
    }
    return 0;
}