当前位置: 代码迷 >> 综合 >> 1035 甲级 Password (20 分) 题解
  详细解决方案

1035 甲级 Password (20 分) 题解

热度:99   发布时间:2023-12-14 23:20:15.0

这题其实就是一道水题,简而言之,就是字符串的替换,然后再加一点条件判断,比如n的大小和m的大小,其他没啥了

#include<iostream>
#include<vector>
#include<string>
using namespace std;int main()
{int n;cin >> n;vector<string> arr(2*n);for (int i = 0; i < n; i++){cin >> arr[2*i];cin >> arr[2 * i+1];}if (n == 1){cout << "There is 1 account and no account is modified";}else if (n > 1){int count = 0;vector<int> arrIndex;for (int i = 0; i < n; i++){int flag = 0;string str = arr[2 * i + 1];string strNew = "";for (int j = 0; j < str.length(); j++){if (str[j] == '1'){strNew += "@";flag++;continue;}else if (str[j] == '0'){strNew += "%";flag++;continue;}else if (str[j] == 'l'){strNew += "L";flag++;continue;}else if (str[j] == 'O'){strNew += "o";flag++;continue;}strNew += str[j];}if (flag > 0){arrIndex.push_back(i);arr[2 * i + 1] = strNew;count++;}}if (count == 0){cout << "There are " << n << " accounts and no account is modified";}else{cout << count;for (int i = 0; i < count; i++){cout << endl;cout << arr[arrIndex[i] * 2] << " " << arr[arrIndex[i] * 2 + 1];}}}system("pause");
}

 

  相关解决方案