ACM-ICPC 2018 徐州赛区网络预赛 I Characters with Hash(模拟)

https://nanti.jisuanke.com/t/31461

题意

一个hash规则,每个字母映射成一个两位数,求给的字符串最后的编码位数,要求去除最终结果的前导零

分析

按题意模拟就是了

#include <iostream>
#include <stdlib.h>
#include <string>
#include <vector>
using namespace std;
int main(){
    int t,n,i,j,p,q,num;
    char z;
    string s;
    cin>>t;
    vector<int> v;
    for(i=0;i<t;i++){
        cin>>n>>z>>s;
        num=0;
        for(j=0;j<n;j++){
            p=abs((int)z-s[j]);
            if(p>=10){
                q=p/10;
                v.push_back(q);
                num++;
                q=p%10;
                v.push_back(q);
                num++;
            }
            else{
                v.push_back(0);
                num++;
                v.push_back(p);
                num++;
            }
        }
        vector<int>::iterator it=v.begin();
        while(*it==0){
            num--;
            it++;
            if(it==v.end()){
                num=1;
                break;
            }
        }
        cout<<num<<endl;
        v.clear();
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/fht-litost/p/9668010.html