2022.11.07 PM 03:00 by CBJ
來源 : https://drive.google.com/file/d/1CMnis82zw9hGQHW1pRv3LFXACoUGA90Y/view 出題者 : 108資訊學科能力競賽複賽-彰雲嘉 標籤 : 搜尋 難易度 : 2
解題想法 : 遍歷a(或b),每次判斷是否具有甲特性,若有則更新甲,否則進一步判斷是否具有乙特性(運用搜尋)並更新乙。
//C++ language
//solution link(含註解): https://github.com/CBJ0519/CBJsProgramDiary.com/blob/main/%E8%B3%87%E8%A8%8A%E5%AD%B8%E7%A7%91%E8%83%BD%E5%8A%9B%E7%AB%B6%E8%B3%BD/108%E5%BD%B0%E9%9B%B2%E5%98%89/PD-%E8%A8%88%E7%AE%97%E5%85%A9%E5%AD%97%E4%B8%B2%E7%9A%84%E7%89%B9%E6%80%A7.cpp
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
string a,b;
cin>>a>>b;
vector<char>in_b;
for(char c:b)in_b.push_back(c);
int Jia=0,Yi=0;
for(int i=0;i<a.length();i++){
if(a[i]==b[i]){
Jia++;
continue;
}
auto target=find(in_b.begin(),in_b.end(),a[i]);
if(target!=in_b.end()){
Yi++;
}
}
cout<<Jia<<" "<<Yi<<"\n";
return 0;
}
## Python language
## solution link(含註解): https://github.com/CBJ0519/CBJsProgramDiary.com/blob/main/%E8%B3%87%E8%A8%8A%E5%AD%B8%E7%A7%91%E8%83%BD%E5%8A%9B%E7%AB%B6%E8%B3%BD/108%E5%BD%B0%E9%9B%B2%E5%98%89/PD-%E8%A8%88%E7%AE%97%E5%85%A9%E5%AD%97%E4%B8%B2%E7%9A%84%E7%89%B9%E6%80%A7.py
a,b=input().split()
Jia=Yi=0
for i in range(len(a)):
if a[i]==b[i]:
Jia+=1
continue
target=b.find(a[i])
if target!=-1: Yi+=1
print(Jia,Yi)
發佈留言