#include <bits/stdc++.h>
using namespace std;
bool Czy_poprawne(string s1, string s2, string res){
int w_pamieci = 0, prawidlowe;
for(int i=s1.size()-1; i>=0; i--){
prawidlowe = (s1[i]-'0')+(s2[i]-'0')+w_pamieci;
w_pamieci = prawidlowe/10;
if(prawidlowe%10 != res[i]-'0')
return false;
}
if(w_pamieci != 0)
return false;
return true;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string l1, l2, res;
cin >> l1 >> l2 >> res;
int n = l1.size(), ile_par = 0;
for(int i=0; i<n; i++){
for(int j=i; j<n; j++)
ile_par += Czy_poprawne(l1.substr(i, j-i+1), l2.substr(i, j-i+1), res.substr(i, j-i+1));
}
cout << ile_par;
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <bits/stdc++.h> using namespace std; bool Czy_poprawne(string s1, string s2, string res){ int w_pamieci = 0, prawidlowe; for(int i=s1.size()-1; i>=0; i--){ prawidlowe = (s1[i]-'0')+(s2[i]-'0')+w_pamieci; w_pamieci = prawidlowe/10; if(prawidlowe%10 != res[i]-'0') return false; } if(w_pamieci != 0) return false; return true; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); string l1, l2, res; cin >> l1 >> l2 >> res; int n = l1.size(), ile_par = 0; for(int i=0; i<n; i++){ for(int j=i; j<n; j++) ile_par += Czy_poprawne(l1.substr(i, j-i+1), l2.substr(i, j-i+1), res.substr(i, j-i+1)); } cout << ile_par; return 0; } |
English