Section 1.2 Milking Cows

    xiaoxiao2025-06-03  47

    做的第一个模拟时间轴的问题,关键在于search部分的对于t1,t2的不断变化。 也通过这一题学习了algorithm中的sort函数使用。

    /* ID: alexyua2 PROG: milk2 LANG: C++ */ #include<fstream> #include<algorithm> #include<vector> using namespace std; ifstream fin("milk2.in"); ofstream fout("milk2.out"); //ifstream fin("in.txt"); //ofstream fout("out.txt"); struct code { int begin_time; int end_time; }; bool cmp(const code,const code); int main() { //input and sort int N; fin>>N; vector<code> time; code temp; int i; for(i=0;i<N;i++) { fin>>temp.begin_time >>temp.end_time; time.push_back(temp); } sort(time.begin(),time.end(),cmp); //search int t1,t2; int result1=0,result2=0; t1 = time[0].begin_time; t2 = time[0].end_time; for(i=0;i<N;i++) { if(t2 >= time[i].begin_time) { t2 = max(t2,time[i].end_time); result1 = max(t2 - t1,result1); } else { t1 = time[i].begin_time; result2 = max(result2,t1 - t2); t2 = time[i].end_time; } } //output fout<<result1 <<' ' <<result2 <<endl; //close files fin.close(); fout.close(); return 0; } bool cmp(const code a,const code b) { if(a.begin_time != b.begin_time) return a.begin_time < b.begin_time; else return a.end_time < b.end_time; }
    转载请注明原文地址: https://ju.6miu.com/read-1299547.html
    最新回复(0)