PAT (Basic Level) Practice 乙级 1016 部分A+B
PAT (Basic Level) Practice 乙级 1016
思路:找到目标数字的每一位数字与之后输入的数相等的数字个数,求出PA ,同理得到PB ,两次求和。
#include <iostream>
#include<vector>
#include<cstdio>
using namespace std;
int main()
{
int a,b,c,d,sum1=0,sum2=0,muti1=1,muti2=1;
cin>>a>>b>>c>>d;
vector<int> v1,v2;
while(a>1)
{
int temp=a%10;
v1.push_back(temp);
a/=10;
}
for(int i=0;i<v1.size();i++)
{
if(v1[i]==b)
{
v1[i]=v1[i]*muti1;
sum1+=v1[i];
muti1*=10;
}
}
while(c>1)
{
int temp=c%10;
v2.push_back(temp);
c/=10;
}
for(int i=0;i<v2.size();i++)
{
if(v2[i]==d)
{
v2[i]=v2[i]*muti2;
sum2+=v2[i];
muti2*=10;
}
}
printf("%d",sum1+sum2);
return 0;
}