From e266e2b2c2ac7a4b7de18475556d784caed06633 Mon Sep 17 00:00:00 2001 From: Lakshita2 <87636008+Lakshita2@users.noreply.github.com> Date: Wed, 19 Oct 2022 19:26:38 +0530 Subject: [PATCH] Create ValidShuffleOrNot.cpp --- ValidShuffleOrNot.cpp | 74 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 ValidShuffleOrNot.cpp diff --git a/ValidShuffleOrNot.cpp b/ValidShuffleOrNot.cpp new file mode 100644 index 0000000..2e32a24 --- /dev/null +++ b/ValidShuffleOrNot.cpp @@ -0,0 +1,74 @@ +#include +using namespace std; + +int main() +{ + string s1, s2, res; + cin >> s1; + cin >> s2; + cin >> res; + int n1 = s1.size(); + int n2 = s2.size(); + int nr = res.size(); + int f1 = 0, f2=0; + if (nr != n1 + n2) + { + cout << "No" << endl; + } + else + { + int i = 0, j = 0, k = 0; + while (k < nr) + { + + if (i < n1 && res[k] == s1[i]) + { + i++; + k++; + } + else if (j < n2 && res[k] == s2[j]) + { + j++; + k++; + } + else + { + f1 = 1; + break; + } + } + } + + if (f1 == 1) + { + int i = 0, j = 0, k = 0; + while (k < nr){ + + if (i < n2 && res[k] == s2[i]) + { + i++; + k++; + } + else if (j < n1 && res[k] == s1[j]) + { + j++; + k++; + } + else + { + f2 = 1; + break; + } + } + } + + if (f1==0 || f2==0) + { + cout << "Yes" << endl; + } + else + { + cout << "No" << endl; + } + return 0; +}