poj 1002 模拟

来源:互联网 发布:php的配置文件在哪里 编辑:程序博客网 时间:2024/06/13 23:20

题目:
http://poj.org/problem?id=1002

这题……

好吧……

额……

WA了三四十遍……

总结:
1.看清楚题意……;
2.注意输出有无句号,叹号等符号……;

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int MAXN=11000001;int n,tot,num,h;char s[1001];int a[200001],cnt[MAXN];int biao[]={2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,0,7,7,8,8,8,9,9,9,0};bool flag=0;void solve(){    cin>>n;    for(int i=1;i<=n;i++)    {        num=0,h=1;        scanf("%s",s+1);        for(int j=1;j<=strlen(s+1);j++)        {            if(s[j]=='-') continue;            if(s[j]>='0' && s[j]<='9')                num=num*10+s[j]-'0';            else if(s[j]<'Z' && s[j]>='A' && s[j]!='Q')                num=num*10+biao[s[j]-'A'];            if(s[j]=='Z' || s[j]=='Q') h=0;        }        if(h)        {            if(!cnt[num]) a[++tot]=num;            cnt[num]++;        }    }    sort(a+1,a+tot+1);    for(int i=1;i<=tot;i++)    {        if(cnt[a[i]]>=2)        printf("%03d-%04d %d\n",a[i]/10000,a[i]%10000,cnt[a[i]]),flag=1;//可能有前导0;    }    if(!flag) printf("No duplicates.\n");//有句号!!!!!    return; }int main(){    solve();    return 0;}
原创粉丝点击