问题1826--伟大先知的教导

1826: 伟大先知的教导

时间限制: 1 Sec  内存限制: 128 MB
提交: 156  解决: 0
[状态] [讨论版] [提交] [命题人:]
题目描述

编写一个c/c++程序的过程大致如下:

1. 在文本编辑器中编辑(edit)代码,得到.c/.cpp的源文件

2. 将上步得到的文件通过编译器编译(compile)获得源代码,之后与所需的库代码链接(link)起来得到.exe的可执行文件

3. 运行(run)上步得到的可执行文件,查看运行结果

4. 如果运行过程中出现错误或未知中断,可能需要用调试器进行调试(debug),直到获得正确结果

 

那么现在我们来考虑在Windows或者Linunx环境下的情况,每一步我们可以选用不同的软件来完成任务。比较知名的文本编辑器有Vim(编辑器之神)、Emacs(神之编辑器)、sublime text 2/3(史上最优雅的编辑器)、Geany(我编不下去)等等,编译器和调试器可以选用MinGW中集成的gccg++gdb。当然,也可以采用集成开发环境(IDE,Integrated Development Environment)进行编程,比如Code::BlocksVisual Studio 2013/2015Dev-Cpp等等。

看完上面资料之后,我们可以发现在ACM这种分秒必争的激烈比赛中,采用IDE是一种高速且有效的编程方式。所以,伟大的先知(也是编程鬼才)Zhourist曾经教导过我们“等他们配置好Vim,我早就用Code::Blocks抢到一血了!!!”

 

不幸地是,某些比赛中主办方可能不会提供IDE(众所周知大部分IDE属于商业软件)。我们也可以采用Vim(因为VimLinux中的标配)和MinGW来编写程序。讲了那么多,我们又发现在一个新的环境中,快速寻找到合适的编程软件是多么重要。接下来的问题是如何查看一台电脑的桌面中有没有Code::BlocksVim。并按Output中的描述输出结果

输入

输入第一行为一个数字n,n代表测试数据组数(n<=50)。

之后每组测试数据第一行为一个数字m,m代表桌面中图标的行数(m<=10)。

接下来每一行为一串字符,代表桌面对应行图标,且长度小于1000。字符串中包含一些英文单词,每一个单词代表桌面中的一个软件名(不含扩展名),每一个单词中间用空格隔开,且长度小于50

每一组测试数据代表一台电脑的桌面,你的任务是寻找这个桌面中有没有Code::BlocksVim(严格区分大小写,符号为半角符号),并按要求输出结果。

输出

对于每组数据,按下面描述输出结果。

如果可以找到Code::BlocksVim,请输出“I can find Code::Blocks and Vim!!!”(不包含引号,下同)。

如果只能找到Code::Blocks,请输出“I can find Code::Blocks!!”。

如果只能找到Vim,请输出“I can find Vim!”。

否则,请输出“Are you kidding me?

每两组数据中输出一个空行,没有多余空行。

样例输入 Copy
4
1
Code::Blocks Vim
2
Code::Blocks
vim QQ
1
Vim
1
QQ hearthstone
样例输出 Copy
I can find Code::Blocks and Vim!!!

I can find Code::Blocks!!

I can find Vim!

Are you kidding me?
来源/分类