欢迎光临散文网 会员登陆 & 注册

关于我在洛谷上出题自己差点不会写这件事...

2022-08-11 19:42 作者:章浩然222  | 我要投稿

自己出的题目,大佬勿喷:

U236471 小Z不高兴

https://www.luogu.com.cn/problem/U236471

题目背景

来自小Z(和在坐的各位)の无奈...

题目描述

小Z有着n天的魔鬼训练,期间小Z的妈妈不停的让小Z补课,小Z补课超过3小时,他的不高兴值就会增加超过3小时的部分。但小Z每天会有c个小时的编程课时间,如果小Z的编程课时间小于4小时且大与0小时,则当天小Z不管如何都不会不开兴(unhappy==0),如果超过了4小时(不包括4小时),小Z的妈妈每隔一小时就会来催小Z去写作业,小Z就会不耐烦,超过的部分就会加入他的不高兴值里(unhappy+=c-4)。

此时,小Z找到了你,希望你可以帮他发消息去提醒她(小Z不敢),顺便告诉她当天的不高兴值。因为你是小Z的好朋友,所以,你想n天之后再来统计一下是否要提醒(见输出格式)和当天的不高兴值。

输入格式

输入共n+1行,先输入n,为魔鬼训练的天数。

再输入小Z补课的时间和上编程课的时间,分别以空格隔开。

输出格式

输出共n+1行,先输出要提醒的次数。

后n行分别为是否需要提醒小Z的妈妈(是为1,不是为0)和当天的不高兴值,分别以空格隔开。

输入输出样例

输入 #1

2

2 0

5 1

输出 #1

0

0 0

0 0

输入 #2

3

2 5

4 5

5 3

输出 #2

2

1 1

1 2

0 0

说明/提示

n>0&&n<=100;

c>=0&&c<=20;

b>=0&&b<=20;

说一句,这题的难度无疑是在输出共n+1行,先输出要提醒的次数。

所以,这题这题只能另开数组进行判断:


#include<iostream>

#include<cstdio>

#include<bits/stdc++.h>

using namespace std;

long long n,h[101],a[101],ans,b[101],j[101],i;

int main(){

     cin>>n;

     for(i=1;i<=n;i++){

         cin>>a[i]>>b[i];

         h[i]=0;

     }

    for(i=1;i<=n;i++){

        if(a[i]>3){

        h[i]+=a[i]-3;

     }

     if(b[i]>0&&b[i]<=4){

        h[i]=0;

       }else if(b[i]>4){

       h[i]+=b[i]-4;

       }

       if(h[i]>0){

      ans++;

      j[i]=1;

      }else{

      j[i]=0;

      }

}

cout<<ans<<endl;

    for(i=1;i<=n;i++){

         cout<<j[i]<<" "<<h[i]<<endl;

     }

return 0;


(此代码因哔哩哔哩压缩排版有所改变)


代码链接:

https://www.luogu.com.cn/paste/buzftdoj

蒟蒻希望大家可以做做啊



关于我在洛谷上出题自己差点不会写这件事...的评论 (共 条)

分享到微博请遵守国家法律