| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
但是我还是WA,还要注意什么情况呢?In Reply To:Do you consider these cases? Posted by:iscxy at 2005-02-07 20:24:27 在考虑到这些情况下,在自己机器上都通过了,但提交就WA。
换了HASH表,只对重复的排序,结果WA。
我用空间换时间的方法,几乎把30000k内存都用上了,好处是自然有序,结果WA。
TLE也好啊,我会去优化。
#define N 10000000
unsigned short dupLow[N]={0};
unsigned char dupHigh[N]={0};
int main()
{
int n,i,j,v;
char c,str[80];
int map[]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9};
cin>>n;
for (i=0;i<n;i++){
cin>>str;
v=0;j=0;
while(c=str[j++]){
if (c=='-') continue; //略过'-'
if (c>='A' && c<='Z') //映射转换
v = v*10 +map[c-'A'];
else
v = v*10 +c-'0';
}
if (dupLow[v]==0xffff) dupHigh[v]++; //进位
dupLow[v]++;
}
bool f=true;
unsigned int dup;
for (i=0;i<N;i++)
dup=dupLow[i]+((unsigned int)dupHigh[i]<<16);
if (dup>1) {
cout<<setfill('0')<<setw(3)<<i/10000;
cout<<'-';
cout<<setw(4)<<i%10000<<' '<<dup<<endl;
f=false;
}
if (f) cout<<"No duplicates."<<endl;
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator