#CSPJQM014. Java vs C++
Java vs C++
题⽬描述(Description)
Java和C++两种语⾔的辩⼿都可以相互争论数⼩时去证明他们的编程语⾔是最好的。⽤Java的⼈将告诉⼈们,他们的程序更加清楚且不容易犯错,⽽⽤C++的⼈会嘲笑他们没有能举出有代表性的实例来证明他们的观点,或者告诉他们Java的程序运⾏速度慢⽽且源代码太⻓。另⼀个问题是,⽤Java和C++的⼈永远⽆法在标识符的命名上取得共识。在Java中,由多个单词组成的标识符的命名规则如下:第⼀个单词是以⼩写字⺟开头,接下来的每⼀个单词以⼤写字⺟开头,分隔符是不允许使⽤的。其他所有的字⺟都是⼩写的。下⾯举出⼀些例⼦:javaIdentifier, longAndMnemonicIdentifier,name,nEERC。 ⽽在C++中,⼈们只⽤⼩写字⺟来命名标识符。他们运⽤下划线“_”来分隔单词。下⾯举出⼀些例⼦: c_identifier,long_and_mnemonic_identifier,name(当只有1个单词时,⽤Java和C++的⼈是统⼀的),n_e_e_r_c。 你需要写⼀个程序来相互翻译Java和C++的程序。当然了,翻译后的标识符必须符合它的命名规则,否则⼈们不会认同你的翻译。 给你⼀个标识符,它可能会是Java或者C++标识符中的⼀种,⽽你需要将其翻译成另⼀种。如果这个标识符既不是Java标识符也不是C++标识符,你的程序需要报告错误。翻译必须符合规范,所以就需要改变字⺟⼤⼩写或者添加、删除下划线。
输⼊格式(Format Input)
输⼊⽂件1⾏,包含⼀个标识符。标识符由⼤⼩写字⺟和下划线组成,⻓度不会超过100。
输出格式(Format Output)
如果输⼊的是Java标识符,输出应该为C++标识符;反之亦然。如果输⼊既不是Java标识符,也不是 C++标识符,则输出“Error!”。
Samples
long_and_mnemonic_identifier
longAndMnemonicIdentifier
限制(Restrictions)
时间限制(Time Limit): 300 ms
内存限制(Memory Limit): 65536 KB