Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <set>
- #include <string>
- using namespace std;
- bool cmp(string &a, string &b) {
- if (a.size() == b.size()) {
- for (int i = 0; i < a.size(); i++) {
- if (a[i] < b[i]) {
- return true;
- }
- else {
- return false;
- }
- }
- }
- return a.size() < b.size();
- }
- string sum( string a, string b) {
- while (a.size() != b.size()) {
- if (a.size() < b.size()) {
- a = '0' + a;
- }
- else {
- b = '0' + b;
- }
- }
- /* cout << a << " " << b << "\n";*/
- string ans = "";
- for (int i = 0; i < a.size(); i++) {
- int l1 = a[i] - '0';
- int l2 = b[i] - '0';
- int l3 = l1 + l2;
- if (l3 / 10 == 1) {
- ans += char(l3 / 10 + '0');
- }
- ans += char(l3 % 10 + '0');
- }
- return ans;
- }
- int main() {
- set < string> slov;
- string a, b, c;
- cin >> a >> b >> c;
- string s1, s2, s3;
- s1 = sum(a, sum(b, c));
- slov.insert(s1);
- s2 = sum(a, sum(c, b));
- slov.insert(s2);
- s3 = sum(b, sum(c, a));
- slov.insert(s3);
- vector <string> ansver;
- if (slov.size() == 1) {
- cout << "NO" << "\n";
- for (auto ci : slov) {
- ansver.push_back(ci);
- }
- cout << ansver[0];
- }
- else {
- cout << "YES" << "\n";
- for (auto ci : slov) {
- ansver.push_back(ci);
- }
- sort(ansver.begin(), ansver.end(), cmp);
- for (int i = 0; i < ansver.size(); i++) {
- cout << ansver[i] << "\n";
- }
- }
- // system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement