Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

贴代码

Posted by oscar200101 at 2014-06-18 10:46:20 on Problem 1051
Source Code

Problem: 1051  User: oscar200101 
Memory: 384K  Time: 16MS 
Language: C++  Result: Accepted 

Source Code 
#include<iostream>
#include<map>
#include<string>
#include<algorithm>
using namespace std;
map<char,string> a;
string in[1001],pa[1001],nm[1001],out[1001];
int main()
{
/*呵呵*/    a.insert(pair<char,string>('A',".-"));a.insert(pair<char,string>('B',"-..."));a.insert(pair<char,string>('C',"-.-."));a.insert(pair<char,string>('D',"-.."));a.insert(pair<char,string>('E',"."));a.insert(pair<char,string>('F',"..-."));a.insert(pair<char,string>('G',"--."));a.insert(pair<char,string>('H',"...."));a.insert(pair<char,string>('I',".."));a.insert(pair<char,string>('J',".---"));a.insert(pair<char,string>('K',"-.-"));a.insert(pair<char,string>('L',".-.."));a.insert(pair<char,string>('M',"--"));a.insert(pair<char,string>('N',"-."));a.insert(pair<char,string>('O',"---"));a.insert(pair<char,string>('P',".--."));a.insert(pair<char,string>('Q',"--.-"));a.insert(pair<char,string>('R',".-."));a.insert(pair<char,string>('S',"..."));a.insert(pair<char,string>('T',"-"));a.insert(pair<char,string>('U',"..-"));a.insert(pair<char,string>('V',"...-"));a.insert(pair<char,string>('W',".--"));a.insert(pair<char,string>('X',"-..-"));a.insert(pair<char,string>('Y',"-.--"));a.insert(pair<char,string>('Z',"--.."));a.insert(pair<char,string>('_',"..--"));a.insert(pair<char,string>(',',".-.-"));a.insert(pair<char,string>('.',"---."));a.insert(pair<char,string>('?',"----"));
    int n;
    cin>>n;
    for(int k=1;k<=n;k++)
    {
    
    cin>>in[k];
    for(int i=0;i<in[k].length();i++)
    {
        pa[k]+=a[in[k][i]];
        nm[k]+=(a[in[k][i]]).length()+'0';
    }
    reverse(nm[k].begin(),nm[k].end());
    int tmp=0;
    for(int i=0;i<in[k].length();i++)
    {
        string t;
        t.reserve(4);
        for(int j=0;j<nm[k][i]-'0';j++)t+=pa[k][j+tmp];
        tmp+=nm[k][i]-'0';
        for(char i='A';i<='Z';i++)
        {
            if(a[i]==t)
            {
                out[k]+=i;
                break;
            }
        }
        if(a['_']==t)out[k]+='_';
        if(a['?']==t)out[k]+='?';
        if(a['.']==t)out[k]+='.';
        if(a[',']==t)out[k]+=',';
    }
    }
    for(int k=1;k<=n;k++)
    {
        cout<<k<<": ";
        if(k!=n)
            cout<<out[k]<<endl;
        else
            cout<<out[k];
    }
    return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator