關于我在洛谷上出題自己差點不會寫這件事...
自己出的題目,大佬勿噴:
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去寫作業(yè),小Z就會不耐煩,超過的部分就會加入他的不高興值里(unhappy+=c-4)。
此時,小Z找到了你,希望你可以幫他發(fā)消息去提醒她(小Z不敢),順便告訴她當天的不高興值。因為你是小Z的好朋友,所以,你想n天之后再來統(tǒng)計一下是否要提醒(見輸出格式)和當天的不高興值。
輸入格式
輸入共n+1行,先輸入n,為魔鬼訓練的天數(shù)。
再輸入小Z補課的時間和上編程課的時間,分別以空格隔開。
輸出格式
輸出共n+1行,先輸出要提醒的次數(shù)。
后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行,先輸出要提醒的次數(shù)。
所以,這題這題只能另開數(shù)組進行判斷:
#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
蒟蒻希望大家可以做做啊