USACO2023-2024赛季圆满落幕!参赛人数再创新高!

随着USACO公开赛最终竞赛成绩的公布,2023-2024赛季USACO正式宣告收官。USACO计算机竞赛在计算机领域享有极高的声誉,相较于其他国家中学生编程竞赛,USACO 拥有广泛的参与度和含金量。一起来看看本赛季的参赛情况吧!

USACO每个赛季共4轮,分别为12月、1月、2月月赛及3月公开赛。每场比赛 4 - 5 个小时。参赛选手按照表现被划分到不同的组别:铜组、银组、金组和铂金组,新手通常从铜组开始。在月赛中取得优异成绩的选手有机会晋升到更高组别。

其中公开赛题目较为困难,表现突出者可直接获取参加 USACO 训练营的机会。

2023-2024赛季数据分析

本赛季的USACO第一场月赛,相较于去年参赛人数显著增长,共14350名选手参赛,同比增长了21.6%。特别是中国大陆地区的选手数量上涨至5763人,与美国仅相差31人。

第二场月赛由于受到了黑客攻击的影响,导致各组别参赛人数出现下滑。与此同时,在本场比赛中,各组别的题目难度并不是绝对的先易后难,这对参赛选手的比赛技巧和心态提出了更高要求。尤其是白金组非中国选手的第一题得分难度显著高于后两题,而金组的题目难度也出现了前难后易的情况。

在第三场月赛中,参赛人数基本回升到正常水平,但白金组满分难度依然呈现增大的趋势,仅有一位来自中国的同学获得满分。而在刚结束的公开赛中,参赛人数相对于去年同期下滑了35%,且各组别的晋级分数线均低于上一场公开赛,赛事难度进一步提高。

最后一场公开赛的参赛人数相对去年有所下跌,但从整体情况来看,选手数量再次创造了历史新高,这表明USACO比赛的吸引力和影响力仍在不断扩大。

尽管USACO的整体难度持续升级,但本赛季各场得金率与去年相比都有所上升,反映出参赛选手整体水平的提高。

USACO得金率

1月 2月 3月 公开赛
2022-2023 9.50% 3.20% 2.50% 5.10%
2023-2024 11.20% 8.70% 11.70% 5.30%

【扫码免费领取】USACO真题+一对一备考规划!

预约最新真题讲座、课程详情可添加下方顾问老师咨询

USACO竞赛成绩被取消!USACO竞赛扣分规定和注意事项你都了解吗?

USACO计算机竞赛对于申请美国顶尖理工科大学的学生来说是一项非常有吸引力的选择。它不仅能够让学生在技术方面有更深入的学习和提升,而且能够在大学申请中给予学生额外的竞争优势。

USACO竞赛扣分规定和注意事项

USACO比赛的难度会随着级别递增。参赛者需要在规定的时间内完成三道题目,常见的反馈结果包括全部通过、部分通过、编译错误、超时、运行错误等。比赛结束后,才能看到测试数据。

1.禁止直接输出答案:

在USACO竞赛中,直接输出答案(即打表)被视为作弊行为。

2.必须注释来源:

参赛者可以利用书籍、网上资源或自己编写的代码来解决问题,但是必须在代码中明确注释来源。

3.独立完成测试:

USACO规定,参赛者必须独立完成测试,不允许任何人提供帮助。

USACO诚信规则

1.所有考生需要独自参加考试,不得在团队环境中考试;

2.禁止使用任何生成AI工具,例如Google Gemini、Copilot或ChatGPT都是被禁止的;

3.美国地区的学生在比赛期间不得使用VPN或相关技术来隐藏IP地址。也就是说,你的IP地址必须是你的学校或家庭互联网服务提供商的;

4.禁止与USACO竞赛总监以外的其他人讨论比赛问题;

5.在比赛进行期间,不得分享任何有关比赛的题目信息或代码;

6.USACO比赛环境旨在模仿国际信息学奥林匹克竞赛的环境,所有代码必须从头开始编写,因此不能使用预编写的代码或“模板”来快速开始编码。同时也不得咨询除有关编程语言基本功能信息(例如语法、库函数、输入/输出等)以外的资源,唯一可以参考的是那些编程语言语法或库函数的资料;

7.不要为了参加多一个组别而使用两个登入编号;不要为了规避比赛时间的限制,而使用另一个登录ID来阅读问题;

8.不要提交任何对评分机器有恶意行为的代码,即不要尝试打开网络连接,故意减慢评分机器等;代码的提交必须通过usaco.org网站上的界面完成,即通过选择你的文件并点击“submit solution”,通过其他手段尝试提交的行为,例如尝试自动化此过程的脚本是不允许的。

9,违反上述任何政策的参与者将被终身禁止参加USACO的所有活动。

总的来说,USACO竞赛对参赛者提出了严格的要求,需要他们独立思考和解决问题,同时遵守竞赛规定和道德准则。通过艰苦的努力和自主的学习,参赛者才能取得优异的成绩并获得竞赛的认可。

扫码免费领取USACO计算机竞赛历年真题+备考教材

USACO竞赛各等级晋级分数线是多少?USACO计算机竞赛备赛应该如何准备?

在当前AI领域迅猛发展的背景下,STEM教育成为了家长们普关注的热话题。许多家长开始鼓励孩子从小学习计算机和编程技能,为他们未来的成长奠定坚实的基础。而对于希望申请美国理工科大学的学生来说,能够在美国计算机奥林匹克竞赛(USACO)中获得重要奖项,无疑将大大增强他们的大学申请竞争力。

USACO竞赛晋级分数线

USACO竞赛满分1000分,每道题分值为333.333分,根据下图的USACO竞赛近几年的晋级分数线可以得出:铜升银的晋级分数线基本是在750银升金的晋级分数线基本是700~750左右金升铂金的晋级分数线则基本稳定在750~800。当然,考试情况不同,晋级分数线也有有所波动。

USACO计算机竞赛学习建议

1.熟悉竞赛规则和评分标准:

仔细阅读USACO计算机竞赛的规则和评分标准,理解比赛的时间安排、题目类型和提交要求,确保对竞赛要求有清晰的认识。

2.学习算法和数据结构:

USACO竞赛题目涉及到各种算法和数据结构,如贪心算法、动态规划、图论等。建议系统地学习这些知识,掌握它们的原理和应用场景。

3.多练习编程语言的运用:

通过解决大量的USACO样题和历年真题来提高编程能力和解题技巧。从简单题目开始,逐渐提高难度,确保对各种类型的问题都有一定的掌握程度。此外,参加其他编程竞赛或项目也有助于提升编程能力。

4.注意时间管理:

USACO竞赛的题目有时会较为挑战性,可能需要花费较长时间来解决。保持耐心和自信,合理安排时间,确保在规定时间内完成题目。练习时要注意时间控制,尽量在规定时间内完成每道题目。

5.参加在线培训课程或讲座:

一些机构提供针对USACO竞赛的在线培训课程或讲座,参加这些课程可以获取专业的指导和建议,加快学习进度。

扫码免费领取USACO计算机竞赛备考资料

金牌导师&精编讲义“强强联手”

扫码咨询USACO长线备考班、冲刺班课程详情,了解课程优惠!

USACO竞赛适合什么类型的学生?USACO备考需要哪些基础?

如今,USACO已经逐渐发展为全球热门的线上赛事,与奥数IMO类似,成为美国大学申请条件中含金量相当高的官方竞赛之一。参加USACO计算机竞赛不仅可以提高学生通过使用计算机编程解决问题的能力,还可以帮助他们在升学和留学申请时具备更具竞争力。许多知名的大学对USACO计算机竞赛非常关注并予以认可。

USACO竞赛适合什么类型的学生?

有留学意向的学生:

对于计划在国外名校攻读学位的学生来说,参加USACO竞赛是一项重要的加分项。在申请过程中,USACO竞赛成绩可以大大提升他们冲击藤校的机会。

想在NOI比赛取得更好成绩的学生:

对于渴望在国内信息学奥赛中取得更好成绩的学生来说,参加USACO竞赛可以充分利用高质量的竞赛资源,不仅能够保持做题手感,还能提升竞技水平,向更多优秀的学员学习,从而在NOI比赛中取得更好的成绩。

对编程算法有兴趣的学生:

对于那些对编程算法有浓厚兴趣,渴望了解自身水平并在编程领域获得更多学习和突破的学生来说,USACO竞赛是一个绝佳的机会。通过参加USACO竞赛,他们可以挑战自我,不断提高编程和算法能力,并与其他优秀的学生交流学习,实现自我提升。

USACO备考需要哪些基础?

1.变量与数据类型:

理解不同数据类型的含义和用法,以及如何声明和使用变量。

2.运算符:

掌握算术(+,-,*,/,%)、比较(==,!=,>,<,>=,<=)和逻辑(&&,||,!)运算符的使用,能够对变量和值进行操作和比较。

3.控制流(条件和循环):

熟悉if-else条件语句和for、while循环语句,能够根据条件做出决策并重复执行代码段。

4.数组:

理解数组的概念,包括声明、初始化和操作数组,以存储和处理多个值。

5.函数:

掌握函数的定义和调用方法,了解如何传递参数和处理返回值,以便构建可重用的代码块。

6.输入/输出(I/O):

熟悉从文件中读取输入数据和将输出写入另一个文件的I/O操作。

7.错误处理:

理解如何处理代码中的各种错误,包括语法错误、运行时错误和逻辑错误。

8.调试:

掌握调试技巧,能够识别和修复代码中的错误,提高编程效率。

除了掌握以上基础知识外,实践和编码也是非常重要的。只有通过不断的实践和编码,才能更好地理解基础理论,并逐步学习和掌握更复杂的算法。

扫码免费领取USACO计算机竞赛历年真题+备考教材

不同水平的学生如何备赛USACO?白金级别含金量有多高?

美国计算机奥林匹克竞赛(USACO)全称USA Computing Olympiad,是由美国官方举办的中学生计算机编程与算法线上比赛,也是备受推崇的中学生计算机编程竞赛。

自1992年首次举办以来,已经有30年的历史。USACO的目标是选拔参加每年夏季举办的国际信息学奥林匹克竞赛(IOI)的美国队队员。

不同水平的学生如何备赛?

初学者:

对于初学者而言,建议从相对容易上手的编程语言开始,如Python和Java。他们可以自学数据结构和编程语法基础,通过适量的练习和教师的指导,有望在初级阶段顺利通过铜级选拔。

具备编程基础:

已经具备编程基础的学生,如正在学习AP计算机课程的高一和高二学生,或者已经接触过Python的学生,可以选择更为复杂的编程语言,如C/C++/Python,着重于深入学习算法知识。他们可以通过大量的算法练习和历年真题的训练来提升自己的能力。

有相关参赛经验:

若学生已经有相关参赛经验,并且具备了数据结构和编程语法基础,那么他们需要系统地学习一些常见的算法,例如排序算法等。同时,需要大量练习官方金、白金级别的真题,以提升解题能力和应试技巧。

白金级别含金量有多高?

白金组是美国计算机奥林匹克竞赛(USACO)的最高等级,下一步就是进入国家集训队。对于申请美本而言,获得国际信息学奥林匹克竞赛(IOI) 金牌就能保证牛剑哈耶普斯麻Offer在手,进入USACO国家集训队就能在申请牛剑哈耶普斯麻时起到非常明显和有效的作用;而进入USACO Platinum Division(白金级),在申请名校如CMU/Georgia Tech/UC Berkeley时同样是很大的加分项。除了申请大学,USACO的成就对于美高申请也有很大助力。

扫码免费领取USACO计算机竞赛备考资料

金牌导师&精编讲义“强强联手”

USACO竞赛晋级路径&要求说明!USACO计算机竞赛含金量高吗?

藤校对于学生的要求非常严格,除了学习成绩优异外,拥有特长和奖项加持也是申请名校的重要因素之一。USACO计算机竞赛在计算机科学领域具有较高的含金量,被广泛认可并受到国内外学校的支持和关注。

USACO竞赛的晋级路径和要求

USACO铜级:

适合初学者入门,考试难度较低。学生应掌握编程基础和程序语言。

USACO银级:

要晋级至银级,考生需要通过铜级考试,并且要了解和掌握基础数据结构和简单的算法,同时提高解决问题的能力。

USACO金级:

通过银级考试后,考生需要具备一定的算法基础,掌握高级数据结构和动态规划等高级算法。

USACO白金级:

考生需要通过金级考试后,才能晋级至白金级。这一级别要求具备很高的编程基础和强大的算法能力,熟练掌握各类高级数据结构,尤其需要注意算法的时间和空间复杂度。

USACO计算机竞赛含金量

1.挑战性问题:

USACO竞赛涉及的问题通常非常有挑战性,需要参赛者具备扎实的算法知识和编程能力。解决这些问题不仅考验着参赛者的智力和技术水平,还需要创造性地思考和解决各种复杂的计算机科学问题。

2.技能提升:

参与USACO计算机竞赛可以帮助学生提高他们的问题解决能力、算法设计和实现技能。通过面对各种不同类型的问题,参赛者可以不断地提升自己的编程技能,并且学会应用各种算法解决实际的计算机科学问题。

3.学术与职业发展:

参与USACO竞赛为学生未来的学术和职业生涯打下坚实的基础。通过竞赛的学习和训练,学生不仅可以提高自己的技术水平,还可以培养解决问题的能力和创新思维,为未来在计算机科学领域的发展奠定良好的基础。

4.国际交流与合作:

USACO竞赛为参赛者提供了与来自世界各地的其他优秀学生交流的机会。这种国际交流不仅可以促进学术交流和合作,还可以拓展参赛者的视野,加深对计算机科学领域的理解和认识。

【扫码免费领取】USACO真题+一对一备考规划!

预约最新真题讲座、课程详情可添加下方顾问老师咨询

2024 年美国公开赛——最终结果

2024 年美国公开赛的比赛以算法编程问题为特色,涵盖了广泛的技术和难度级别。

共有4280名参与者提交了至少一个解决方案。其中2270人来自美国,中国、加拿大、韩国、巴基斯坦、印度、新加坡、台湾、英国、罗马尼亚、香港、德国、埃及和越南的代表性也很高。

总共有 8416 份评分提交,按语言细分如下:

5065 C++17
1247 Python-3.6.9
1114 Java
949 C++11
33 C
8 Python-2.7.17

以下是每场白金、黄金、白银和铜牌比赛的详细结果。 您还可以找到每个问题的解决方案和测试数据,然后单击任何 问题 您可以在“分析模式”下练习重新提交解决方案。

USACO 2024 年 美国公开赛,白金奖

白金组共有461名参与者,其中339名是大学预科生。得分最高的成员的结果在这里。恭喜所有优秀参赛者取得优异成绩!

1 Identity Theft
查看问题 | 测试数据 | 解决方案
2 Splitting Haybales
查看问题 | 测试数据 | 解决方案
3 Activating Robots
查看问题 | 测试数据 | 解决方案

USACO 2024 年美国公开赛,金牌

黄金组共有668名参赛者,其中453名是大学预科生。所有在本次比赛中获得 700 分或以上的参赛者将自动晋升为白金组。所有晋升者的详细结果都在这里

1 Cowreography
查看问题 | 测试数据 | 解决方案
2 Grass Segments
查看问题 | 测试数据 | 解决方案
3 Smaller Averages
查看问题 | 测试数据 | 解决方案

USACO 2024 年美国公开赛,银牌

银牌组共有2661名参赛者,其中2081名是大学预科生。所有在本次比赛中得分为650分或以上的参赛者将自动晋升为黄金组。

1 Bessie's Interview
查看问题 | 测试数据 | 解决方案
2 Painting Fence Posts
查看问题 | 测试数据 | 解决方案
3 The 'Winning' Gene
查看问题 | 测试数据 | 解决方案

USACO 2024 年美国公开赛,铜牌

铜牌组共有3025名参赛者,其中2360名是大学预科生。所有在本次比赛中获得 650 分或以上的参赛者将自动晋升为银牌组。

1 Logical Moos
查看问题 | 测试数据 | 解决方案
2 Walking Along a Fence
查看问题 | 测试数据 | 解决方案
3 Farmer John's Favorite Permutation
查看问题 | 测试数据 | 解决方案

结语

2023-24赛季常规赛赛季已经结束!——感谢所有参赛者,尤其是本赛季每一场比赛的参赛者。

从技术角度来看,美国公开赛进行得相当顺利。比赛中的问题确实相当具有挑战性,导致了相当大的晋升缺口。我们意识到,近年来,我们的比赛难度有所上升;这将是我们在即将到来的训练营中与教练讨论的一个话题,以确保我们的低级别比赛对新手学生来说仍然平易近人。对于那些尚未晋升的人,请记住,你练习得越多,你的算法编码技能就会变得越好——请坚持下去!USACO竞赛旨在挑战即使是最优秀的学生,也需要付出大量的努力才能脱颖而出。为了帮助您修复代码中的任何错误,您现在可以重新提交解决方案,并使用“分析模式”从判断服务器获得反馈。

在整个赛季中,我们在解决问题和编码方面看到了惊人的结果,但我并不高兴看到的事情也出现了惊人的增长:(通常是明目张胆的)学术不诚实案件、对我们基础设施的攻击,以及骚扰竞争对手和USACO员工的事件。USACO工作人员的大量时间都被这些问题所消耗——我更希望这些时间用于我们的学术倡议。我恳请我们社区的每一个人共同努力,在这方面促进更高标准的适当行为。随着我们白金“认证”比赛的趋势,我们可能会在未来几季采取进一步的、可能更具戏剧性的措施来重组我们的比赛,以确保比赛的完整性。接下来还有更多的事情要做。

大量的人为USACO比赛的质量和成功做出了贡献。参与本次比赛的有马崇天、齐、齐、维贾拉姆、苏哈斯·纳加尔、屈、丹尼·米塔尔、梁、阿南德·约翰、斯潘塞·康普顿、顾、张、王、王、钱纪超和陈明辉。也感谢我们的翻译在整个赛季的帮助,帮助扩大我们比赛的范围。最后,我们非常感谢USACO赞助商的慷慨支持:Citadel、Ansatz、X-Camp、TwoSigma、VPlanet Coding、EasyFunCoding、Orijtech和Jump Trading。

我们期待着在2024年美国公开赛上再次见到大家,这是我们本赛季的最后一场比赛。

编码快乐!

-Brian Dean(bcdean@clemson.edu)
克莱姆森大学计算机学院教授兼院长
计算机学院教授兼主任 USACO 主任

USACO2024年公开赛美国计算机奥赛竞赛铜奖组问题三——Farmer John's Favorite Permutation Return to Problem List

Farmer John has a permutation p of length N (2≤N≤105), containing each positive integer from 1 to N exactly once. However, Farmer Nhoj has broken into FJ's barn and disassembled p. To not be too cruel, FN has written some hints that will help FJ reconstruct p. While there is more than one element remaining in p
, FN does the following:

Let the remaining elements of p be p′1,p′2,…,p′n,

If p′1>p′n , he writes down p′2 and removes p′1 from the permutation.
Otherwise, he writes down p′n−1 and removes p′n from the permutation.

At the end, Farmer Nhoj will have written down N−1 integers h1,h2,…,hN−1, in that order. Given h, Farmer John wants to enlist your help to reconstruct the lexicographically minimum p consistent with Farmer Nhoj's hints, or determine that Farmer Nhoj must have made a mistake. Recall that if you are given two permutations p and p′, p is lexicographically smaller than p′ if pi<p′i at the first position i where the two differ.

INPUT FORMAT (input arrives from the terminal / stdin):

Each input consists of T independent test cases (1≤T≤10). Each test case is described as follows:

The first line contains N.

The second line contains N−1 integers h1,h2,…,hN−1 (1≤hiN).

OUTPUT FORMAT (print output to the terminal / stdout):

Output T lines, one for each test case.

If there is a permutation p of 1…N consistent with h, output the lexicographically smallest such p. If no such p exists, output −1.

SAMPLE INPUT:

5
2
1
2
2
4
1 1 1
4
2 1 1
4
3 2 1

SAMPLE OUTPUT:

1 2
-1
-1
3 1 2 4
1 2 3 4

For the fourth test case, if p=[3,1,2,4] then FN will have written down h=[2,1,1].

p' = [3,1,2,4]
p_1' < p_n' -> h_1 = 2
p' = [3,1,2]
p_1' > p_n' -> h_2 = 1
p' = [1,2]
p_1' < p_n' -> h_3 = 1
p' = [1]

Note that the permutation p=[4,2,1,3] would also produce the same h, but [3,1,2,4] is lexiocgraphically smaller.

For the second test case, there is no p consistent with h; both p=[1,2] and p=[2,1] would produce h=[1], not h=[2].

SCORING:

Input 2: N≤8
Inputs 3-6: N≤100
Inputs 7-11: No additional constraints.

Problem credits: Chongtian Ma

扫码领取USACO试题答案+详细解析

咨询一对一备赛规划

USACO竞赛考试网-二维码

USACO2024年公开赛美国计算机奥赛竞赛铜奖组问题二——Walking Along a Fence

Farmer John's N cows (1≤N≤105) each like to take a daily walk around the fence enclosing his pasture.

The fence consists of P posts (4≤P≤2⋅105, P even), the location of each being a different 2D point (x,y) on a map of FJ's farm (0≤x,y≤1000). Each post is connected to the two adjacent posts by fences that are either vertical or horizontal line segments, so the entire fence can be considered a polygon whose sides are parallel to the x or y axes (the last post connects back to the first post, ensuring the fence forms a closed loop that encloses the pasture). The fence polygon is "well-behaved" in that fence segments only potentially overlap at their endpoints, each post aligns with exactly two fence segment endpoints, and every two fence segments that meet at an endpoint are perpendicular.

Each cow has a preferred starting and ending position for her daily walk, each being points somewhere along the fence (possibly at posts, possibly not). Each cow walks along the fence for her daily walks, starting from her starting position and ending at her ending position. There are two routes that the cow could take, given that the fence forms a closed loop. Since cows are somewhat lazy creatures, each cow will walk in the direction around the fence that is shorter (if there is a tie, the cow may choose either direction).

Determine the distance that each cow walks.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line of input contains N and P. Each of the next P lines contains two integers representing the positions of the fence posts in clockwise or counterclockwise order. Each of the next N lines contains four integers  x1y1x2y2 representing the starting position (x1,y1) and ending position (x2,y2) of a cow.

OUTPUT FORMAT (print output to the terminal / stdout):

Write N integers as output, giving the distance that each cow walks.

SAMPLE INPUT:

5 4
0 0
2 0
2 2
0 2
0 0 0 2
0 2 1 0
2 1 0 2
1 0 1 2
1 2 1 0

SAMPLE OUTPUT:

2
3
3
4
4

The first cow can walk directly from (0,0) to (0,2).

The second cow can walk from (0,2) to (0,0) and then to (1,0).

The fourth cow has two possible routes with equal lengths: (1,0)→(0,0)→(0,2)→(1,2) and (1,0)→(2,0)→(2,2)→(1,2).

SCORING:

Inputs 2-6: 0≤x,y≤100 and N≤100
Inputs 7-11: No additional constraints.

Problem credits: Brian Dean

扫码领取USACO试题答案+详细解析

咨询一对一备赛规划

USACO竞赛考试网-二维码

USACO2024年公开赛美国计算机奥赛竞赛铜奖组问题一——Logical Moos

Farmer John has a boolean statement that is N keywords long (1≤N<2⋅105, N odd). Only true or false appear in odd positions, while only and and or appear in even positions.

A phrase of the form x OPERATOR y, where x and y are either true or false, and OPERATOR is and or or, evaluates as follows:

x and y: This evaluates to true if both x and y are true, and false otherwise.
x or y: This evaluates to true if either x or y is true, and false otherwise.

When evaluating the statement, FJ has to take the order of precedence in Moo Language into account. Similar to C++, and takes priority over or. More specifically, to evaluate the statement, repeat the following step until the statement consists of only one keyword.

1.If the statement contains an and, choose any of them and replace the phrase surrounding it with its evaluation.
2.Otherwise, the statement contains an or. Choose any of them and replace the phrase surrounding it with its evaluation.

It may be proven that if multiple phrases can be evaluated during a given step, it does not matter which one is chosen; the statement will always evaluate to the same value.

FJ has Q (1≤Q≤2⋅105 ) queries. In each query, he gives you two integers l and r (1≤lrN, l and r are both odd), and deletes the segment from keyword l to keyword r inclusive. In turn, he wishes to replace the segment he just deleted with just one simple true or false so that the whole statement evaluates to a certain boolean value. Help FJ determine if it's possible!

INPUT FORMAT (input arrives from the terminal / stdin):

The first line contains N and Q.

The next line contains N strings, a valid boolean statement.

The following Q lines contain two integers l and r, and a string true or false, denoting whether he wants the whole statement to evaluate to true or false.

OUTPUT FORMAT (print output to the terminal / stdout):

Output a string of length Q, where the i'th character is Y if the i'th query is possible, otherwise N.

SAMPLE INPUT:

5 7
false and true or true
1 1 false
1 3 true
1 5 false
3 3 true
3 3 false
5 5 false
5 5 true

SAMPLE OUTPUT:

NYYYNYY

Let's analyze the first query:

If we were to replace delete the segment [1,1] and replace it with true, then the whole statement becomes:

true and true or true

We evaluate the and keyword from at position 2 and obtain

true or true

Since we have no and keywords left, we have to evaluate the or keyword. After evaluation, all that is left is

true

It can be shown that if we were to replace the segment with false, the statement will still evaluate to true, so we output N since the statement cannot possibly evaluate to false.

For the second query, we can replace the segment [1,3] with true and the whole statement will evaluate to true, so we output Y.

For the third query, since [1,5] is the whole statement, we can replace it with anything, so we output Y.

SAMPLE INPUT:

13 4
false or true and false and false and true or true and false
1 5 false
3 11 true
3 11 false
13 13 true

SAMPLE OUTPUT:

YNYY

SCORING:

Inputs 3-5: N,Q≤102
Inputs 6-8: N,Q≤103
Inputs 9-26: No additional constraints.

Problem credits: Chongtian Ma

扫码领取USACO试题答案+详细解析

咨询一对一备赛规划

USACO竞赛考试网-二维码