POJ1002 WrongAnswer
在我的电脑里,尝试了多组数据都没有问题,可是传到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;
}