首页 > 编程语言 >猫狗收容所 C++

猫狗收容所 C++

时间:2024-01-17 22:13:24浏览次数:25  
标签:delect int dog C++ else 收容所 pop cat

#include<iostream>
#include<queue>
using namespace std;
void delect(queue<int>* q,int x){
    if(q->empty()) return;
    for(int i=0;i<q->size();i++){
        int t=q->front();
        q->pop();
        if(t!=x) q->push(t);
    }
}

int main(){
    int n;
    cin >> n;
    queue<int> q;
    queue<int> cat;
    queue<int> dog;
    for(int i=0;i<n;i++){
        int x,y;
        cin >> x >>y;
        if(x==1){
            q.push(y);
            if(y>0){
                dog.push(y);
            }else{
                cat.push(y);
            }
        }else if(x==2){
            if(!q.empty()) {
                if(y==0){
                    int t=q.front();
                    q.pop();
                    printf("%d ",t);
                    if(t>0){
                        delect(&dog,t);
                    }else{
                        delect(&cat,t);
                    }
                }else if(y==1){
                    if(!dog.empty()){
                        int t=dog.front();
                        dog.pop();
                        printf("%d ",t);
                        delect(&q,t);
                    }
                }else if(y==-1){
                    if(!cat.empty()){
                        int t=cat.front();
                        cat.pop();
                        printf("%d",t);
                        delect(&q,t);
                    }
                }
            }
        }
    }
    return 0;
}

结果:

标签:delect,int,dog,C++,else,收容所,pop,cat
From: https://www.cnblogs.com/llllmz/p/17971291

相关文章

  • C++开发基础
    软件开发基础2024-01-0820:13星期一博客内容来自相关书籍和网站内容总结,仅供个人参考使用:笔者@东北大学StuBoo使用目录快速转到面试问题汇总、常见算法问题1.C++语言基础1.1C++语言特性概览面向对象编程(OOP):C++支持面向对象编程,包括封装、继承和多态。通过类和对象,可......
  • c++开发面试Q&A
    面试问题Q&A现阶段问题还没有归类,等待更新C++语言基础QC和C++两者优缺点,适合情况C语言特点:优点:简洁、高效、可移植性强、面向过程、底层控制、资源利用高。适用情况:嵌入式系统、操作系统、编译器、硬件驱动开发、对性能要求高的系统。C++语言特点:优点:面向对象、支持......
  • 3254:约瑟夫问题No.2C++
    \这题思路还是挺多的。如果用数学的角度考虑。知道了n,p,m自然就知道下一个要出队的人的编号。然后一个个输出就行了。还可以用循环链表做。还可以用队列。出队在入队。#include<iostream>#include<queue>usingnamespacestd;intmain(){intn,p,m;while(......
  • C++ 面试题
    目录构造函数不能声明为虚函数虚函数表是如何在C++中被初始化的?虚函数表和虚函数指针在内存中的具体存储方式是什么?构造函数不能声明为虚函数在C++中,构造函数不能声明为虚函数。这是因为在执行类的构造函数时,内存中还没有虚表,也就是还没有定义虚指针。因此,构造函数必须始终是非......
  • C++中setw和setfill函数的结合应用
    一、头文件头文件为#include<iomanip>其中io代表输入输出,manip是manipulator(操纵器)的缩写iomanip的作用:主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文件,就像C里面的格式化输出一样。二、setw函数s......
  • KY20 完数与盈数C++
    练习使用向量vector容器。遍历每个数取余就好了。然后记录下来。#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>B;vector<int>C;for(inti=2;i<=60;i++){vector<int>A;intm;......
  • C++ STL标准模板库
    目录简介容器(Containers)迭代器(Iterators)算法(Algorithms)函数对象(FunctionObjects)适配器(Adaptors)分配器(Allocators)std::min_element()简介C++中的STL(标准模板库)可以分为六个部分,分别是容器(Containers)、迭代器(Iterators)、算法(Algorithms)、函数对象(FunctionObjects)、适配器(Adapto......
  • 前缀和求解(c++)
    数组ana1a2...an前缀和Si=a1+a2+...+ai①如何求②作用//一维数组前缀和的计算#include<iostream>usingnamespacestd;constintN=100010;inta[N],s[N];intn,m;intmain(){scanf("%d%d",&n,&m);for(inti=1;i<=n;......
  • C++11稳定性与兼容性机制
    字符串的原始字面量使用样例:R“xxx(rawstring)xxx”其中括号内的即是原始字面量,可以直接表示字符串而不需要做转义,需注意括号前后的xxx字符串会被忽略且必须一样stringstr="D:\hello\world\test.text";//1cout<<str<<endl;stringstr1="D:\\hello\\world\\tes......
  • c++语法
    基本语法C++是一种通用的编程语言,具有面向对象的特性。以下是一些C++的基本语法:注释:在C++中,注释可以使用//表示单行注释,或者使用/**/表示多行注释。cppCopycode/*这是多行注释*/头文件:C++中使用头文件来引入库和声明函数。#include<iostream>//输......