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; }