POJ1002 WrongAnswer

xinrugujing 2012-05-15 07:01:19
在我的电脑里,尝试了多组数据都没有问题,可是传到POJ以后,就总会给出Wrong Answer,可能有一些特殊情况我疏忽了,但是确实找不到出处。。希望做过的大神指点一下。。
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include<algorithm>
//#include"stdlib.h"
#include "stdio.h"
#include "stdlib.h"

using namespace std;

//string telTemp;
char telTemp[7];

void telFilter(string a)
{
char numTemp;
int k=0;
int l=0;
while(l<a.size())
{//cout<<a[l];
switch(a[l])
{
case '0':
numTemp='0';
telTemp[k]=numTemp;k++;

break;
case '1':
numTemp='1';
telTemp[k]=numTemp;k++;

break;
case '2':
case 'A':
case'B':
case'C':
numTemp='2';telTemp[k]=numTemp;k++;
break;
case'3': case'D': case'E': case'F':
numTemp='3';telTemp[k]=numTemp;k++;
break;
case'4': case'G': case'H': case'I':
numTemp='4';telTemp[k]=numTemp;k++;
break;
case'5': case'J': case'K': case'L':
numTemp='5';telTemp[k]=numTemp;k++;
break;
case'6': case'M': case'N': case'O':
numTemp='6';telTemp[k]=numTemp;k++;
break;
case'7': case'P': case'R': case'S':
numTemp='7';telTemp[k]=numTemp;k++;
break;
case'8': case'T': case'U': case'V':
numTemp='8';telTemp[k]=numTemp;k++;
break;
case'9': case'W': case'X': case'Y':
numTemp='9';telTemp[k]=numTemp;k++;
break;
default:
break;
}
l++;
}
}
int main()
{
int totalNum=0;
//char inputStr[15];
string inputStr;
string str;
vector <string> telNum;
cin>>totalNum;
int repeatNum=1;
bool Flag=false;

for(int i =0; i<totalNum; i++)
{
cin>>inputStr;
telFilter( inputStr);
//for(int w=0; w<7; w++)
//cout<<telTemp[w];
//cout<<endl;
telNum.push_back(telTemp);
}
sort(telNum.begin(), telNum.end());

for(int i=0; i<totalNum-1; i++)
{
if(telNum[i]==telNum[i+1])
{
str=telNum[i];
repeatNum++;
Flag=true;
}
else
{
if(repeatNum>1)
{
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
repeatNum=1;
}
}
}
if(repeatNum>1)
{
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
repeatNum=1;
}

if(!Flag)
{ cout<<"No duplicates."<<endl;

}
return 0;
}
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hen_hao_ji 2012-05-16
  • 打赏
  • 举报
回复
++,真是这个问题,这种多一个空格,不是应该报告PE(格式错误)的吧,怎么报了WA
[Quote=引用 1 楼 的回复:]
以下2行:
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
试修改为:
cout<<……
[/Quote]
  • 打赏
  • 举报
回复
耐心不错
[Quote=引用 1 楼 的回复:]
以下2行:
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
试修改为:
cout<<……
[/Quote]
logiciel 2012-05-16
  • 打赏
  • 举报
回复
以下2行:
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
试修改为:
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;

只有一个空格。
xinrugujing 2012-05-16
  • 打赏
  • 举报
回复
真是这个问题,无语,太厉害了,是怎么找到的???我找了好久,验证了好多组数,原来是这个空格敲错了。那里不是两个空格,而是一个汉字的空格。当时输“”时,不小心切换了汉字输入法,导致了一个汉字空格,只比英语的长一点,要是不对比还看不出来啊。。。问题搞定了,谢谢大神,能发现这么细小的错误真是了不起。。
[Quote=引用 1 楼 的回复:]
以下2行:
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
cout<<str[0]<<str[1]<<str[2]<<"-"<<str[3]<<str[4]<<str[5]<<str[6]<<" "<<repeatNum<<endl;
试修改为:
cout<<……
[/Quote]

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧