1. 程式人生 > 其它 >PAT甲級1035 Password:[C++題解]字串修改

PAT甲級1035 Password:[C++題解]字串修改

技術標籤:PAT甲級

文章目錄

題目分析

題目重述:
在這裡插入圖片描述
題目分析:

  1. 把需要更改的字母和對應的字母分別存在string中,兩者下標索引要對應。
  2. 採用 vector來儲存< string, string>這樣的pair便於輸出

ac程式碼


#include<bits/stdc++.h>
using namespace std;

string Name,Code;

typedef pair< string ,string> PII;

vector<PII> vec;

int main(){
    int n;
cin>>n; int N=n; int cntM =0; string suffix = "01lO"; string replace="%@Lo"; while(n--){ string name,code; cin>>name>>code; bool flag =true; //沒改過 for(int i=0;i<code.size();i++){ int pos=suffix.
find(code[i]); if(pos!= -1){ code[i]=replace[pos]; flag =false; } } if(!flag) cntM++,vec.push_back({name,code}); } if(cntM){ //有修改過的 cout<< cntM<<endl; for(auto c:vec){ cout<
< c.first<<" "<<c.second<<endl; } }else{ if(N!=1) cout<<"There are "<< N <<" accounts and no account is modified"; else cout<<"There is "<< N<<" account and no account is modified"; } }

題目連結

PAT甲級1035 Password