Cook Steak
题目链接
题目译文:
对于烤牛排,ZJH认为它需要N道烧烤工序,每道工序都在一个温度范围内[li,ri]就一分钟而言,只有在这种情况下,烤牛排才是最好的。
幸运的是,厨房里的设备已经配备了人工智能,可以在最短的时间内快速完成整个过程。该装置的温度每分钟可升高或降低一度。当温度在规定的温度范围内时,牛排将被烤一分钟。然而,现在的问题是,ZJH在改造自动厨房系统时,忘记编写一个计算牛排完成时间的程序,因此要求您将此程序添加到系统中。
给定一个整数N,表示进程数,以及N对数[li,ri],表示每个功能所需的温度范围。设备的初始温度为0。你的程序应该告诉ZJH每烤一块牛排需要多长时间。
误区:最终温度不必要求一定回到 0。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
ll sum=0;
cin>>n;
int now=0;
while(n--){
ll next_l, next_r;
cin>>next_l>>next_r;
if(next_l>now){
sum += (next_l-now+1);
now = next_l;
}
else if(next_r<now){
sum += (now-next_r+1);
now = next_r;
}
else{
sum ++;
}
}
cout<<sum;
if(t!=0) cout<<endl;
}
return 0;
}
总结
这道题难度低,但是为什么我做不出来呢?对题意理解不够准确,给题目画蛇添足,没抓住问题的本质。
希望这篇博客能 警示我认真体会题意!!