10行代码AC——1016 部分A+B (15分)
生活随笔
收集整理的這篇文章主要介紹了
10行代码AC——1016 部分A+B (15分)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
立志用更少的代碼做更高效的表達
Pat乙級最優化代碼+題解+分析匯總——>傳送門
正整數 A 的“D?A(為 1 位整數)部分”定義為由 A 中所有 D?A 組成的新整數 P?A 。例如:給定 A=3862767,D?A=6,則 A 的“6 部分”P?A是 66,因為 A 中有 2 個 6。
現給定 A、D?A、B、DB,請編寫程序計算 P?A +P?B。
輸入格式:
輸入在一行中依次給出 A、D?A 、B、D?B ,中間以空格分隔,其中 0<A,B<10?10 。
輸出格式:
在一行中輸出 P?A +PB 的值。
輸入樣例 1:
3862767 6 13530293 3
輸出樣例 1:
399
輸入樣例 2:
3862767 1 13530293 8
輸出樣例 2:
0
字符匹配即可。
優化:使用auto遍歷, 避免計算字符串的長度。提高效率
代碼展示
#include<bits/stdc++.h> using namespace std; int main() {string a1, a2; long long b1, b2;cin>>a1>>b1>>a2>>b2;long long b3 = b1, b4 = b2; //存放最終結果 for(auto i : a1) if(i == (char)(b1+'0')) b3=b3*10+b1; for(auto i : a2) if(i == (char)(b2+'0')) b4=b4*10+b2;cout << b3/10+b4/10; return 0; }每日一句
他日若遂凌云志,敢笑黃巢不丈夫。
總結
以上是生活随笔為你收集整理的10行代码AC——1016 部分A+B (15分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 想满分的看这里:1015 德才论 (25
- 下一篇: 14行代码AC——1017 A除以B (