Overcooked!
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

《胡闹厨房》(Overcooked! )是一款合作模拟类游戏系列,在游戏中,玩家扮演厨师在充满各种障碍和危险的厨房里准备食材、烹饪、上菜和清理,需要在尽可能短的时间内完成客人的订单。

仔细规划每个人的行动轨迹!毫无计划的厨房危机四伏,而有效的分工才会让厨房井井有条。小心地图上的掉落陷阱,也要留心烹饪时间不要着火,还有,千万要注意这游戏中最危险的东西——你的队友

今天Dilhao要在胡闹厨房中制作一场盛宴,但其实Dilhao的厨艺很差,他只会把食材混合在一起而已!现在厨房上有n种食材,Dilhao会进行m次操作或村问,每次他会告诉你三个数字opt,x,y,如果opt==1则Dilhao会把第x种食材所在的菜肴与第y种食材所在的菜肴混合在一起,如果opt==2,则Dilhao会把从第x种食材,第x+1种食材....一直到第y种食材所在菜肴全部混合在一起!如果opt==3,则需要你回答Dilhao,第x种食材和第y种食材是否在同一道菜肴里?

输入描述:

第一行输入两个正整数n,m,表示有n种食材,要进行m次操作或询问

接下来m行,每行三个正整数opt,x,y,含义如题目所示

输入数据保证1≤n,m,x,y≤1e6,opt只会输入1,2,3

输出描述:

对于每次询问,输出第x种食材和第y种食材是否在同一道菜肴里,是的话输出YES,否则输出NO

示例1

输入

复制
5 5
1 1 2
3 1 2
2 2 4
3 1 4
3 2 5

输出

复制
YES
YES
NO