SPOJ 问题 - 这里出了啥问题?
Posted
技术标签:
【中文标题】SPOJ 问题 - 这里出了啥问题?【英文标题】:SPOJ question - WHat is going wrong here?SPOJ 问题 - 这里出了什么问题? 【发布时间】:2011-06-24 16:54:53 【问题描述】:我正在回答这个 spoj 问题: http://www.spoj.pl/problems/JAVAC/
我用 C++ 对提交进行了编码。我把它贴在下面。该提交始终给出错误的答案。我找不到会失败的测试用例。谁能帮帮我?
非常感谢。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
char *ans;
bool iscapital(char c)
if(c >='A' && c <='Z')
return true;
else
return false;
string translate(string current)
ans = new char[2*current.length() + 1];
int jflag = 0, cflag = 0,j = 0, i = 0;
if(iscapital(current[0]))
return "Error!";
while(i < current.length())
if(current[i] !='_')
if(!(current[i] >= 'A' && current[i] <= 'Z'))
ans[j] = current[i];
i++;
j++;
if(current[i] == '_')
if(jflag == 1)
return "Error!";
cflag = 1;
i++;
if(i < current.length())
//convert to capital
if(iscapital(current[i]))
return "Error!";
ans[j] = (char)((int)current[i] - 32);
i++;
j++;
if(iscapital(current[i]))
if(cflag == 1)
return "Error!";
jflag = 1;
ans[j] = '_';
j++;
ans[j] = (char)((int)current[i] + 32);
j++;
i++;
ans[j] = '\0';
string ret = ans;
return ret;
int main()
string current;
while(cin>>current)
cout<<translate(current)<<endl;
return 0;
【问题讨论】:
我通常不会这么详细地告诉人们如何解决问题,但是这个问题的描述确实非常模糊。祝你好运! 【参考方案1】:我没有尝试过(从未使用过 SPOJ),但是否可能存在其他无效格式?例如:
123asd
_asd
asd___a
我现在正在弄乱你的代码,看看我能不能让它工作。祝你好运!
编辑:通过!尝试添加以下内容:
当第一个或最后一个字母为“_
”时检测错误
检测是否有连续的'_
'(例如'a__b
')
检测其他字符(例如,'adq21#
')
这里的三种情况都应该是错误。干杯!
【讨论】:
非常感谢您指出这一点!从问题描述中,我认为这不是要检查的。谢谢!以上是关于SPOJ 问题 - 这里出了啥问题?的主要内容,如果未能解决你的问题,请参考以下文章
Swift4 urlSession Decodable 中的 POST 方法不起作用(这里出了啥问题?)
Express 无法 PUT/DELETE 方法。出了啥问题?