首页 > 其他分享 >偶数拼塔形

偶数拼塔形

时间:2023-11-25 10:34:30浏览次数:20  
标签:int 学生 偶数 时间 当前 time 塔形 结账

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int T;
    cin >> T;

    while (T--) {
        int n;
        cin >> n;

        int l[n], r[n];
        for (int i = 0; i < n; i++) {
            cin >> l[i] >> r[i];
        }

        int time = 0;
        for (int i = 0; i < n; i++) {
            // 如果前面没有人排在当前学生前面,则开始结账
            if (time < l[i]) {
                time = l[i];
            }
            // 如果当前学生的忍耐极限时间超过了当前时间,则开始结账
            if (time <= r[i]) {
                cout << time << " ";
                time++;
            } else {
                cout << "0 ";
            }
        }

        cout << endl;
    }

    return 0;
}

首先,我们读取输入的整数 T,表示有 T 组测试数据。然后,使用 while 循环处理每组测试数据。

在每组测试数据中,我们首先读取整数 n,表示学生的数量。然后,使用两个数组 lr 分别存储每个学生的到达时间和忍耐极限时间。

接下来,使用变量 time 来记录当前时间。我们遍历每个学生,根据题目描述的规则判断他们开始结账的时间。

如果前面没有人排在当前学生前面(即当前时间小于学生的到达时间 l[i]),则开始结账的时间为学生到达时间。

如果当前学生的忍耐极限时间(r[i])大于等于当前时间(time),则开始结账的时间为当前时间,并将 time 加一。

最后,根据题目要求输出每个学生开始结账的时间或者输出 0 表示他们放弃结账。

标签:int,学生,偶数,时间,当前,time,塔形,结账
From: https://www.cnblogs.com/Cherry929/p/17855260.html

相关文章

  • 程序语言基础之正则表达式的字符偶数个配置
    例题展示例题解决其中,*指的是将他前面的字符重复0次或者若干次;例如:b*可以为b,也可以为bb,bbb等;......
  • 嵌套循环(九九乘法表;1-100奇数项和偶数项求和)
    #九九乘法表forminrange(1,10):forninrange(1,m+1):print("{0}*{1}={2}".format(n,m,(n*m)),end="\t")print()#换行 #1-100的总和,奇数项和,偶数项和sum_all=0sum_odd=0sum_even=0foriinrange(1,101):sum_all+=i......
  • 证明反对称矩阵的秩是偶数
    对反对称矩阵消元,如果有非零元素,不妨假设\(a_{1,2}\neq0\)。定义对\((i,j,k)\)使用操作1表示,第\(i\)行\(\timesk\)加到第\(j\)行然后第\(i\)列\(\timesk\)后加到第\(j\)列。注意到操作完仍是反对称矩阵。可以使用操作1把所有第一行第二行,第一列第二列除了......
  • 取模算术运算符-应用1-奇偶数判断
    C语言中判断一个整数是奇数还是偶数,可以使用取模运算符%。不能直接使用两个整数相除来进行计算,因为直接使用两个整数相除,结果只会保留整数,会舍弃掉小数部分。比如使用C语言计算11/2结果为5,但是11是不能被2整除的,计算结果舍弃掉了小数部分。因此需要使用一个数对2取余,对2取余只......
  • 《剑指Offer》-21-调整数组顺序使奇数位于偶数前面
    第一想法是双指针,一个指针用于遍历,一个指针用于标记奇数和偶数的分界,而调整位置则通过交换来实现思路来自于快排代码,分隔指针+交换,也算是双指针? vector<int>exchange(vector<int>&nums){ //一个遍历指针,一个分隔指针,odd指向第一个偶数 intodd=0; for(inti=0;i......
  • Java学习_005 if语句:奇偶数的判定
    需求:任意给出一个整数,使用程序判定该整数是奇数还是偶数,并在控制台输出。1importjava.util.Scanner;23publicclassMain{4publicstaticvoidmain(String[]args){5Scannersc=newScanner(System.in);6System.out.println("please......
  • 顺序打印奇数偶数
    publicclasscode3{privatestaticintcount=0;privatestaticfinalObjectobject=newObject();publicstaticvoidmain(String[]args){newThread(newprinter(),"偶数线程,").start();newThread(newprinter(),&......
  • python列表推导式求0-100之间的偶数
    #列表推导式的应用#定义:使用一种方式,将可迭代对象转换为列表#语法:变量=[表达式for变量in可迭代对象if条件]#案列:使用列表推导式打印出0-100的偶数print([iforiinrange(0,101)ifi%2==0])运行结果:D:\Anaconda\python.exeD:/pythonProject2/0829/test04.......
  • 剑指Offer 21. 调整数组顺序使奇数位于偶数前面
    题目链接:剑指Offer21.调整数组顺序使奇数位于偶数前面题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。解法思路:一、快慢指针法:快指针遍历整个数组,当遇到奇数时,将当前数与慢指针所指的数交换,最终......
  • 输入一组数按照奇数在前偶数在后打印出来
    voidnum_odd_even(intarr[],intsz){ intl=0; intr=sz-1; while(l<r) { while((l<r)&&(arr[l]%2==1)) { l++; } while((l<r)&&(arr[r]%2==0)) { r--; } if(l<r) { inttmp=a......